From: "Saved by Windows Internet Explorer 8"
Subject: University Senate | SDSU
Date: Tue, 8 Feb 2011 10:03:34 -0800
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CBC777.722B7F40"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/universitysenate/index.aspx

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD =
id=3DdpgMyPage_Head1><TITLE>University Senate | SDSU</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<META content=3Dtext/css http-equiv=3DContent-Style-Type>
<META content=3Dtext/javascript http-equiv=3DContent-Script-Type><LINK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://newscenter.sdsu.edu/include/general_layout.css"=20
media=3D"screen, print"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://newscenter.sdsu.edu/include/module_layouts.css"=20
media=3D"screen, print"><LINK id=3DdpgMyPage_rssFeedLink title=3DRSS =
rel=3Dalternate=20
type=3Dapplication/rss+xml href=3D"../rss.ashx?deptid=3D96">
<SCRIPT type=3Dtext/javascript>/*!LOAD!*/=0A=
	    function AddOnLoadEvent(func) {=0A=
		    var oldonload =3D window.onload;=0A=
		    if (typeof window.onload !=3D 'function') {=0A=
			    window.onload =3D func;=0A=
		    } else {=0A=
			    window.onload =3D function() {=0A=
				    if (oldonload) {=0A=
					    oldonload();=0A=
				    }=0A=
				    func();=0A=
			    }=0A=
		    }=0A=
	    }=0A=
    </SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://newscenter.sdsu.edu/scripts/jquery/jquery-1.2.6.min.js">/*!=
LOAD!*/</SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://newscenter.sdsu.edu/include/campanile_foundation_general_l=
ayout.css"=20
media=3D"screen, print"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://newscenter.sdsu.edu/include/campanile_foundation_homepage_=
layout.css"=20
media=3D"screen, print"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://newscenter.sdsu.edu/universitysenate/css/universitysenate_=
custom.css"=20
media=3D"screen, print">
<META name=3DGENERATOR content=3D"MSHTML 8.00.7600.16700"></HEAD>
<BODY class=3Dtcf_homepage>
<DIV style=3D"POSITION: absolute; WIDTH: 0px; HEIGHT: 0px; TOP: 0px; =
LEFT: 0px"><A=20
name=3Dtop></A><A accessKey=3Dh=20
href=3D"http://newscenter.sdsu.edu/universitysenate/index.aspx#header"><I=
MG=20
alt=3D"Skip to header." =
src=3D"http://newscenter.sdsu.edu/include/images/trans.gif"=20
width=3D1 height=3D1></A> <A accessKey=3Dc=20
href=3D"http://newscenter.sdsu.edu/universitysenate/index.aspx#content"><=
IMG=20
alt=3D"Skip to content." =
src=3D"http://newscenter.sdsu.edu/include/images/trans.gif"=20
width=3D1 height=3D1></A> <A accessKey=3Dr=20
href=3D"http://newscenter.sdsu.edu/universitysenate/index.aspx#right_pane=
l"><IMG=20
alt=3D"Skip to right panel."=20
src=3D"http://newscenter.sdsu.edu/include/images/trans.gif" width=3D1 =
height=3D1></A>=20
<A accessKey=3Df=20
href=3D"http://newscenter.sdsu.edu/universitysenate/index.aspx#footer"><I=
MG=20
alt=3D"Skip to footer." =
src=3D"http://newscenter.sdsu.edu/include/images/trans.gif"=20
width=3D1 height=3D1></A> </DIV>
<FORM id=3DaspnetForm method=3Dpost name=3DaspnetForm =
action=3Dindex.aspx>
<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/wEPDwUKMTY0OTg1MDU4OA9kFgJmD2QWDGYPZBYCAgUPFgIeBGhyZWYFFH4vcnNzL=
mFzaHg/ZGVwdGlkPTk2ZAIBDxYCHgdWaXNpYmxlZ2QCAg8WAh8BZ2QCBQ8WAh8BZ2QCBg8WAh=
8BZ2QCBw9kFgQCAw9kFgYCAQ9kFgRmD2QWCAIBDw8WBh4JQmFja0NvbG9yCRYGd/8eBF8hU0I=
CCB8BZ2RkAgMPDxYEHgtOYXZpZ2F0ZVVybAUTaHR0cDovL3d3dy5zZHN1LmVkdR4HRW5hYmxl=
ZGdkFgJmDw8WBh4NQWx0ZXJuYXRlVGV4dAUgVW5pdmVyc2l0eSBTZW5hdGUgLSBMaW5rIHRvI=
FNEU1UeCEltYWdlVXJsBTV+L3VuaXZlcnNpdHlzZW5hdGUvaGVhZGVycy90b3AvYmFubmVyLX=
BsYWNlaG9sZGVyLmpwZx8BZ2RkAgQPDxYCHgRUZXh0BRpUdWVzZGF5LCBGZWJydWFyeSAwOCw=
gMjAxMWRkAgUPDxYGHgxCYWNrSW1hZ2VVcmwFJn4vaW5jbHVkZS9pbWFnZXMvYmdfSGVhZGVy=
TGlua3NUQ0YuZ2lmHwMCgIAEHwFnZGQCAQ9kFgJmD2QWBAIBDw8WAh8IBQpTZWFyY2ggVENGZ=
GQCBQ8PFgIfBwUtL2luY2x1ZGUvaW1hZ2VzL25ld3MvYnRuX3NlYXJjaF9hcnJvd19uZXcuZ2=
lmZGQCAw9kFgJmD2QWBAIBDw8WAh8BZ2RkAgUPDxYCHwFnZBYMAgIPZBYCZg9kFgICAQ9kFgJ=
mDw8WBB8GBRZidXR0b24gZm9yIFBvbGljeSBGaWxlHwcFRH4vdW5pdmVyc2l0eXNlbmF0ZS9p=
bWFnZXMvbWluaWZyZWV0ZXh0aW1hZ2VzLzAwMDYzLWJ1dHRvbi1wb2xpY3kuanBnZGQCBQ9kF=
gJmD2QWAgIBD2QWAmYPDxYEHwYFL2J1dHRvbiBmb3IgVW5pdmVyc2l0eSBTZW5hdGUgQWdlbm=
RhIGFuZCBNaW51dGVzHwcFQ34vdW5pdmVyc2l0eXNlbmF0ZS9pbWFnZXMvbWluaWZyZWV0ZXh=
0aW1hZ2VzLzAwMDY1LWJ1dHRvbi1nYXZlbC5qcGdkZAIID2QWAmYPZBYCAgEPZBYCZg8PFgQf=
BgUlQnV0dG9uIGZvciBTZW5hdGUgRXhlY3V0aXZlIENvbW1pdHRlZR8HBUR+L3VuaXZlcnNpd=
HlzZW5hdGUvaW1hZ2VzL21pbmlmcmVldGV4dGltYWdlcy8wMDA2Ni1idXR0b24tcG9saWN5Lm=
pwZ2RkAgsPZBYCZg9kFgICAQ9kFgJmDw8WBB8GBSdidXR0b24gZm9yIFVuaXZlcnNpdHkgU2V=
uYXRlIGNvbW1pdHRlZXMfBwVHfi91bml2ZXJzaXR5c2VuYXRlL2ltYWdlcy9taW5pZnJlZXRl=
eHRpbWFnZXMvMDAwNzEtYnV0dG9uLWNvbW1pdHRlZS5qcGdkZAIOD2QWAmYPZBYCAgEPZBYCZ=
g8PFgQfBgUIY2FsZW5kYXIfBwVMfi91bml2ZXJzaXR5c2VuYXRlL2ltYWdlcy9taW5pZnJlZX=
RleHRpbWFnZXMvMDAwNzItMDAwNzItYnV0dG9uLWNhbGVuZGFyLmpwZ2RkAhEPZBYCZg9kFgI=
CAQ9kFgJmDw8WBB8GBRFBY2FkZW1pYyBDYWxlbmRhch8HBUx+L3VuaXZlcnNpdHlzZW5hdGUv=
aW1hZ2VzL21pbmlmcmVldGV4dGltYWdlcy8wMDA5MC0wMDA3Mi1idXR0b24tY2FsZW5kYXIua=
nBnZGQCBQ8PFgIfAWdkFgJmD2QWBAICDw8WAh8BZ2RkAgMPDxYCHwFnZGQCBw8WAh8IZWQYAQ=
UeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFGWRwZ015UGFnZSRjdGwwNSRidG5=
TZWFyY2glQ2u5dMNMOELjhZBEjcKtIOuEtQ=3D=3D=20
type=3Dhidden name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var theForm =3D document.forms['aspnetForm'];
if (!theForm) {
    theForm =3D document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://newscenter.sdsu.edu/WebResource.axd?d=3D_F5R5n9uloySRlGKD5F=
_R4VwsZz28ahNwY8_9PflzI3Q4twu4Q6VnHUWgMe4qUCOPdcccXdSSCHSEsoluBAXjbcpLT01=
&amp;t=3D634221037391461589"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://newscenter.sdsu.edu/ScriptResource.axd?d=3DeaGbgVK8a7COlZKI=
UyqEY5pl48cydu6U9NVEoVmJ4bm1OyIhJuUOE6EGDPWDJSbbpI8_XIgrDnuEhr26H2-5IWrFP=
f9ubwX5_uXPUdJq06J8WhxZYRjrezP6tuwX9uCW8WavbeF5Oi1NWe4RTRmL_Y7AqfJt9JpJ_g=
R9QkExrtAFwgkQ0&amp;t=3D198be02b"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
if (typeof(Sys) =3D=3D=3D 'undefined') throw new Error('ASP.NET Ajax =
client-side framework failed to load.');
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://newscenter.sdsu.edu/ScriptResource.axd?d=3DzoH5EQFAdEZuphns=
53RVR0ZScupR27Ju1LTYC3qRjs_tV41OnrWQ7NBiWNWTu5tP5pqX73lCm4eh35Mze_tBUMYVJ=
-ASpEZOMfgBS8erOLwf0ozQheBMNJoSOHb1S6qz-LJctjWiwQtdTM24udrLWwWjBkz0_Xpwu5=
hWhd4qtOZGc5VHrHAdltScf3PwNMuJ-YuiBQ2&amp;t=3D198be02b"></SCRIPT>

<DIV><INPUT id=3D__EVENTVALIDATION=20
value=3D/wEWAwLIjrGoAQLDibPRDwLQ8sK0CA/2qoTB818/FwxlrJ/NQrL0O74w =
type=3Dhidden=20
name=3D__EVENTVALIDATION> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('dpgMyPage$myScriptManager', =
document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], =
[], 90);
//]]>
</SCRIPT>

<DIV id=3DdpgMyPage_pnlMaster class=3Dmaster><!-- Master Header -->
<DIV id=3DdpgMyPage_pnlHeader class=3D"master_header wrapper">
<DIV id=3DdpgMyPage_pnlHeaderInner class=3Dinner><A name=3Dheader></A>
<DIV style=3D"BACKGROUND-COLOR: #770616" =
id=3DdpgMyPage_pnlHeaderColorStripeTop=20
class=3Dmaster_header_color_stripe_top></DIV><A =
id=3DdpgMyPage_lnkHeaderImage=20
class=3Dheader_image href=3D"http://www.sdsu.edu/"><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_imgHeaderImage class=3Dmaster_header_image_main=20
alt=3D"University Senate - Link to SDSU"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/headers/top/banner-pla=
ceholder.jpg"></A>
<DIV style=3D"BACKGROUND-IMAGE: =
url(../include/images/bg_HeaderLinksTCF.gif)"=20
id=3DdpgMyPage_pnlHeaderLinks class=3Dmaster_header_links><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/index.aspx">Home</A><=
SPAN=20
class=3Dmaster_header_links_divider>|</SPAN><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/about.aspx">About</A>=
<SPAN=20
class=3Dmaster_header_links_divider>|</SPAN><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/roster.aspx">Rosters<=
/A><SPAN=20
class=3Dmaster_header_links_divider>|</SPAN><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/resources.aspx">Resou=
rces</A>=20
</DIV></DIV>
<SCRIPT type=3Dtext/javascript>=0A=
        var searchText =3D "search";=0A=
=0A=
        $(document).ready(function() {=0A=
            var textBox =3D $("#dpgMyPage_ctl05_txtSearch");=0A=
=0A=
            textBox.attr('value', searchText);=0A=
            textBox.click(function() {=0A=
                var txt =3D $("#dpgMyPage_ctl05_txtSearch");=0A=
=0A=
                if (txt.attr("value") =3D=3D searchText) {=0A=
                    txt.attr("value", "");=0A=
                }=0A=
            });=0A=
            textBox.blur(function() {=0A=
                var txt =3D $("#dpgMyPage_ctl05_txtSearch");=0A=
=0A=
                if (txt.attr("value") =3D=3D "") {=0A=
                    txt.attr("value", searchText);=0A=
                }=0A=
            });=0A=
        });=0A=
    </SCRIPT>

<DIV id=3DdpgMyPage_ctl05_pnlSearch class=3Dsearch=20
onkeypress=3D"javascript:return WebForm_FireDefaultButton(event, =
'dpgMyPage_ctl05_btnSearch')"><INPUT=20
id=3DdpgMyPage_ctl05_txtSearch class=3Dsearch_textbox alt=3D"Search Box" =
type=3Dtext=20
name=3DdpgMyPage$ctl05$txtSearch> <INPUT=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl05_btnSearch class=3Dsearch_button alt=3DSearch=20
src=3D"http://newscenter.sdsu.edu/include/images/news/btn_search_arrow_ne=
w.gif"=20
type=3Dimage name=3DdpgMyPage$ctl05$btnSearch> </DIV></DIV><!-- Master =
Content Content -->
<DIV id=3DdpgMyPage_pnlContent class=3D"master_content wrapper">
<DIV id=3DdpgMyPage_pnlContentLeftInner class=3D"master_content_inner =
inner"><!-- Master Content Center -->
<DIV id=3DdpgMyPage_pnlContentCenter class=3Dmaster_content_center><A=20
class=3Dempty_anchor name=3Dcontent></A><SPAN =
id=3DdpgMyPage_lblNotifications=20
class=3Dmaster_content_notifications></SPAN>
<DIV id=3DdpgMyPage_pnlContentCenterContent =
class=3Dmaster_content_center_content><A=20
name=3D960></A>
<DIV id=3DdpgMyPage_ctl11_pnlFreeTextModule=20
class=3D"module free_text_module module_first">
<DIV id=3DdpgMyPage_ctl11_pnlFTMContent><IMG title=3Dmain-bw.jpg =
border=3D0=20
alt=3D"Hepner Hall"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/main-bw.jpg" =
width=3D545=20
height=3D335> </DIV></DIV><A name=3D1203></A>
<DIV id=3DdpgMyPage_ctl13_pnlFreeTextModule class=3D"module =
free_text_module">
<DIV id=3DdpgMyPage_ctl13_pnlFTMContent>
<P align=3Dcenter><FONT face=3D"times new roman,times"><STRONG><FONT =
size=3D5>SENATE=20
NEWS AND ANNOUNCEMENTS </FONT></STRONG></FONT></P><BR>
<P><FONT size=3D4><FONT face=3D"times new roman,times"><STRONG>Next =
Senate=20
Meeting:</STRONG></FONT></FONT></P>
<P><FONT size=3D3 face=3D"times new roman,times">March 1, =
2011<BR></FONT></P>
<P><FONT size=3D3 face=3D"times new roman,times">2:00pm </FONT></P>
<P><FONT style=3D"BACKGROUND-COLOR: #ffffff" color=3D#ff0000 size=3D3=20
face=3D"times new roman,times"><FONT color=3D#000000>Location: AL=20
101</FONT></FONT></P>
<P>&nbsp;</P>
<P><STRONG><FONT size=3D4 face=3D"times new roman,times">Senate =
Distinguished=20
Professor</FONT><FONT size=3D4=20
face=3D"times new roman,times">&nbsp;</FONT></STRONG></P>
<P><A =
href=3D"http://newscenter.sdsu.edu/universitysenate/images/timeline2011.p=
df"=20
target=3D_blank><FONT size=3D2 face=3D"times new =
roman,times">Timeline</FONT></A></P>
<P><A =
href=3D"http://newscenter.sdsu.edu/universitysenate/images/nomform2011.pd=
f"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times">Nomination =

Form</FONT></A></P>
<P><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/pfcriteria2011=
.pdf"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times">Procedure =
and Criteria=20
for Nomination </FONT></A></P>
<P>&nbsp;</P>
<P><FONT size=3D4><STRONG><FONT face=3D"times new roman,times">January=20
SEC</FONT></STRONG></FONT></P>
<P><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/11_2010_retent=
ion_and_graduation.pdf"=20
target=3D_blank>Undergraduate Council Information Report</A></P>
<P>Please view the January SEC minutes to obtain the first part of this =
report.=20
</P>
<P>&nbsp;</P>
<P><FONT size=3D4><STRONG><FONT face=3D"times new roman,times">November =
SEC=20
Reports</FONT></STRONG></FONT></P>
<P><FONT size=3D2 face=3D"times new roman,times"><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/12emtffall_201=
0_first-time_freshman_enrollees_10-27-10.pdf"=20
target=3D_blank>Enrollment Management Task Force </A></FONT></P>
<P><FONT size=3D2 face=3D"times new roman,times">Please view the =
November SEC=20
minutes to obtain the first part of this report. </FONT></P>
<P><FONT size=3D2 face=3D"times new roman,times">Faculty =
Affairs</FONT></P>
<P>&nbsp;<A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/13lef_0.pdf"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times"> Periodic =
Evaluation=20
Form Instructions </FONT></A></P>
<P>&nbsp; <A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/13lef_1.pdf"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times">Peer =
Review Evaluation=20
Form </FONT></A></P>
<P><FONT size=3D2 face=3D"times new roman,times">Undergraduate =
Curriculum=20
Committee</FONT></P>
<P><FONT size=3D2 face=3D"times new roman,times">&nbsp;<A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/19ucc4i_12_10.=
pdf"=20
target=3D_blank><U> </U>Information Item #2: </A></FONT></P>
<P>&nbsp;</P>
<P><FONT size=3D4><FONT face=3D"times new roman,times"><STRONG>October =
Senate=20
Reports</STRONG></FONT></FONT></P>
<P><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/scholars_at_ri=
sk.pdf"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times">Freedom of =

Expression/Scholars at Risk&nbsp;</FONT></A></P>
<P><A =
href=3D"http://newscenter.sdsu.edu/universitysenate/images/cfaweb.pdf"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times">California =
Faculty=20
Association </FONT></A></P>
<P>&nbsp;</P>
<P><FONT size=3D4><FONT face=3D"times new roman,times"><STRONG>September =
SEC and=20
Senate Reports</STRONG></FONT></FONT></P>
<P><FONT size=3D2 face=3D"times new roman,times"><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/3accal_action_=
augsec2010web.pdf"=20
target=3D_blank>2011 - 2012 Academic Calendar - Word</A></FONT></P>
<P><FONT size=3D2><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/4accal_action_=
augsec20102.pdf"=20
target=3D_blank><FONT face=3D"times new roman,times">2011 -2012 Academic =
Calendar -=20
Excel </FONT></A></FONT></P>
<P><FONT size=3D2><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/smoking_augsec=
2010.pdf"=20
target=3D_blank><FONT face=3D"times new roman,times">Report of the =
Campus-Wide=20
Designated Smoking Committee </FONT></A></FONT></P>
<P><FONT size=3D2><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/13uccinfo2_aug=
sec2010.pdf"=20
target=3D_blank><FONT face=3D"times new roman,times">Courses Not Taught =
in Three or=20
More Years - Undergraduate Curriculum Committee </FONT></A></FONT></P>
<P>&nbsp;</P>
<P><SPAN style=3D"FONT-SIZE: medium" class=3DApple-style-span><SPAN=20
style=3D"FONT-FAMILY: 'times new roman', times" =
class=3DApple-style-span><FONT=20
size=3D4><STRONG>May Senate </STRONG></FONT></SPAN></SPAN></P>
<P><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/avpbrookspres.=
pdf"=20
target=3D_blank><FONT size=3D2 face=3D"times new roman,times">AVP =
University Relations=20
and Development Report </FONT></A></P>
<P>&nbsp;</P>
<P><FONT size=3D4><FONT face=3D"times new roman,times"><STRONG>April =
Senate=20
Reports</STRONG></FONT><U><FONT face=3D"times new roman,times"><STRONG>=20
</STRONG></FONT></U></FONT></P>
<P><FONT size=3D2 face=3D"times new roman,times"><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/academicaffair=
smarlin4_6.pdf"=20
target=3D_blank>Academic Affairs </A></FONT></P>
<P><FONT size=3D2><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/asbike.pdf"=20
target=3D_blank><FONT face=3D"times new roman,times">Associated=20
Students</FONT></A></FONT> </P>
<P><FONT size=3D2><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/iaa_4_6sen.pdf=
"=20
target=3D_blank><FONT face=3D"times new roman,times">Intercollegiate =
Athletic=20
Authority </FONT></A></FONT></P>
<P><FONT size=3D2><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/revisedfawebre=
portfinal.pdf"=20
target=3D_blank><FONT face=3D"times new roman,times">Faculty Affairs=20
</FONT></A></FONT></P>
<P>&nbsp;</P>
<P>&nbsp;</P><BR>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;</P><BR>
<P>&nbsp;</P>
<P><U><FONT size=3D4 face=3D"times new roman,times"><BR></FONT></U></P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&nbsp;</P></DIV></DIV></DIV></DIV><!-- Master Content Left --><!-- =
Master Content Right -->
<DIV id=3DdpgMyPage_pnlContentRight class=3Dmaster_content_right><A=20
name=3Dright_panel></A><A name=3D964></A>
<DIV id=3DdpgMyPage_ctl15_pnlMiniFreeTextModule class=3D"module =
module_mftlcontrol">
<DIV id=3DdpgMyPage_ctl15_pnlMFTLImage =
class=3Dmodule_mftlcontrol_image><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl15_imgPhoto alt=3D"button for Policy File"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/minifreetextima=
ges/00063-button-policy.jpg">=20
</DIV>
<DIV id=3DdpgMyPage_ctl15_pnlMFTLContent =
class=3Dmodule_mftlcontrol_content>
<DIV class=3Dmodule_mftlcontrol_content_title>Policy File</DIV><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/2010pffinalrev=
.pdf">This=20
document includes the most updated policies governing the =
university.</A>=20
</DIV></DIV>
<DIV class=3Dhr></DIV><A name=3D966></A>
<DIV id=3DdpgMyPage_ctl17_pnlMiniFreeTextModule class=3D"module =
module_mftlcontrol">
<DIV id=3DdpgMyPage_ctl17_pnlMFTLImage =
class=3Dmodule_mftlcontrol_image><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl17_imgPhoto=20
alt=3D"button for University Senate Agenda and Minutes"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/minifreetextima=
ges/00065-button-gavel.jpg">=20
</DIV>
<DIV id=3DdpgMyPage_ctl17_pnlMFTLContent =
class=3Dmodule_mftlcontrol_content>
<DIV class=3Dmodule_mftlcontrol_content_title>University Senate</DIV><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/sen_2010-11.aspx">Get=
 agendas=20
and minutes for University Senate meetings.</A> </DIV></DIV>
<DIV class=3Dhr></DIV><A name=3D967></A>
<DIV id=3DdpgMyPage_ctl19_pnlMiniFreeTextModule class=3D"module =
module_mftlcontrol">
<DIV id=3DdpgMyPage_ctl19_pnlMFTLImage =
class=3Dmodule_mftlcontrol_image><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl19_imgPhoto alt=3D"Button for Senate Executive =
Committee"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/minifreetextima=
ges/00066-button-policy.jpg">=20
</DIV>
<DIV id=3DdpgMyPage_ctl19_pnlMFTLContent =
class=3Dmodule_mftlcontrol_content>
<DIV class=3Dmodule_mftlcontrol_content_title>Senate Executive =
Committee</DIV><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/sec_2010-11.aspx">Get=
 agendas=20
and minutes for SEC meetings.</A> </DIV></DIV>
<DIV class=3Dhr></DIV><A name=3D1201></A>
<DIV id=3DdpgMyPage_ctl21_pnlMiniFreeTextModule class=3D"module =
module_mftlcontrol">
<DIV id=3DdpgMyPage_ctl21_pnlMFTLImage =
class=3Dmodule_mftlcontrol_image><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl21_imgPhoto alt=3D"button for University Senate =
committees"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/minifreetextima=
ges/00071-button-committee.jpg">=20
</DIV>
<DIV id=3DdpgMyPage_ctl21_pnlMFTLContent =
class=3Dmodule_mftlcontrol_content>
<DIV class=3Dmodule_mftlcontrol_content_title>Committees</DIV><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/committees.aspx?">Get=
 the=20
latest information for University Senate committees.</A> </DIV></DIV>
<DIV class=3Dhr></DIV><A name=3D1202></A>
<DIV id=3DdpgMyPage_ctl23_pnlMiniFreeTextModule class=3D"module =
module_mftlcontrol">
<DIV id=3DdpgMyPage_ctl23_pnlMFTLImage =
class=3Dmodule_mftlcontrol_image><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl23_imgPhoto alt=3Dcalendar=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/minifreetextima=
ges/00072-00072-button-calendar.jpg">=20
</DIV>
<DIV id=3DdpgMyPage_ctl23_pnlMFTLContent =
class=3Dmodule_mftlcontrol_content>
<DIV class=3Dmodule_mftlcontrol_content_title>Senate Calendar</DIV><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/senatecalendar.aspx?"=
>
<P>Get important dates for the 2010/11 Senate and Senate Executive =
Committee=20
meetings.</P></A></DIV></DIV>
<DIV class=3Dhr></DIV><A name=3D1354></A>
<DIV id=3DdpgMyPage_ctl25_pnlMiniFreeTextModule class=3D"module =
module_mftlcontrol">
<DIV id=3DdpgMyPage_ctl25_pnlMFTLImage =
class=3Dmodule_mftlcontrol_image><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3DdpgMyPage_ctl25_imgPhoto alt=3D"Academic Calendar"=20
src=3D"http://newscenter.sdsu.edu/universitysenate/images/minifreetextima=
ges/00090-00072-button-calendar.jpg">=20
</DIV>
<DIV id=3DdpgMyPage_ctl25_pnlMFTLContent =
class=3Dmodule_mftlcontrol_content>
<DIV class=3Dmodule_mftlcontrol_content_title>Academic Calendar</DIV><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/images/1112accal.pdf"=
>Get the=20
updated 2011-12 Academic Calendar.</A> =
</DIV></DIV></DIV></DIV></DIV><!-- Master Footer -->
<DIV id=3DdpgMyPage_pnlFooter class=3D"master_footer wrapper">
<DIV id=3DdpgMyPage_pnlFooterInner class=3Dinner><A name=3Dfooter></A>
<DIV id=3DdpgMyPage_pnlFooterLinks class=3Dmaster_footer_links><A=20
href=3D"http://www.sdsu.edu/">SDSU home page</A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/index.aspx">Universit=
y=20
Senate</A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/about.aspx">About</A>=
<A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/roster.aspx">Rosters<=
/A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/resources.aspx">Resou=
rces</A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/policyfile.aspx">Poli=
cy=20
File</A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/senateagenda.aspx">Un=
iversity=20
Senate Agendas and Minutes</A><BR><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/secagendas.aspx">SEC =
Agendas=20
and Minutes</A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/committees.aspx">Comm=
ittees</A><A=20
href=3D"http://newscenter.sdsu.edu/universitysenate/senatecalendar.aspx">=
Senate=20
Calendars</A> </DIV>
<DIV id=3DdpgMyPage_pnlFooterText class=3Dmaster_footer_text>University =
Senate, Mail=20
Code 1621, 5500 Campanile Drive, San Diego, CA, 92182-1621
<DIV style=3D"DISPLAY: none; VISIBILITY: hidden">Load Time:=20
00:00:00.1045109</DIV></DIV></DIV></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.Application.initialize();
//]]>
</SCRIPT>
</FORM></BODY></HTML>

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/include/images/trans.gif

R0lGODlhAQABAIAAAAAAAAAAACH5BAEAAAAALAAAAAABAAEAQAICRAEAOw==

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/headers/top/banner-placeholder.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAyANSAwERAAIRAQMRAf/EAN0AAQACAgIDAQEAAAAAAAAA
AAAJCgcIAwYEBQsCAQEBAAMBAAMBAQEAAAAAAAAAAAECAwQFBgcICQoQAAAGAgEDAQMGCAgJBwcN
AAECAwQFBgAHCBESCRMhFAoxFRa2N3dBUWGBsSIyF5GhwdEjtXY5cULSdJU2Vrd4clM0tHUYGVJi
syQlODrENSYnV9domKi46FkaEQEAAgECBAQDAwYJCQkBAAAAAQIDEQQhMRIFQTIGB1FxE2EiCIGx
ciMUNZGhYrIzc3Q2CcGSolOzNLQVdfDRQlJk1RaWOBj/2gAMAwEAAhEDEQA/APn/AOAwGAwGAwGA
wGAwGAwGAwGAwGAwGAwGAwGAwGBPhp37ItWfdxR/qzF5nPN118sfJkfCTAYDAYDAYDAYDAYDAYDA
YDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAY
DAYDAYDAYDAYDAYDAYDAYDAYFcjNHGYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAnw079kWrPu
4o/1Zi8znm66+WPkyPhJgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgM
BgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMCuRmjjMBgMBgM
BgMBgZTo+ldm7FWjUqpUpR+WYckZxKxkDollnBz+n6MIgYvvs+uQ/sMkwScqgPs7eohhMRM8kwms
fh4fIzsCtJXGx6zDSdPWRRcJ3Tf8pVtD1MWyqRFfeSr7otWvbK5QKVUpgM3ilu4g9wdQ6dYtatY1
tMRH2vK9n7D3r1Duo2XYNnu9/vZ5Y9thyZ7/AObirafCfy8GSSeAqvV/+j2j5WvHfTHpB7XMXVbb
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
HfN9JupVr5q5/rSqKWikGu+smytnlGStlUuzZkSTlo1w7YRiDNi5LGumaJHTlRyu0KmRU0xp4qXi
0x91LtcuA/w61smjbLjedtC1vXQRJPOdXVfmHpltGi3aqrSbuNUqt+jbVuJk7eoD7seOSeovilKV
NBNJceozpDPryRw0YN59ebvhhx54nyfBfxcMySzN7VpzXjvYcNE2OHpNIrlgQco2l3WpmzlZ2i83
2xKSLoVpo4HSKssd2Ry6WMUxGvhBFZmeq3NWO4T7s27xQ3JV+R2o5s1bu1ScD8zndImdRU/FvBBO
egbFGeqh86VqeYlFq5S70zmIoJ0VEliJqkjVp06xxW85byz+HTn1r+ptvJDpA9Hu9PYnP8/StFvl
yawb9RJuEm213s7R7d5uOGr885OKqrJVuyaiZAnvJlTpIqmnWJ5s5pevGvJh1TyP/Dn8K3RrjxW4
9y++9hptDOIJ4womzpdKJkn5XLVZH6Tcs5RpJ1MzdtHJgq6iI92oRJ8BUSqeo8KRwP1k854KpU9t
SJ2VtC5TdR16hr6mWGx2OdgqlGv3UsxpUXJyjqRiayhJOyJKuWEIwWKzSVUAFVvTKcQL1EoQ1ifB
ZL89vkP4d8suCHH7VHH/AG/9Pr/Sty0Gx2aA/d/tGq/NkNE6l2DW5B586XWk1yFe+7zUw2R9Nu5V
VP6neUoplMYszMSyrW1eas1RP9VIj/kOv+vusq2jks0+czyH8O+Uvje4+aT0Rt/6dbOo+4tOWO01
n93+0ax81w1Z0rtKpTbz55uNJr1fe+5WCws2/pt3ayqnrd6ZTpkOctpmGVa2iZmeTF3hI8v2veKe
jHnE3ljWn9p472R/bXtdsTKERtpaajbnb9K5U62UxyCgWXXdlVUVcmI2SXcoOnTop27pF0HuqJ0T
ak24xzbbznJj4W7jdPvto6z06vtXYCMotKFolZ1zyUk4v5zQOD5qo3pPIeRp2l2bA7pEpECJJ+gk
U3QqYJCPVwV/WcmQIjz4cAvINx95EcWuYcPsDivCbNhLZUK5YIGq2LaEQ2pbxuZemzZVaBDWKbZ3
yqSTJBdZsrDfNCyySPYqZNRVFGdUdExOscVNalKQkdK2quw80E6wZzj75kmjMHESM/Dtl1GjSXJF
vDHdRwvGyKaxm6oiqiCvabqJTDlZbVXMOOvmU4G8nuJTHjD5T6sb1K9XoWFsNimKRcdgUvZadXTK
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
wGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAw
GAwGAwGAwGAwGAwGAwGAwGAwGAwGBXIzRxmAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwJ8NO/Z
Fqz7uKP9WYvM55uuvlj5Mj4SYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAY
DAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDArkZo4zAY
DAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYE+Gnfsi1Z93FH+rMXmc83XXyx8mR8JMBgMBgMBgMBgM
BgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMB
gMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgVyM0cZgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMBgMCfDT
v2Ras+7ij/VmLzOebrr5Y+TI+EmAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGA
wGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwK5GaOM
wGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGAwGBPhp37ItWfdxR/qzF5nPN118sfJkfCTAYDAYDAYDA
YDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAY
DAYDAYDAYDAYDAYDAYDAYDAYDAYDAYDAYH//2Q==

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/main-bw.jpg

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
yT6ZX/srzoP/2Q==

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/minifreetextimages/00063-button-policy.jpg

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
iFRZgrdbNR9DLg3B9SFAVrX56D//2Q==

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/minifreetextimages/00065-button-gavel.jpg

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

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/minifreetextimages/00066-button-policy.jpg

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
iFRZgrdbNR9DLg3B9SFAVrX56D//2Q==

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/minifreetextimages/00071-button-committee.jpg

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
rYmuVyIkLlXq5yIn6Kn7f8fQf//Z

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/minifreetextimages/00072-00072-button-calendar.jpg

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

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/universitysenate/images/minifreetextimages/00090-00072-button-calendar.jpg

/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4ADkFkb2JlAGTAAAAAAf/b
AIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgIC
AwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD
AwMDAwMDAwMDAwMDAwMDAwMD/8AAEQgAQABAAwERAAIRAQMRAf/EAGwAAAMBAQADAAAAAAAAAAAA
AAcICQoGAQQFAQEAAAAAAAAAAAAAAAAAAAAAEAABBAEDAgUDAwUBAAAAAAACAQMEBQYREgcAITEi
ExQIQTIJUUIVYaFSIxZxEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDTTTxP+fwiFCZJ
1AiwWmtyma7iRpNzhal+9B/t0HnhsDdfsbB8yNXpZd1M12oJbVVNU0RNOgP2R8nV2H1TxhJAfRaI
yM3Qb09MCVFECJdVTVVVF6DK9+XH8qdziVHN444jsv5nknKDk11a3XPuS/44yUoxz3mWHFWQsdxU
QW01b9VBFddFFAmF+OT45S7fkSx5T5JupmScgx3YEifVS7CTZNY3bT47r6yphmRNLkUll5ScbRVG
KK6diXoNDXJFx/F4O/WeqhsnCBj2zu8mjIUEkR0NSE0RRRdFRUVf/Ogm1m775QHXveu91NSVXnVF
FIC0RB9REVfNp2106BGc/Oc62SjNl9lJQ2yXQ0UCXQk0cQ0VE/t36DaXcTmwx2ODjotMvsso5sVF
dREZFC7Kv1Eug4WXyviHE+GybK0sGmQUTd9I12vPkIl5RHRV7kiaeHQQI+ZPzvyfL5OQJjdhZs0b
DTkFmBXSlafmq52ZgA82W33E4h82qpoGpL5RVUCAgNX2R8iSbWO2zlnMeSOHBSfF0eqsJrFMjCpp
HDRGEOA2S+vNNURotx9yXRQvh8IeI4nD2JDGkTXbW4sprl/kdm6JL7i3lRmGnViKaI57JgI4gBGq
m4qEZdyVEA/ct5cUwHIYGYCTaLsIyURHVNSRV0RBXwX9q9AkeTTUeYdBXNURVVdE2pqmv2j317ki
d+/foFFzd9CkutJ4KX2aqWieYu2q6oh+PQa3OSc+jU9YDYymdVEGgRwkRFRSRPKpbe4pr0ET/mVz
Lf25OR2Z6xYiyWKWohMqRHLlSNVcdUQRNjDaCiLp5l6CenKNG5W8ZZLZzycF6tx+WNcyqK0bLsgQ
akznFBdPfyzd0JVVSEdBRdE6BH+MOSl4wxu2HHayM7mlzO2DeTITD0emp40dlRIAf3FMmSZTzii0
aLHDYhmhrtHoLRYtzHcYH8eePbXJHisM/wAopIkh1AjsRpUhZjputyXYsdttgHlhm2GjYCKFquid
B8q25OrSiQWMpyGnq8lt2m/aVUywbjvkrqgrcYPWdEHZKiP2IqqpLoiL0Adya1dFHPOqaKaoo6Ie
q6679FXUk1/VegXXJXVdJxwj0NdV1U1XVVHwTcqaeXt0FgecOfiyDNnaGvOU61Vi48bwvbWFd3bQ
bEBVU3eVdE8egVOXVysryNvJb5sii1QuDSRnNf8AbPdLdLtTbNF8rWqNM7k7qhl/ivQB7nmkucnw
izxnH4ySLK9mVNVHUyII8Zl2xjPzJsx1BImosaNHMnCRFXv5UUlROgWOw4Qw+nynAcHiPPzrKLHk
ZXyTkDzhgw3Rte2ViIzXoftYLTyxnfQBUV5UIVMyUkRAfygiMZS2ee3UVXKeNHSDhVATXnCNDFGo
ZtMEOgkrQKiLr2HUlXw6CRPy7y6/sM+OttK2RWsNCciELyoTElpD2i7FdaVxs22S8qqJbmz7Kidu
gK3A/LU7McFlVF9IOXeYi4xXlNfNHJM+nltGVRIkn97suN6Dkc3PExbbJVUiXoPdyS8PY5sRBQVU
tC0I9E8E0Uk1Hauv69BR74o4sPLnJNSxlU+Q4GVHbZCUbcYy5GM4+ych1G0XcUZmW9saU/HRV290
XQOxyyQzFtreO0AMMtTZYNC3o2gCLuwABBFQAREE0T+nQKLy5zJXYBMh0sOrmXuYW8RJFNVtJtgo
D0hyIy/YSUJHCAn2C0ZbEjPYqaiOpIAm4ojTssya9CfYnPlhMS65QuVDRhxRDdHxyE6mrbdfBaDY
eibR0290ToOkzX5O1y8jVXHVHKbiwRrpdOy4BAjbM82hKOyuioIvSWmibHvqqkiJ4p0Cl/KeZCex
nHXZBg5aN375QtS3SDhnAcG1JUXQ/Q9YY+5V7b9uvfToBP8AGxx5uyziWHlipCqYKmRKIrKWZMkN
AKIiqSgy0fgvZFT9egNeQzWh0InFMz+1CId3bVO3+Pj9dU6Cyf40TlZTzlyRl88QbDHuLpzURhrd
7ariSn2a6BWwx1X02WGRPTsiuKpGXdV6Aech2vo5Lchu3K7Zy1VE1UlUnj2Don67v6dBOjknL6fN
eSVx7BkkWOSWVb/BWWaQZLFg1SDWvONFTY/HRUGK685Lc95PTXaqGLZaoXQOhVYlVcU8YSaVWm0t
cgqSiTpLO0XpEiRBKK7JVC3GQsKakKqqqRJuXx6CHfJGNZLheR2EPIfXV8pDkiHcqjoMWrZO/wCm
bEkpoHrabdzaFvaNNPonQcnHTKs5tmYsRbXJbU2xjt+vJkzSjsivYpUyS64MGI3rqRGogiePfROg
PcjMsL4IxtnGZ1l/PZbKV6yn0uORnbe8s7EmdVCLWxQKQzXQ47aNg496baCKkqoRKnQJ9m/N+c55
VRMhR2Rh3HU2fLrJ40byysqrwCUkNuZdSHmmgarXn9wGMVRMPBSRVHUNen4wa5urwH5IZy8IgPsK
HHGH3NrYj6MG3uZiq44oi220LzJOKqiiJ3Xt0EXudvkdK5Ny17H+IpzdpilvktjVWuX1UwN2QwoE
idHu1x2WjiLBxCvkRVjTLhVbOSZo3E3ASvGDw/AT4hpbVTWTPRX3oFLFcaK2kRhjrcSxcckejEAW
0UIDDjq6IvmLspd+yB23PWP2cG4ljIBUaYUmWm0RSFppktEHw7ISouvQTr5g5M48wKtT/vJ9WSTH
BbraKTEatrS2lmaNss1dL6ciTOfNwkFFBtB1VEVUTv0E98n51y7NoVxVYH7DhTF0qo1hXzRjUzeQ
XTVrMs6SukuurLr6fHYI5BWexfRCkTo77wD28xAAIxWvn5E5FtcFx6zlyLuk/is3nzrqfDrQnxpN
XbRrKblr8KPPsLtnIYjhvNxylC5GXYJihInQFKk4pqIDvu8nmlmFss+xshhEJxMXr51rL97Yexqh
NUkAclU0V5T+xNBTw6DUtgvDXI+e/i25hwPjbJ4vHuZc43t5Bdyq0i2hNQcMbucfx/KGmArmynJL
t8VpbGGyqIIqshUIhQlNAm/g/wAS8F4QpK2oiFdLTY0W+xnTGTSdl1mBq447LEQ2sQvcKpNRGdGW
df3mqkoagODa3EK7g/DJ2LRWYFHaYlWW5vCyrAsocFHZhummigEdwXPUVU7aL0GW75+/kfrcoyWz
w74/47bDj7FlJr7fk+wp235cuNGdVqc/hVDMQIpKqCasSJx7DJRL0x8eglND46zHkvJORq7DMHyn
lG2spYxoHJtzYy32K3G7qirreFYW+UvC3Twr7H8lgQ3/AGLTJuNi5KYaDVELoCcXxmfr5se05Kjp
lV03HeaWmpq2ZT4RHclWB3Ni4/WoXvLt2XdvFKcKSYsK5ptYERFEDt3aiaMdmENW7EhsMoEaJGhk
xHZbTRAbZYYZBtloB1TaHbT6dB84sbsTUUarpaLqKJpFf1JUXy7draqZKKfT6r0H/9k=

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://newscenter.sdsu.edu/include/images/news/btn_search_arrow_new.gif

R0lGODlhDwAPAKIEAP7+/vv7+6cZM////////wAAAAAAAAAAACH5BAEAAAQALAAAAAAPAA8AQAMl
SDrcrcQNIWaVOI+o3eqPRFkgCHXQh3IgkF0XOI4aXGYBo2pKAgA7

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/include/general_layout.css

BODY {
	POSITION: relative; MIN-WIDTH: 850px; PADDING-BOTTOM: 20px; =
BACKGROUND-COLOR: #ffffff; MARGIN: 0px 0px 0px -425px; PADDING-LEFT: =
0px; WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial; FONT-SIZE: =
0.8em; PADDING-TOP: 0px; LEFT: 50%
}
DIV {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
IMG {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
OL {
	LIST-STYLE-TYPE: decimal
}
TABLE P {
	MARGIN: 0px 0px 10px
}
UL {
	LIST-STYLE-TYPE: disc
}
A IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.error {
	MARGIN: 5px; COLOR: red
}
.empty_anchor {
	LINE-HEIGHT: 0px; HEIGHT: 0px; FONT-SIZE: 0px
}
.link_panel {
	Z-INDEX: 1; POSITION: absolute; DISPLAY: none; VISIBILITY: hidden
}
.master {
	POSITION: relative; WIDTH: 850px
}
.master_content {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 850px; BOTTOM: 0px; PADDING-RIGHT: 0px; TOP: 0px; =
PADDING-TOP: 0px
}
.master_content_center {
	Z-INDEX: 0; MARGIN: 0px; BOTTOM: 0px; TOP: 0px
}
.master_content_left {
	Z-INDEX: 1; MARGIN: 0px; TOP: 0px; LEFT: 0px
}
.master_content_notifications {
=09
}
.master_content_right {
	Z-INDEX: 1; MARGIN: 0px; FLOAT: right; TOP: 0px; RIGHT: 0px
}
.master_footer {
	TEXT-ALIGN: center; PADDING-BOTTOM: 20px; MARGIN: 0px; PADDING-LEFT: =
10px; WIDTH: 830px; PADDING-RIGHT: 10px; CLEAR: both; PADDING-TOP: 20px
}
.master_header {
	MARGIN: 0px; WIDTH: 850px
}
.master_header_links {
	TEXT-ALIGN: center; WIDTH: 100%
}
.master_header_time {
=09
}
.master_header_links {
	WIDTH: 850px
}
.master_header_color_stripe_top {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.form.module {
	MARGIN: -15px 0px
}
.form.module TABLE.form_generator_table {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 15px
}
.form.module TABLE.form_generator_table {
	BORDER-BOTTOM: #999 2px solid; BORDER-LEFT: #999 1px solid; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; BORDER-TOP: =
#999 1px solid; BORDER-RIGHT: #999 2px solid; PADDING-TOP: 5px; =
-moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 10px
}
TABLE.form_generator_table TABLE {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: medium none; =
BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
.form.module TABLE.form_generator_table TH.field_header {
	TEXT-ALIGN: left; PADDING-BOTTOM: 2px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 10px; VERTICAL-ALIGN: top; FONT-WEIGHT: normal; =
PADDING-TOP: 2px
}
.form.module TABLE.form_generator_table TD.field {
	TEXT-ALIGN: left; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; VERTICAL-ALIGN: middle; FONT-WEIGHT: normal; =
PADDING-TOP: 2px
}
.rss_date {
	FONT-SIZE: 80%
}
.validation {
	COLOR: red; FONT-WEIGHT: bold
}

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/include/module_layouts.css

BODY {
=09
}
.mini_story_cycler UL {
	OVERFLOW-X: hidden; MARGIN: 0px auto; WIDTH: 85%
}
.mini_story_cycler LI {
	MARGIN: 0px auto 15px; CLEAR: both
}
.mini_story_cycler .expand_slides {
	POSITION: absolute; DISPLAY: none; COLOR: #990610; FONT-SIZE: 0.8em; =
TOP: 0px; RIGHT: 0px
}
.mini_story_cycler .item_content {
	MARGIN: 5px 0px 5px 80px
}
.mini_story_cycler .item_image {
	FLOAT: left
}
.mini_story_cycler .item_image IMG {
	BORDER-BOTTOM: #cecece 1px solid; BORDER-LEFT: #cecece 1px solid; =
PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #fff; MARGIN: 0px; PADDING-LEFT: =
3px; PADDING-RIGHT: 3px; BORDER-TOP: #cecece 1px solid; BORDER-RIGHT: =
#cecece 1px solid; PADDING-TOP: 3px
}
.mini_story_cycler .item_more {
	MARGIN: 0px 0px 0px 80px
}
.mini_story_cycler .item_more A {
	BACKGROUND-IMAGE: url(/include/images/home/red_arrow.png); =
PADDING-BOTTOM: 0px; PADDING-LEFT: 12px; PADDING-RIGHT: 0px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left center; =
PADDING-TOP: 0px
}
.mini_story_cycler .item_title {
	MARGIN-LEFT: 80px
}
.mini_story_cycler .item_title A {
	FONT-SIZE: 1.2em
}
.mini_story_cycler .items_container {
	POSITION: relative
}
.mini_story_cycler .slide_control {
	DISPLAY: none
}
.mini_story_cycler .slide_left {
	POSITION: absolute; TOP: 20px
}
.mini_story_cycler .slide_right {
	POSITION: absolute; TOP: 20px
}
.mini_story_cycler .slide_left {
	LEFT: 0px
}
.mini_story_cycler .slide_right {
	RIGHT: 0px
}
.module {
	POSITION: relative; LINE-HEIGHT: 1.3em; MARGIN: 0px
}
.module_mftlcontrol {
	MIN-HEIGHT: 64px; BOTTOM: 0px; TOP: 0px
}
.module_mftlcontrol_image {
	POSITION: relative; MARGIN: 0px; WIDTH: 64px; BOTTOM: 0px; FLOAT: left; =
TOP: 0px
}
.module_mftlcontrol_content {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: -2px 0px 0px; =
PADDING-LEFT: 85px; BOTTOM: 0px; PADDING-RIGHT: 0px; TOP: 0px; =
PADDING-TOP: 0px
}
.module_mftlcontrol A:link {
	COLOR: black; TEXT-DECORATION: none
}
.module_mftlcontrol A:visited {
	COLOR: black; TEXT-DECORATION: none
}
.module_pssm {
	TEXT-ALIGN: center; WIDTH: 100%
}
.more_centered {
	DISPLAY: block
}
.more_left {
	DISPLAY: block
}
.more_right {
	DISPLAY: block
}
.more_centered {
	TEXT-ALIGN: center
}
.more_left {
	TEXT-ALIGN: left
}
.more_right {
	TEXT-ALIGN: right
}
.story_image_cycler {
	PADDING-BOTTOM: 0px; MARGIN: 10px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.story_image_cycler H3 {
	LINE-HEIGHT: 1em; FONT-SIZE: 2.5em; FONT-WEIGHT: normal
}
.story_image_cycler .description {
	BACKGROUND-IMAGE: url(/include/images/home/slide_box_fade.png); =
POSITION: relative; PADDING-BOTTOM: 20px; PADDING-LEFT: 20px; WIDTH: =
190px; PADDING-RIGHT: 10px; BACKGROUND-REPEAT: repeat; TOP: 50px; =
PADDING-TOP: 15px
}
.story_image_cycler .description .item_media {
	MARGIN: 20px 0px 0px
}
.story_image_cycler .description .item_more A {
	BACKGROUND-IMAGE: url(/include/images/home/red_arrow1.gif); =
PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 0px; =
BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: left center; COLOR: =
#fff; FONT-WEIGHT: bold; TEXT-DECORATION: underline; PADDING-TOP: 0px
}
.story_image_cycler .description A:hover {
	BACKGROUND-IMAGE: url(/include/images/home/beige_arrow.gif); =
TEXT-DECORATION: none
}
.story_image_cycler .description_content {
	POSITION: relative; WIDTH: 100%; FLOAT: left; HEIGHT: 500px
}
.story_image_cycler .description_left {
	FLOAT: left; MARGIN-LEFT: 15px
}
.story_image_cycler .description_right {
	FLOAT: right; MARGIN-RIGHT: 15px
}
.story_image_cycler .items_container {
	POSITION: relative; WIDTH: 960px; HEIGHT: 400px; OVERFLOW: hidden
}
.story_image_cycler .items_container {
	POSITION: relative; BACKGROUND-COLOR: #333
}
.story_image_cycler .items_container UL {
	Z-INDEX: 1
}
.story_image_cycler .item_descriptions {
	Z-INDEX: 2; POSITION: absolute; TEXT-ALIGN: left; COLOR: #fff; TOP: =
0px; LEFT: 0px
}
.story_image_cycler .item_content {
	MARGIN: 5px 0px 0px
}
.story_image_cycler UL.items_pager {
	TEXT-ALIGN: left; WIDTH: 970px; HEIGHT: 73px; OVERFLOW: hidden
}
.story_image_cycler UL.items_pager LI {
	BACKGROUND-COLOR: #000; WIDTH: 120px; DISPLAY: block; FLOAT: left; =
HEIGHT: 63px; OVERFLOW: hidden; BORDER-TOP: #fff 10px solid
}
.story_image_cycler UL.items_pager LI IMG {
	FILTER: alpha(opacity =3D 30); BORDER-LEFT: #000 1px solid; opacity: =
0.3
}
.story_image_cycler UL.items_pager LI IMG.slide_thumb_0 {
	BORDER-LEFT: medium none
}
.story_image_cycler UL.items_pager LI.activeSlide {
	BORDER-TOP-COLOR: #c7c7c7
}
.story_image_cycler UL.items_pager LI.activeSlide IMG {
	FILTER: alpha(opacity =3D 100); opacity: 1
}

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/include/campanile_foundation_general_layout.css

BODY {
=09
}
H1 {
	LINE-HEIGHT: 1em
}
STRONG {
	FONT-WEIGHT: bold
}
.master {
	BACKGROUND-COLOR: #f6f1dd
}
.master_content {
	BACKGROUND-COLOR: #f6f1dd
}
.master_content_center {
	LINE-HEIGHT: 1em; FONT-FAMILY: Arial; FONT-SIZE: 1em; BORDER-RIGHT: =
#dad6c8 1px solid
}
.master_content_left {
	FLOAT: none
}
.master_content_right {
	POSITION: absolute; FLOAT: none
}
.master_content_left_links LI {
	MARGIN: 0px
}
.master_content_left_links UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 15px 0px 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial; FONT-SIZE: =
12px; PADDING-TOP: 0px
}
.master_content_left_links UL DIV {
	VISIBILITY: hidden
}
.master_content_left_links UL UL {
	BORDER-LEFT: #c1b8a6 3px solid; PADDING-BOTTOM: 0px; MARGIN: -1px 0px =
0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: #c1b8a6 3px =
solid; PADDING-TOP: 0px
}
.master_content_left_links A:link {
	BACKGROUND-IMAGE: url(images/bg_left_link_tan.gif); BORDER-BOTTOM: =
#c1b8a6 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #e1d8b6; =
MIN-HEIGHT: 15px; PADDING-LEFT: 22px; PADDING-RIGHT: 5px; DISPLAY: =
block; BACKGROUND-REPEAT: no-repeat; COLOR: #730012; FONT-WEIGHT: bold; =
TEXT-DECORATION: none; PADDING-TOP: 3px
}
.master_content_left_links A:visited {
	BACKGROUND-IMAGE: url(images/bg_left_link_tan.gif); BORDER-BOTTOM: =
#c1b8a6 1px solid; PADDING-BOTTOM: 3px; BACKGROUND-COLOR: #e1d8b6; =
MIN-HEIGHT: 15px; PADDING-LEFT: 22px; PADDING-RIGHT: 5px; DISPLAY: =
block; BACKGROUND-REPEAT: no-repeat; COLOR: #730012; FONT-WEIGHT: bold; =
TEXT-DECORATION: none; PADDING-TOP: 3px
}
.master_content_left_links .link_first A:link {
	BORDER-TOP: #c1b8a6 1px solid
}
.master_content_left_links .link_first A:visited {
	BORDER-TOP: #c1b8a6 1px solid
}
.master_content_left_links A:hover {
	BACKGROUND-IMAGE: url(images/bg_left_link_red.gif); BACKGROUND-COLOR: =
#730012; BACKGROUND-REPEAT: no-repeat; COLOR: #c1b8a6; TEXT-DECORATION: =
none
}
.master_content_right {
	FONT-SIZE: 0.9em
}
.master_content_right .hr {
	BACKGROUND-IMAGE: url(images/hr_dots.gif); TEXT-ALIGN: center; MARGIN: =
5px 25px 0px; WIDTH: 80%; BACKGROUND-REPEAT: repeat-x; HEIGHT: 2px
}
.master_content_right module {
	MARGIN: 20px 0px
}
.master_footer {
	BACKGROUND-COLOR: black; COLOR: #aaaaaa; FONT-SIZE: 11px
}
.master_footer A:link {
	COLOR: #aaaaaa; TEXT-DECORATION: underline
}
.master_footer A:visited {
	COLOR: #aaaaaa; TEXT-DECORATION: underline
}
.master_footer A:hover {
	COLOR: #4488ff; TEXT-DECORATION: none
}
.master_footer_links {
	MARGIN: 0px 0px 10px
}
.master_footer_links A {
	MARGIN: 0px 5px 5px
}
.master_header_color_stripe_top {
	WIDTH: 100%; HEIGHT: 10px
}
.master_header_links {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: Times New Roman; COLOR: #f6f1dd; FONT-SIZE: 13px; =
PADDING-TOP: 15px
}
.master_header_links A {
	MARGIN: 0px 25px; FONT-WEIGHT: bold
}
.master_header_links A:link {
	COLOR: #f6f1dd; TEXT-DECORATION: none
}
.master_header_links A:visited {
	COLOR: #ffffff; TEXT-DECORATION: none
}
.master_header_links A:hover {
	COLOR: #4488ff; TEXT-DECORATION: none
}
.master_header_links_divider {
	FONT-SIZE: 9px
}
.master_header_text {
	POSITION: absolute; COLOR: #ffffff; TOP: 40px; RIGHT: 10px; =
FONT-WEIGHT: bold
}
.module {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 25px; PADDING-RIGHT: 25px; =
PADDING-TOP: 15px
}
.module_mftlcontrol_content_title {
	MARGIN: 0px 0px 5px; COLOR: #730012; FONT-SIZE: 1.25em; FONT-WEIGHT: =
bold
}
.module_mftlcontrol_image {
	BORDER-BOTTOM: #dad6c8 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#dad6c8 1px solid; WIDTH: 70px; HEIGHT: 66px; BORDER-TOP: #dad6c8 1px =
solid; BORDER-RIGHT: #dad6c8 1px solid; PADDING-TOP: 4px
}
.search {
	POSITION: absolute; TOP: 15px; RIGHT: 10px
}
.search INPUT {
	FONT-SIZE: 10px
}
.search .search_button {
	POSITION: relative; TOP: 3px
}

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/include/campanile_foundation_homepage_layout.css

BODY {
=09
}
.master_content_center {
	WIDTH: 480px
}
.master_content_right {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 10px; PADDING-RIGHT: 15px; RIGHT: =
0px; PADDING-TOP: 20px; LEFT: 480px
}
.master_content_right .hr {
	WIDTH: 295px
}
.module_first {
	BORDER-BOTTOM: #c5beaa 1px solid; BORDER-LEFT: medium none; =
BACKGROUND-COLOR: #ded4b0; BORDER-TOP: #c5beaa 1px solid; BORDER-RIGHT: =
medium none; PADDING-TOP: 25px
}

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/universitysenate/css/universitysenate_custom.css

.master_content_left_links UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial; FONT-SIZE: 12px; =
PADDING-TOP: 0px
}
.module {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 25px; PADDING-RIGHT: 25px; =
PADDING-TOP: 0px
}
.module A {
	COLOR: #a81933; TEXT-DECORATION: none
}
.module_first {
	BORDER-BOTTOM: #c5beaa 1px solid; BORDER-LEFT: medium none; =
PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BORDER-TOP: #c5beaa 1px solid; BORDER-RIGHT: medium =
none; PADDING-TOP: 0px
}
.master_content_center .master_content_center_content .module_first {
	MARGIN-BOTTOM: 25px
}
.master_content_center .master_content_center_content .module P IMG {
	MARGIN: 0px 10px 10px 0px
}
.master_header_links {
	BACKGROUND-IMAGE: none; PADDING-BOTTOM: 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Arial; COLOR: #999999; FONT-SIZE: 12px; =
PADDING-TOP: 15px
}
.master_header_links A {
	MARGIN: 0px 20px; FONT-WEIGHT: normal
}
.master_header_links A:hover {
	COLOR: #a81933; TEXT-DECORATION: none
}
H1 {
	LINE-HEIGHT: 1.35em; FONT-FAMILY: "Palatino", "Times New Roman", Times, =
serif; FONT-SIZE: 16px; FONT-WEIGHT: bold
}
.master_content {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 849px; BOTTOM: 0px; PADDING-RIGHT: 0px; TOP: 0px; =
BORDER-RIGHT: #dad6c8 1px solid; PADDING-TOP: 0px
}
.master_content_center {
	BORDER-LEFT: #dad6c8 1px solid; LINE-HEIGHT: 1em; BACKGROUND-COLOR: =
#f5f2e9; WIDTH: 545px; FONT-FAMILY: Arial; FONT-SIZE: 1em; BORDER-RIGHT: =
#dad6c8 1px solid
}
.master_content_right {
	BACKGROUND-IMAGE: =
url(http://newscenter.sdsu.edu/marcomm/images/bkg-rt-column.gif); =
POSITION: absolute; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: =
302px; PADDING-RIGHT: 0px; BACKGROUND-REPEAT: repeat-x; FLOAT: none; =
CLEAR: both; RIGHT: 0px; PADDING-TOP: 30px; LEFT: 546px
}
.tcf_homepage .master_content_center {
	BORDER-LEFT: #dad6c8 1px solid; PADDING-BOTTOM: 25px; LINE-HEIGHT: 1em; =
BACKGROUND-COLOR: #f5f2e9; PADDING-LEFT: 0px; WIDTH: 546px; =
PADDING-RIGHT: 0px; FONT-FAMILY: Arial; CLEAR: both; FONT-SIZE: 1em; =
BORDER-RIGHT: #dad6c8 1px solid; PADDING-TOP: 0px
}
.tcf_subpage .master_content_center {
	BORDER-LEFT: #dad6c8 1px solid; PADDING-BOTTOM: 25px; LINE-HEIGHT: 1em; =
BACKGROUND-COLOR: #f5f2e9; MARGIN: 0px 0px 0px 160px; PADDING-LEFT: 0px; =
WIDTH: 384px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial; FONT-SIZE: 1em; =
BORDER-RIGHT: #dad6c8 1px solid; PADDING-TOP: 0px
}
.master_content_right .hr {
	MARGIN: 10px 25px 20px; WIDTH: 255px
}
.module_mftlcontrol {
	MIN-HEIGHT: 0px; BOTTOM: 0px; TOP: 0px
}
.module_mftlcontrol_content {
	POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: =
85px; BOTTOM: 0px; PADDING-RIGHT: 0px; TOP: 0px; PADDING-TOP: 0px
}
.module_mftlcontrol A:link {
	COLOR: #93011b; TEXT-DECORATION: none
}
.module_mftlcontrol A:visited {
	COLOR: #93011b; TEXT-DECORATION: none
}
.module_mftlcontrol A:hover {
	COLOR: #93011b; TEXT-DECORATION: underline
}
.module_mftlcontrol_content_title {
	MARGIN: 0px 0px 5px; FONT-FAMILY: "Palatino", "Times New Roman", Times, =
serif; COLOR: #000; FONT-SIZE: 1.35em; FONT-WEIGHT: bold
}
.module_mftlcontrol_image {
	BORDER-BOTTOM: #dad6c8 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#dad6c8 1px solid; BACKGROUND-COLOR: #fff; WIDTH: 70px; HEIGHT: 66px; =
BORDER-TOP: #dad6c8 1px solid; BORDER-RIGHT: #dad6c8 1px solid; =
PADDING-TOP: 2px
}

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/scripts/jquery/jquery-1.2.6.min.js

/*=0A=
 * jQuery 1.2.6 - New Wave Javascript=0A=
 *=0A=
 * Copyright (c) 2008 John Resig (jquery.com)=0A=
 * Dual licensed under the MIT (MIT-LICENSE.txt)=0A=
 * and GPL (GPL-LICENSE.txt) licenses.=0A=
 *=0A=
 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $=0A=
 * $Rev: 5685 $=0A=
 */=0A=
(function(){var _jQuery=3Dwindow.jQuery,_$=3Dwindow.$;var =
jQuery=3Dwindow.jQuery=3Dwindow.$=3Dfunction(selector,context){return =
new jQuery.fn.init(selector,context);};var =
quickExpr=3D/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=3D/^.[^:#\[\.]*$/=
,undefined;jQuery.fn=3DjQuery.prototype=3D{init:function(selector,context=
){selector=3Dselector||document;if(selector.nodeType){this[0]=3Dselector;=
this.length=3D1;return this;}if(typeof selector=3D=3D"string"){var =
match=3DquickExpr.exec(selector);if(match&&(match[1]||!context)){if(match=
[1])selector=3DjQuery.clean([match[1]],context);else{var =
elem=3Ddocument.getElementById(match[3]);if(elem){if(elem.id!=3Dmatch[3])=
return jQuery().find(selector);return jQuery(elem);}selector=3D[];}}else=0A=
return jQuery(context).find(selector);}else =
if(jQuery.isFunction(selector))return =
jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return =
this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(=
){return this.length;},length:0,get:function(num){return =
num=3D=3Dundefined?jQuery.makeArray(this):this[num];},pushStack:function(=
elems){var ret=3DjQuery(elems);ret.prevObject=3Dthis;return =
ret;},setArray:function(elems){this.length=3D0;Array.prototype.push.apply=
(this,elems);return this;},each:function(callback,args){return =
jQuery.each(this,callback,args);},index:function(elem){var =
ret=3D-1;return =
jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,=
value,type){var =
options=3Dname;if(name.constructor=3D=3DString)if(value=3D=3D=3Dundefined=
)return =
this[0]&&jQuery[type||"attr"](this[0],name);else{options=3D{};options[nam=
e]=3Dvalue;}return this.each(function(i){for(name in =
options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[na=
me],type,i,name));});},css:function(key,value){if((key=3D=3D'width'||key=3D=
=3D'height')&&parseFloat(value)<0)value=3Dundefined;return =
this.attr(key,value,"curCSS");},text:function(text){if(typeof =
text!=3D"object"&&text!=3Dnull)return =
this.empty().append((this[0]&&this[0].ownerDocument||document).createText=
Node(text));var =
ret=3D"";jQuery.each(text||this,function(){jQuery.each(this.childNodes,fu=
nction(){if(this.nodeType!=3D8)ret+=3Dthis.nodeType!=3D1?this.nodeValue:j=
Query.fn.text([this]);});});return =
ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument=
).clone().insertBefore(this[0]).map(function(){var =
elem=3Dthis;while(elem.firstChild)elem=3Delem.firstChild;return =
elem;}).append(this);return this;},wrapInner:function(html){return =
this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:func=
tion(html){return =
this.each(function(){jQuery(this).wrapAll(html);});},append:function(){re=
turn =
this.domManip(arguments,true,false,function(elem){if(this.nodeType=3D=3D1=
)this.appendChild(elem);});},prepend:function(){return =
this.domManip(arguments,true,true,function(elem){if(this.nodeType=3D=3D1)=
this.insertBefore(elem,this.firstChild);});},before:function(){return =
this.domManip(arguments,false,false,function(elem){this.parentNode.insert=
Before(elem,this);});},after:function(){return =
this.domManip(arguments,false,true,function(elem){this.parentNode.insertB=
efore(elem,this.nextSibling);});},end:function(){return =
this.prevObject||jQuery([]);},find:function(selector){var =
elems=3DjQuery.map(this,function(elem){return =
jQuery.find(selector,elem);});return this.pushStack(/[^+>] =
[^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):ele=
ms);},clone:function(events){var =
ret=3Dthis.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this))=
{var =
clone=3Dthis.cloneNode(true),container=3Ddocument.createElement("div");co=
ntainer.appendChild(clone);return =
jQuery.clean([container.innerHTML])[0];}else=0A=
return this.cloneNode(true);});var =
clone=3Dret.find("*").andSelf().each(function(){if(this[expando]!=3Dundef=
ined)this[expando]=3Dnull;});if(events=3D=3D=3Dtrue)this.find("*").andSel=
f().each(function(i){if(this.nodeType=3D=3D3)return;var =
events=3DjQuery.data(this,"events");for(var type in events)for(var =
handler in =
events[type])jQuery.event.add(clone[i],type,events[type][handler],events[=
type][handler].data);});return ret;},filter:function(selector){return =
this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(ele=
m,i){return =
selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:functi=
on(selector){if(selector.constructor=3D=3DString)if(isSimple.test(selecto=
r))return this.pushStack(jQuery.multiFilter(selector,this,true));else=0A=
selector=3DjQuery.multiFilter(selector,this);var =
isArrayLike=3Dselector.length&&selector[selector.length-1]!=3D=3Dundefine=
d&&!selector.nodeType;return this.filter(function(){return =
isArrayLike?jQuery.inArray(this,selector)<0:this!=3Dselector;});},add:fun=
ction(selector){return =
this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof =
selector=3D=3D'string'?jQuery(selector):jQuery.makeArray(selector))));},i=
s:function(selector){return!!selector&&jQuery.multiFilter(selector,this).=
length>0;},hasClass:function(selector){return =
this.is("."+selector);},val:function(value){if(value=3D=3Dundefined){if(t=
his.length){var elem=3Dthis[0];if(jQuery.nodeName(elem,"select")){var =
index=3Delem.selectedIndex,values=3D[],options=3Delem.options,one=3Delem.=
type=3D=3D"select-one";if(index<0)return null;for(var =
i=3Done?index:0,max=3Done?index+1:options.length;i<max;i++){var =
option=3Doptions[i];if(option.selected){value=3DjQuery.browser.msie&&!opt=
ion.attributes.value.specified?option.text:option.value;if(one)return =
value;values.push(value);}}return values;}else=0A=
return(this[0].value||"").replace(/\r/g,"");}return =
undefined;}if(value.constructor=3D=3DNumber)value+=3D'';return =
this.each(function(){if(this.nodeType!=3D1)return;if(value.constructor=3D=
=3DArray&&/radio|checkbox/.test(this.type))this.checked=3D(jQuery.inArray=
(this.value,value)>=3D0||jQuery.inArray(this.name,value)>=3D0);else =
if(jQuery.nodeName(this,"select")){var =
values=3DjQuery.makeArray(value);jQuery("option",this).each(function(){th=
is.selected=3D(jQuery.inArray(this.value,values)>=3D0||jQuery.inArray(thi=
s.text,values)>=3D0);});if(!values.length)this.selectedIndex=3D-1;}else=0A=
this.value=3Dvalue;});},html:function(value){return =
value=3D=3Dundefined?(this[0]?this[0].innerHTML:null):this.empty().append=
(value);},replaceWith:function(value){return =
this.after(value).remove();},eq:function(i){return =
this.slice(i,i+1);},slice:function(){return =
this.pushStack(Array.prototype.slice.apply(this,arguments));},map:functio=
n(callback){return =
this.pushStack(jQuery.map(this,function(elem,i){return =
callback.call(elem,i,elem);}));},andSelf:function(){return =
this.add(this.prevObject);},data:function(key,value){var =
parts=3Dkey.split(".");parts[1]=3Dparts[1]?"."+parts[1]:"";if(value=3D=3D=
=3Dundefined){var =
data=3Dthis.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data=3D=3D=
=3Dundefined&&this.length)data=3DjQuery.data(this[0],key);return =
data=3D=3D=3Dundefined&&parts[1]?this.data(parts[0]):data;}else=0A=
return =
this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQu=
ery.data(this,key,value);});},removeData:function(key){return =
this.each(function(){jQuery.removeData(this,key);});},domManip:function(a=
rgs,table,reverse,callback){var clone=3Dthis.length>1,elems;return =
this.each(function(){if(!elems){elems=3DjQuery.clean(args,this.ownerDocum=
ent);if(reverse)elems.reverse();}var =
obj=3Dthis;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems=
[0],"tr"))obj=3Dthis.getElementsByTagName("tbody")[0]||this.appendChild(t=
his.ownerDocument.createElement("tbody"));var =
scripts=3DjQuery([]);jQuery.each(elems,function(){var =
elem=3Dclone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"sc=
ript"))scripts=3Dscripts.add(elem);else{if(elem.nodeType=3D=3D1)scripts=3D=
scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});s=
cripts.each(evalScript);});}};jQuery.fn.init.prototype=3DjQuery.fn;functi=
on =
evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,data=
Type:"script"});else=0A=
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(ele=
m.parentNode)elem.parentNode.removeChild(elem);}function =
now(){return+new Date;}jQuery.extend=3DjQuery.fn.extend=3Dfunction(){var =
target=3Darguments[0]||{},i=3D1,length=3Darguments.length,deep=3Dfalse,op=
tions;if(target.constructor=3D=3DBoolean){deep=3Dtarget;target=3Dargument=
s[1]||{};i=3D2;}if(typeof target!=3D"object"&&typeof =
target!=3D"function")target=3D{};if(length=3D=3Di){target=3Dthis;--i;}for=
(;i<length;i++)if((options=3Darguments[i])!=3Dnull)for(var name in =
options){var =
src=3Dtarget[name],copy=3Doptions[name];if(target=3D=3D=3Dcopy)continue;i=
f(deep&&copy&&typeof =
copy=3D=3D"object"&&!copy.nodeType)target[name]=3DjQuery.extend(deep,src|=
|(copy.length!=3Dnull?[]:{}),copy);else =
if(copy!=3D=3Dundefined)target[name]=3Dcopy;}return target;};var =
expando=3D"jQuery"+now(),uuid=3D0,windowData=3D{},exclude=3D/z-?index|fon=
t-?weight|opacity|zoom|line-?height/i,defaultView=3Ddocument.defaultView|=
|{};jQuery.extend({noConflict:function(deep){window.$=3D_$;if(deep)window=
.jQuery=3D_jQuery;return =
jQuery;},isFunction:function(fn){return!!fn&&typeof =
fn!=3D"string"&&!fn.nodeName&&fn.constructor!=3DArray&&/^[\s[]?function/.=
test(fn+"");},isXMLDoc:function(elem){return =
elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem=
.ownerDocument.body;},globalEval:function(data){data=3DjQuery.trim(data);=
if(data){var =
head=3Ddocument.getElementsByTagName("head")[0]||document.documentElement=
,script=3Ddocument.createElement("script");script.type=3D"text/javascript=
";if(jQuery.browser.msie)script.text=3Ddata;else=0A=
script.appendChild(document.createTextNode(data));head.insertBefore(scrip=
t,head.firstChild);head.removeChild(script);}},nodeName:function(elem,nam=
e){return =
elem.nodeName&&elem.nodeName.toUpperCase()=3D=3Dname.toUpperCase();},cach=
e:{},data:function(elem,name,data){elem=3Delem=3D=3Dwindow?windowData:ele=
m;var =
id=3Delem[expando];if(!id)id=3Delem[expando]=3D++uuid;if(name&&!jQuery.ca=
che[id])jQuery.cache[id]=3D{};if(data!=3D=3Dundefined)jQuery.cache[id][na=
me]=3Ddata;return =
name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=3Del=
em=3D=3Dwindow?windowData:elem;var =
id=3Delem[expando];if(name){if(jQuery.cache[id]){delete =
jQuery.cache[id][name];name=3D"";for(name in =
jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete=
 =
elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expa=
ndo);}delete jQuery.cache[id];}},each:function(object,callback,args){var =
name,i=3D0,length=3Dobject.length;if(args){if(length=3D=3Dundefined){for(=
name in =
object)if(callback.apply(object[name],args)=3D=3D=3Dfalse)break;}else=0A=
for(;i<length;)if(callback.apply(object[i++],args)=3D=3D=3Dfalse)break;}e=
lse{if(length=3D=3Dundefined){for(name in =
object)if(callback.call(object[name],name,object[name])=3D=3D=3Dfalse)bre=
ak;}else=0A=
for(var =
value=3Dobject[0];i<length&&callback.call(value,i,value)!=3D=3Dfalse;valu=
e=3Dobject[++i]){}}return =
object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value=
))value=3Dvalue.call(elem,i);return =
value&&value.constructor=3D=3DNumber&&type=3D=3D"curCSS"&&!exclude.test(n=
ame)?value+"px":value;},className:{add:function(elem,classNames){jQuery.e=
ach((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType=3D=
=3D1&&!jQuery.className.has(elem.className,className))elem.className+=3D(=
elem.className?" =
":"")+className;});},remove:function(elem,classNames){if(elem.nodeType=3D=
=3D1)elem.className=3DclassNames!=3Dundefined?jQuery.grep(elem.className.=
split(/\s+/),function(className){return!jQuery.className.has(classNames,c=
lassName);}).join(" "):"";},has:function(elem,className){return =
jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>=
-1;}},swap:function(elem,options,callback){var old=3D{};for(var name in =
options){old[name]=3Delem.style[name];elem.style[name]=3Doptions[name];}c=
allback.call(elem);for(var name in =
options)elem.style[name]=3Dold[name];},css:function(elem,name,force){if(n=
ame=3D=3D"width"||name=3D=3D"height"){var =
val,props=3D{position:"absolute",visibility:"hidden",display:"block"},whi=
ch=3Dname=3D=3D"width"?["Left","Right"]:["Top","Bottom"];function =
getWH(){val=3Dname=3D=3D"width"?elem.offsetWidth:elem.offsetHeight;var =
padding=3D0,border=3D0;jQuery.each(which,function(){padding+=3DparseFloat=
(jQuery.curCSS(elem,"padding"+this,true))||0;border+=3DparseFloat(jQuery.=
curCSS(elem,"border"+this+"Width",true))||0;});val-=3DMath.round(padding+=
border);}if(jQuery(elem).is(":visible"))getWH();else=0A=
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return =
jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var =
ret,style=3Delem.style;function =
color(elem){if(!jQuery.browser.safari)return false;var =
ret=3DdefaultView.getComputedStyle(elem,null);return!ret||ret.getProperty=
Value("color")=3D=3D"";}if(name=3D=3D"opacity"&&jQuery.browser.msie){ret=3D=
jQuery.attr(style,"opacity");return =
ret=3D=3D""?"1":ret;}if(jQuery.browser.opera&&name=3D=3D"display"){var =
save=3Dstyle.outline;style.outline=3D"0 solid =
black";style.outline=3Dsave;}if(name.match(/float/i))name=3DstyleFloat;if=
(!force&&style&&style[name])ret=3Dstyle[name];else =
if(defaultView.getComputedStyle){if(name.match(/float/i))name=3D"float";n=
ame=3Dname.replace(/([A-Z])/g,"-$1").toLowerCase();var =
computedStyle=3DdefaultView.getComputedStyle(elem,null);if(computedStyle&=
&!color(elem))ret=3DcomputedStyle.getPropertyValue(name);else{var =
swap=3D[],stack=3D[],a=3Delem,i=3D0;for(;a&&color(a);a=3Da.parentNode)sta=
ck.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=3Dstack=
[i].style.display;stack[i].style.display=3D"block";}ret=3Dname=3D=3D"disp=
lay"&&swap[stack.length-1]!=3Dnull?"none":(computedStyle&&computedStyle.g=
etPropertyValue(name))||"";for(i=3D0;i<swap.length;i++)if(swap[i]!=3Dnull=
)stack[i].style.display=3Dswap[i];}if(name=3D=3D"opacity"&&ret=3D=3D"")re=
t=3D"1";}else if(elem.currentStyle){var =
camelCase=3Dname.replace(/\-(\w)/g,function(all,letter){return =
letter.toUpperCase();});ret=3Delem.currentStyle[name]||elem.currentStyle[=
camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var =
left=3Dstyle.left,rsLeft=3Delem.runtimeStyle.left;elem.runtimeStyle.left=3D=
elem.currentStyle.left;style.left=3Dret||0;ret=3Dstyle.pixelLeft+"px";sty=
le.left=3Dleft;elem.runtimeStyle.left=3DrsLeft;}}return =
ret;},clean:function(elems,context){var =
ret=3D[];context=3Dcontext||document;if(typeof =
context.createElement=3D=3D'undefined')context=3Dcontext.ownerDocument||c=
ontext[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(=
i,elem){if(!elem)return;if(elem.constructor=3D=3DNumber)elem+=3D'';if(typ=
eof =
elem=3D=3D"string"){elem=3Delem.replace(/(<(\w+)[^>]*?)\/>/g,function(all=
,front,tag){return =
tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all=
:front+"></"+tag+">";});var =
tags=3DjQuery.trim(elem).toLowerCase(),div=3Dcontext.createElement("div")=
;var wrap=3D!tags.indexOf("<opt")&&[1,"<select =
multiple=3D'multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldse=
t>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<ta=
ble>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></t=
able>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody>=
<tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody>=
</tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<=
div>","</div>"]||[0,"",""];div.innerHTML=3Dwrap[1]+elem+wrap[2];while(wra=
p[0]--)div=3Ddiv.lastChild;if(jQuery.browser.msie){var =
tbody=3D!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&=
&div.firstChild.childNodes:wrap[1]=3D=3D"<table>"&&tags.indexOf("<tbody")=
<0?div.childNodes:[];for(var =
j=3Dtbody.length-1;j>=3D0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbod=
y[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/=
.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]=
),div.firstChild);}elem=3DjQuery.makeArray(div.childNodes);}if(elem.lengt=
h=3D=3D=3D0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"selec=
t")))return;if(elem[0]=3D=3Dundefined||jQuery.nodeName(elem,"form")||elem=
.options)ret.push(elem);else=0A=
ret=3DjQuery.merge(ret,elem);});return =
ret;},attr:function(elem,name,value){if(!elem||elem.nodeType=3D=3D3||elem=
.nodeType=3D=3D8)return undefined;var =
notxml=3D!jQuery.isXMLDoc(elem),set=3Dvalue!=3D=3Dundefined,msie=3DjQuery=
.browser.msie;name=3Dnotxml&&jQuery.props[name]||name;if(elem.tagName){va=
r =
special=3D/href|src|style/.test(name);if(name=3D=3D"selected"&&jQuery.bro=
wser.safari)elem.parentNode.selectedIndex;if(name in =
elem&&notxml&&!special){if(set){if(name=3D=3D"type"&&jQuery.nodeName(elem=
,"input")&&elem.parentNode)throw"type property can't be =
changed";elem[name]=3Dvalue;}if(jQuery.nodeName(elem,"form")&&elem.getAtt=
ributeNode(name))return elem.getAttributeNode(name).nodeValue;return =
elem[name];}if(msie&&notxml&&name=3D=3D"style")return =
jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+=
value);var =
attr=3Dmsie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(=
name);return =
attr=3D=3D=3Dnull?undefined:attr;}if(msie&&name=3D=3D"opacity"){if(set){e=
lem.zoom=3D1;elem.filter=3D(elem.filter||"").replace(/alpha\([^)]*\)/,"")=
+(parseInt(value)+''=3D=3D"NaN"?"":"alpha(opacity=3D"+value*100+")");}ret=
urn =
elem.filter&&elem.filter.indexOf("opacity=3D")>=3D0?(parseFloat(elem.filt=
er.match(/opacity=3D([^)]*)/)[1])/100)+'':"";}name=3Dname.replace(/-([a-z=
])/ig,function(all,letter){return =
letter.toUpperCase();});if(set)elem[name]=3Dvalue;return =
elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,""=
);},makeArray:function(array){var ret=3D[];if(array!=3Dnull){var =
i=3Darray.length;if(i=3D=3Dnull||array.split||array.setInterval||array.ca=
ll)ret[0]=3Darray;else=0A=
while(i)ret[--i]=3Darray[i];}return =
ret;},inArray:function(elem,array){for(var =
i=3D0,length=3Darray.length;i<length;i++)if(array[i]=3D=3D=3Delem)return =
i;return-1;},merge:function(first,second){var =
i=3D0,elem,pos=3Dfirst.length;if(jQuery.browser.msie){while(elem=3Dsecond=
[i++])if(elem.nodeType!=3D8)first[pos++]=3Delem;}else=0A=
while(elem=3Dsecond[i++])first[pos++]=3Delem;return =
first;},unique:function(array){var ret=3D[],done=3D{};try{for(var =
i=3D0,length=3Darray.length;i<length;i++){var =
id=3DjQuery.data(array[i]);if(!done[id]){done[id]=3Dtrue;ret.push(array[i=
]);}}}catch(e){ret=3Darray;}return =
ret;},grep:function(elems,callback,inv){var ret=3D[];for(var =
i=3D0,length=3Delems.length;i<length;i++)if(!inv!=3D!callback(elems[i],i)=
)ret.push(elems[i]);return ret;},map:function(elems,callback){var =
ret=3D[];for(var i=3D0,length=3Delems.length;i<length;i++){var =
value=3Dcallback(elems[i],i);if(value!=3Dnull)ret[ret.length]=3Dvalue;}re=
turn ret.concat.apply([],ret);}});var =
userAgent=3Dnavigator.userAgent.toLowerCase();jQuery.browser=3D{version:(=
userAgent.match(/.+(?:rv|it|ra|ie)[\/: =
]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(us=
erAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/m=
ozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var =
styleFloat=3DjQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({b=
oxModel:!jQuery.browser.msie||document.compatMode=3D=3D"CSS1Compat",props=
:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFl=
oat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cells=
pacing:"cellSpacing"}});jQuery.each({parent:function(elem){return =
elem.parentNode;},parents:function(elem){return =
jQuery.dir(elem,"parentNode");},next:function(elem){return =
jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return =
jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return =
jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return =
jQuery.dir(elem,"previousSibling");},siblings:function(elem){return =
jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem)=
{return jQuery.sibling(elem.firstChild);},contents:function(elem){return =
jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.d=
ocument:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[=
name]=3Dfunction(selector){var =
ret=3DjQuery.map(this,fn);if(selector&&typeof =
selector=3D=3D"string")ret=3DjQuery.multiFilter(selector,ret);return =
this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",pr=
ependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"r=
eplaceWith"},function(name,original){jQuery.fn[name]=3Dfunction(){var =
args=3Darguments;return this.each(function(){for(var =
i=3D0,length=3Dargs.length;i<length;i++)jQuery(args[i])[original](this);}=
);};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");i=
f(this.nodeType=3D=3D1)this.removeAttribute(name);},addClass:function(cla=
ssNames){jQuery.className.add(this,classNames);},removeClass:function(cla=
ssNames){jQuery.className.remove(this,classNames);},toggleClass:function(=
classNames){jQuery.className[jQuery.className.has(this,classNames)?"remov=
e":"add"](this,classNames);},remove:function(selector){if(!selector||jQue=
ry.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(func=
tion(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.paren=
tNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",t=
his).remove();while(this.firstChild)this.removeChild(this.firstChild);}},=
function(name,fn){jQuery.fn[name]=3Dfunction(){return =
this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,na=
me){var =
type=3Dname.toLowerCase();jQuery.fn[type]=3Dfunction(size){return =
this[0]=3D=3Dwindow?jQuery.browser.opera&&document.body["client"+name]||j=
Query.browser.safari&&window["inner"+name]||document.compatMode=3D=3D"CSS=
1Compat"&&document.documentElement["client"+name]||document.body["client"=
+name]:this[0]=3D=3Ddocument?Math.max(Math.max(document.body["scroll"+nam=
e],document.documentElement["scroll"+name]),Math.max(document.body["offse=
t"+name],document.documentElement["offset"+name])):size=3D=3Dundefined?(t=
his.length?jQuery.css(this[0],type):null):this.css(type,size.constructor=3D=
=3DString?size:size+"px");};});function num(elem,prop){return =
elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var =
chars=3DjQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[=
\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=3Dnew =
RegExp("^>\\s*("+chars+"+)"),quickID=3Dnew =
RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=3Dnew =
RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){re=
turn m[2]=3D=3D"*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return =
a.getAttribute("id")=3D=3Dm[2];},":":{lt:function(a,i,m){return =
i<m[3]-0;},gt:function(a,i,m){return =
i>m[3]-0;},nth:function(a,i,m){return =
m[3]-0=3D=3Di;},eq:function(a,i,m){return =
m[3]-0=3D=3Di;},first:function(a,i){return =
i=3D=3D0;},last:function(a,i,m,r){return =
i=3D=3Dr.length-1;},even:function(a,i){return =
i%2=3D=3D0;},odd:function(a,i){return =
i%2;},"first-child":function(a){return =
a.parentNode.getElementsByTagName("*")[0]=3D=3Da;},"last-child":function(=
a){return =
jQuery.nth(a.parentNode.lastChild,1,"previousSibling")=3D=3Da;},"only-chi=
ld":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibli=
ng");},parent:function(a){return =
a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(=
a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m=
[3])>=3D0;},visible:function(a){return"hidden"!=3Da.type&&jQuery.css(a,"d=
isplay")!=3D"none"&&jQuery.css(a,"visibility")!=3D"hidden";},hidden:funct=
ion(a){return"hidden"=3D=3Da.type||jQuery.css(a,"display")=3D=3D"none"||j=
Query.css(a,"visibility")=3D=3D"hidden";},enabled:function(a){return!a.di=
sabled;},disabled:function(a){return =
a.disabled;},checked:function(a){return =
a.checked;},selected:function(a){return =
a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"=3D=3D=
a.type;},radio:function(a){return"radio"=3D=3Da.type;},checkbox:function(=
a){return"checkbox"=3D=3Da.type;},file:function(a){return"file"=3D=3Da.ty=
pe;},password:function(a){return"password"=3D=3Da.type;},submit:function(=
a){return"submit"=3D=3Da.type;},image:function(a){return"image"=3D=3Da.ty=
pe;},reset:function(a){return"reset"=3D=3Da.type;},button:function(a){ret=
urn"button"=3D=3Da.type||jQuery.nodeName(a,"button");},input:function(a){=
return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i=
,m){return =
jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeN=
ame);},animated:function(a){return =
jQuery.grep(jQuery.timers,function(fn){return =
a=3D=3Dfn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=3D]*) =
*('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new =
RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var=
 old,cur=3D[];while(expr&&expr!=3Dold){old=3Dexpr;var =
f=3DjQuery.filter(expr,elems,not);expr=3Df.t.replace(/^\s*,\s*/,"");cur=3D=
not?elems=3Df.r:jQuery.merge(cur,f.r);}return =
cur;},find:function(t,context){if(typeof =
t!=3D"string")return[t];if(context&&context.nodeType!=3D1&&context.nodeTy=
pe!=3D9)return[];context=3Dcontext||document;var =
ret=3D[context],done=3D[],last,nodeName;while(t&&last!=3Dt){var =
r=3D[];last=3Dt;t=3DjQuery.trim(t);var =
foundToken=3Dfalse,re=3DquickChild,m=3Dre.exec(t);if(m){nodeName=3Dm[1].t=
oUpperCase();for(var i=3D0;ret[i];i++)for(var =
c=3Dret[i].firstChild;c;c=3Dc.nextSibling)if(c.nodeType=3D=3D1&&(nodeName=
=3D=3D"*"||c.nodeName.toUpperCase()=3D=3DnodeName))r.push(c);ret=3Dr;t=3D=
t.replace(re,"");if(t.indexOf(" =
")=3D=3D0)continue;foundToken=3Dtrue;}else{re=3D/^([>+~])\s*(\w*)/i;if((m=
=3Dre.exec(t))!=3Dnull){r=3D[];var =
merge=3D{};nodeName=3Dm[2].toUpperCase();m=3Dm[1];for(var =
j=3D0,rl=3Dret.length;j<rl;j++){var =
n=3Dm=3D=3D"~"||m=3D=3D"+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=3D=
n.nextSibling)if(n.nodeType=3D=3D1){var =
id=3DjQuery.data(n);if(m=3D=3D"~"&&merge[id])break;if(!nodeName||n.nodeNa=
me.toUpperCase()=3D=3DnodeName){if(m=3D=3D"~")merge[id]=3Dtrue;r.push(n);=
}if(m=3D=3D"+")break;}}ret=3Dr;t=3DjQuery.trim(t.replace(re,""));foundTok=
en=3Dtrue;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context=3D=3Dret[0]=
)ret.shift();done=3DjQuery.merge(done,ret);r=3Dret=3D[context];t=3D" =
"+t.substr(1,t.length);}else{var re2=3DquickID;var =
m=3Dre2.exec(t);if(m){m=3D[0,m[2],m[3],m[1]];}else{re2=3DquickClass;m=3Dr=
e2.exec(t);}m[2]=3Dm[2].replace(/\\/g,"");var =
elem=3Dret[ret.length-1];if(m[1]=3D=3D"#"&&elem&&elem.getElementById&&!jQ=
uery.isXMLDoc(elem)){var =
oid=3Delem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.o=
pera)&&oid&&typeof =
oid.id=3D=3D"string"&&oid.id!=3Dm[2])oid=3DjQuery('[@id=3D"'+m[2]+'"]',el=
em)[0];ret=3Dr=3Doid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{f=
or(var i=3D0;ret[i];i++){var =
tag=3Dm[1]=3D=3D"#"&&m[3]?m[3]:m[1]!=3D""||m[0]=3D=3D""?"*":m[2];if(tag=3D=
=3D"*"&&ret[i].nodeName.toLowerCase()=3D=3D"object")tag=3D"param";r=3DjQu=
ery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]=3D=3D".")r=3DjQuer=
y.classFilter(r,m[2]);if(m[1]=3D=3D"#"){var tmp=3D[];for(var =
i=3D0;r[i];i++)if(r[i].getAttribute("id")=3D=3Dm[2]){tmp=3D[r[i]];break;}=
r=3Dtmp;}ret=3Dr;}t=3Dt.replace(re2,"");}}if(t){var =
val=3DjQuery.filter(t,r);ret=3Dr=3Dval.r;t=3DjQuery.trim(val.t);}}if(t)re=
t=3D[];if(ret&&context=3D=3Dret[0])ret.shift();done=3DjQuery.merge(done,r=
et);return done;},classFilter:function(r,m,not){m=3D" "+m+" ";var =
tmp=3D[];for(var i=3D0;r[i];i++){var pass=3D(" "+r[i].className+" =
").indexOf(m)>=3D0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return =
tmp;},filter:function(t,r,not){var last;while(t&&t!=3Dlast){last=3Dt;var =
p=3DjQuery.parse,m;for(var =
i=3D0;p[i];i++){m=3Dp[i].exec(t);if(m){t=3Dt.substring(m[0].length);m[2]=3D=
m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]=3D=3D":"&&m[2]=3D=3D"n=
ot")r=3DisSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[=
3]);else if(m[1]=3D=3D".")r=3DjQuery.classFilter(r,m[2],not);else =
if(m[1]=3D=3D"["){var tmp=3D[],type=3Dm[3];for(var =
i=3D0,rl=3Dr.length;i<rl;i++){var =
a=3Dr[i],z=3Da[jQuery.props[m[2]]||m[2]];if(z=3D=3Dnull||/href|src|select=
ed/.test(m[2]))z=3DjQuery.attr(a,m[2])||'';if((type=3D=3D""&&!!z||type=3D=
=3D"=3D"&&z=3D=3Dm[5]||type=3D=3D"!=3D"&&z!=3Dm[5]||type=3D=3D"^=3D"&&z&&=
!z.indexOf(m[5])||type=3D=3D"$=3D"&&z.substr(z.length-m[5].length)=3D=3Dm=
[5]||(type=3D=3D"*=3D"||type=3D=3D"~=3D")&&z.indexOf(m[5])>=3D0)^not)tmp.=
push(a);}r=3Dtmp;}else if(m[1]=3D=3D":"&&m[2]=3D=3D"nth-child"){var =
merge=3D{},tmp=3D[],test=3D/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=3D=3D"eve=
n"&&"2n"||m[3]=3D=3D"odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),fi=
rst=3D(test[1]+(test[2]||1))-0,last=3Dtest[3]-0;for(var =
i=3D0,rl=3Dr.length;i<rl;i++){var =
node=3Dr[i],parentNode=3Dnode.parentNode,id=3DjQuery.data(parentNode);if(=
!merge[id]){var c=3D1;for(var =
n=3DparentNode.firstChild;n;n=3Dn.nextSibling)if(n.nodeType=3D=3D1)n.node=
Index=3Dc++;merge[id]=3Dtrue;}var =
add=3Dfalse;if(first=3D=3D0){if(node.nodeIndex=3D=3Dlast)add=3Dtrue;}else=
 =
if((node.nodeIndex-last)%first=3D=3D0&&(node.nodeIndex-last)/first>=3D0)a=
dd=3Dtrue;if(add^not)tmp.push(node);}r=3Dtmp;}else{var =
fn=3DjQuery.expr[m[1]];if(typeof =
fn=3D=3D"object")fn=3Dfn[m[2]];if(typeof =
fn=3D=3D"string")fn=3Deval("false||function(a,i){return =
"+fn+";}");r=3DjQuery.grep(r,function(elem,i){return =
fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var =
matched=3D[],cur=3Delem[dir];while(cur&&cur!=3Ddocument){if(cur.nodeType=3D=
=3D1)matched.push(cur);cur=3Dcur[dir];}return =
matched;},nth:function(cur,result,dir,elem){result=3Dresult||1;var =
num=3D0;for(;cur;cur=3Dcur[dir])if(cur.nodeType=3D=3D1&&++num=3D=3Dresult=
)break;return cur;},sibling:function(n,elem){var =
r=3D[];for(;n;n=3Dn.nextSibling){if(n.nodeType=3D=3D1&&n!=3Delem)r.push(n=
);}return =
r;}});jQuery.event=3D{add:function(elem,types,handler,data){if(elem.nodeT=
ype=3D=3D3||elem.nodeType=3D=3D8)return;if(jQuery.browser.msie&&elem.setI=
nterval)elem=3Dwindow;if(!handler.guid)handler.guid=3Dthis.guid++;if(data=
!=3Dundefined){var =
fn=3Dhandler;handler=3Dthis.proxy(fn,function(){return =
fn.apply(this,arguments);});handler.data=3Ddata;}var =
events=3DjQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=
=3DjQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(ty=
peof jQuery!=3D"undefined"&&!jQuery.event.triggered)return =
jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=
=3Delem;jQuery.each(types.split(/\s+/),function(index,type){var =
parts=3Dtype.split(".");type=3Dparts[0];handler.type=3Dparts[1];var =
handlers=3Devents[type];if(!handlers){handlers=3Devents[type]=3D{};if(!jQ=
uery.event.special[type]||jQuery.event.special[type].setup.call(elem)=3D=3D=
=3Dfalse){if(elem.addEventListener)elem.addEventListener(type,handle,fals=
e);else =
if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler=
.guid]=3Dhandler;jQuery.event.global[type]=3Dtrue;});elem=3Dnull;},guid:1=
,global:{},remove:function(elem,types,handler){if(elem.nodeType=3D=3D3||e=
lem.nodeType=3D=3D8)return;var =
events=3DjQuery.data(elem,"events"),ret,index;if(events){if(types=3D=3Dun=
defined||(typeof types=3D=3D"string"&&types.charAt(0)=3D=3D"."))for(var =
type in =
events)this.remove(elem,type+(types||""));else{if(types.type){handler=3Dt=
ypes.handler;types=3Dtypes.type;}jQuery.each(types.split(/\s+/),function(=
index,type){var =
parts=3Dtype.split(".");type=3Dparts[0];if(events[type]){if(handler)delet=
e events[type][handler.guid];else=0A=
for(handler in =
events[type])if(!parts[1]||events[type][handler].type=3D=3Dparts[1])delet=
e events[type][handler];for(ret in =
events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.=
special[type].teardown.call(elem)=3D=3D=3Dfalse){if(elem.removeEventListe=
ner)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else =
if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle")=
);}ret=3Dnull;delete events[type];}}});}for(ret in =
events)break;if(!ret){var =
handle=3DjQuery.data(elem,"handle");if(handle)handle.elem=3Dnull;jQuery.r=
emoveData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:fun=
ction(type,data,elem,donative,extra){data=3DjQuery.makeArray(data);if(typ=
e.indexOf("!")>=3D0){type=3Dtype.slice(0,-1);var =
exclusive=3Dtrue;}if(!elem){if(this.global[type])jQuery("*").add([window,=
document]).trigger(type,data);}else{if(elem.nodeType=3D=3D3||elem.nodeTyp=
e=3D=3D8)return undefined;var =
val,ret,fn=3DjQuery.isFunction(elem[type]||null),event=3D!data[0]||!data[=
0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDe=
fault:function(){},stopPropagation:function(){},timeStamp:now()});data[0]=
[expando]=3Dtrue;}data[0].type=3Dtype;if(exclusive)data[0].exclusive=3Dtr=
ue;var =
handle=3DjQuery.data(elem,"handle");if(handle)val=3Dhandle.apply(elem,dat=
a);if((!fn||(jQuery.nodeName(elem,'a')&&type=3D=3D"click"))&&elem["on"+ty=
pe]&&elem["on"+type].apply(elem,data)=3D=3D=3Dfalse)val=3Dfalse;if(event)=
data.shift();if(extra&&jQuery.isFunction(extra)){ret=3Dextra.apply(elem,v=
al=3D=3Dnull?data:data.concat(val));if(ret!=3D=3Dundefined)val=3Dret;}if(=
fn&&donative!=3D=3Dfalse&&val!=3D=3Dfalse&&!(jQuery.nodeName(elem,'a')&&t=
ype=3D=3D"click")){this.triggered=3Dtrue;try{elem[type]();}catch(e){}}thi=
s.triggered=3Dfalse;}return val;},handle:function(event){var =
val,ret,namespace,all,handlers;event=3Darguments[0]=3DjQuery.event.fix(ev=
ent||window.event);namespace=3Devent.type.split(".");event.type=3Dnamespa=
ce[0];namespace=3Dnamespace[1];all=3D!namespace&&!event.exclusive;handler=
s=3D(jQuery.data(this,"events")||{})[event.type];for(var j in =
handlers){var =
handler=3Dhandlers[j];if(all||handler.type=3D=3Dnamespace){event.handler=3D=
handler;event.data=3Dhandler.data;ret=3Dhandler.apply(this,arguments);if(=
val!=3D=3Dfalse)val=3Dret;if(ret=3D=3D=3Dfalse){event.preventDefault();ev=
ent.stopPropagation();}}}return =
val;},fix:function(event){if(event[expando]=3D=3Dtrue)return event;var =
originalEvent=3Devent;event=3D{originalEvent:originalEvent};var =
props=3D"altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode metaKey newValue originalTarget pageX pageY prevValue =
relatedNode relatedTarget screenX screenY shiftKey srcElement target =
timeStamp toElement type view wheelDelta which".split(" ");for(var =
i=3Dprops.length;i;i--)event[props[i]]=3DoriginalEvent[props[i]];event[ex=
pando]=3Dtrue;event.preventDefault=3Dfunction(){if(originalEvent.preventD=
efault)originalEvent.preventDefault();originalEvent.returnValue=3Dfalse;}=
;event.stopPropagation=3Dfunction(){if(originalEvent.stopPropagation)orig=
inalEvent.stopPropagation();originalEvent.cancelBubble=3Dtrue;};event.tim=
eStamp=3Devent.timeStamp||now();if(!event.target)event.target=3Devent.src=
Element||document;if(event.target.nodeType=3D=3D3)event.target=3Devent.ta=
rget.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedT=
arget=3Devent.fromElement=3D=3Devent.target?event.toElement:event.fromEle=
ment;if(event.pageX=3D=3Dnull&&event.clientX!=3Dnull){var =
doc=3Ddocument.documentElement,body=3Ddocument.body;event.pageX=3Devent.c=
lientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0=
);event.pageY=3Devent.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||=
0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode=3D=
=3D=3D0)?event.charCode:event.keyCode))event.which=3Devent.charCode||even=
t.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=3Devent.ctrlKey;=
if(!event.which&&event.button)event.which=3D(event.button&1?1:(event.butt=
on&2?3:(event.button&4?2:0)));return =
event;},proxy:function(fn,proxy){proxy.guid=3Dfn.guid=3Dfn.guid||proxy.gu=
id||this.guid++;return =
proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:fu=
nction(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)re=
turn =
false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handl=
er);return true;},teardown:function(){if(jQuery.browser.msie)return =
false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.han=
dler);return =
true;},handler:function(event){if(withinElement(event,this))return =
true;event.type=3D"mouseenter";return =
jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function()=
{if(jQuery.browser.msie)return =
false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handle=
r);return true;},teardown:function(){if(jQuery.browser.msie)return =
false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.hand=
ler);return =
true;},handler:function(event){if(withinElement(event,this))return =
true;event.type=3D"mouseleave";return =
jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:fun=
ction(type,data,fn){return =
type=3D=3D"unload"?this.one(type,data,fn):this.each(function(){jQuery.eve=
nt.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var =
one=3DjQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(eve=
nt,one);return(fn||data).apply(this,arguments);});return =
this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind=
:function(type,fn){return =
this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:funct=
ion(type,data,fn){return =
this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},tr=
iggerHandler:function(type,data,fn){return =
this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:functi=
on(fn){var =
args=3Darguments,i=3D1;while(i<args.length)jQuery.event.proxy(fn,args[i++=
]);return =
this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=3D(this.=
lastToggle||0)%i;event.preventDefault();return =
args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function=
(fnOver,fnOut){return =
this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(=
fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else=0A=
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return =
this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!j=
Query.isReady){jQuery.isReady=3Dtrue;if(jQuery.readyList){jQuery.each(jQu=
ery.readyList,function(){this.call(document);});jQuery.readyList=3Dnull;}=
jQuery(document).triggerHandler("ready");}}});var =
readyBound=3Dfalse;function =
bindReady(){if(readyBound)return;readyBound=3Dtrue;if(document.addEventLi=
stener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded=
",jQuery.ready,false);if(jQuery.browser.msie&&window=3D=3Dtop)(function()=
{if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}=
catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();i=
f(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",funct=
ion(){if(jQuery.isReady)return;for(var =
i=3D0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabl=
ed){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQu=
ery.browser.safari){var =
numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!=3D=
"loaded"&&document.readyState!=3D"complete"){setTimeout(arguments.callee,=
0);return;}if(numStyles=3D=3D=3Dundefined)numStyles=3DjQuery("style, =
link[rel=3Dstylesheet]").length;if(document.styleSheets.length!=3DnumStyl=
es){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.ev=
ent.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize=
,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mo=
useout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),=
function(i,name){jQuery.fn[name]=3Dfunction(fn){return =
fn?this.bind(name,fn):this.trigger(name);};});var =
withinElement=3Dfunction(event,elem){var =
parent=3Devent.relatedTarget;while(parent&&parent!=3Delem)try{parent=3Dpa=
rent.parentNode;}catch(error){parent=3Delem;}return =
parent=3D=3Delem;};jQuery(window).bind("unload",function(){jQuery("*").ad=
d(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:funct=
ion(url,params,callback){if(typeof url!=3D'string')return =
this._load(url);var off=3Durl.indexOf(" ");if(off>=3D0){var =
selector=3Durl.slice(off,url.length);url=3Durl.slice(0,off);}callback=3Dc=
allback||function(){};var =
type=3D"GET";if(params)if(jQuery.isFunction(params)){callback=3Dparams;pa=
rams=3Dnull;}else{params=3DjQuery.param(params);type=3D"POST";}var =
self=3Dthis;jQuery.ajax({url:url,type:type,dataType:"html",data:params,co=
mplete:function(res,status){if(status=3D=3D"success"||status=3D=3D"notmod=
ified")self.html(selector?jQuery("<div/>").append(res.responseText.replac=
e(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.=
each(callback,[res.responseText,status,res]);}});return =
this;},serialize:function(){return =
jQuery.param(this.serializeArray());},serializeArray:function(){return =
this.map(function(){return =
jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filt=
er(function(){return =
this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.no=
deName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem)=
{var val=3DjQuery(this).val();return =
val=3D=3Dnull?null:val.constructor=3D=3DArray?jQuery.map(val,function(val=
,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get=
();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess=
,ajaxSend".split(","),function(i,o){jQuery.fn[o]=3Dfunction(f){return =
this.bind(o,f);};});var =
jsc=3Dnow();jQuery.extend({get:function(url,data,callback,type){if(jQuery=
.isFunction(data)){callback=3Ddata;data=3Dnull;}return =
jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type}=
);},getScript:function(url,callback){return =
jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callba=
ck){return =
jQuery.get(url,data,callback,"json");},post:function(url,data,callback,ty=
pe){if(jQuery.isFunction(data)){callback=3Ddata;data=3D{};}return =
jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type=
});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,setti=
ngs);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,c=
ontentType:"application/x-www-form-urlencoded",processData:true,async:tru=
e,data:null,username:null,password:null,accepts:{xml:"application/xml, =
text/xml",html:"text/html",script:"text/javascript, =
application/javascript",json:"application/json, =
text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:=
function(s){s=3DjQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSet=
tings,s));var =
jsonp,jsre=3D/=3D\?(&|$)/g,status,data,type=3Ds.type.toUpperCase();if(s.d=
ata&&s.processData&&typeof =
s.data!=3D"string")s.data=3DjQuery.param(s.data);if(s.dataType=3D=3D"json=
p"){if(type=3D=3D"GET"){if(!s.url.match(jsre))s.url+=3D(s.url.match(/\?/)=
?"&":"?")+(s.jsonp||"callback")+"=3D?";}else =
if(!s.data||!s.data.match(jsre))s.data=3D(s.data?s.data+"&":"")+(s.jsonp|=
|"callback")+"=3D?";s.dataType=3D"json";}if(s.dataType=3D=3D"json"&&(s.da=
ta&&s.data.match(jsre)||s.url.match(jsre))){jsonp=3D"jsonp"+jsc++;if(s.da=
ta)s.data=3D(s.data+"").replace(jsre,"=3D"+jsonp+"$1");s.url=3Ds.url.repl=
ace(jsre,"=3D"+jsonp+"$1");s.dataType=3D"script";window[jsonp]=3Dfunction=
(tmp){data=3Dtmp;success();complete();window[jsonp]=3Dundefined;try{delet=
e =
window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataTyp=
e=3D=3D"script"&&s.cache=3D=3Dnull)s.cache=3Dfalse;if(s.cache=3D=3D=3Dfal=
se&&type=3D=3D"GET"){var ts=3Dnow();var =
ret=3Ds.url.replace(/(\?|&)_=3D.*?(&|$)/,"$1_=3D"+ts+"$2");s.url=3Dret+((=
ret=3D=3Ds.url)?(s.url.match(/\?/)?"&":"?")+"_=3D"+ts:"");}if(s.data&&typ=
e=3D=3D"GET"){s.url+=3D(s.url.match(/\?/)?"&":"?")+s.data;s.data=3Dnull;}=
if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var =
remote=3D/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=3D=3D"script"&&type=3D=3D=
"GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=3Dlocation.host){var =
head=3Ddocument.getElementsByTagName("head")[0];var =
script=3Ddocument.createElement("script");script.src=3Ds.url;if(s.scriptC=
harset)script.charset=3Ds.scriptCharset;if(!jsonp){var =
done=3Dfalse;script.onload=3Dscript.onreadystatechange=3Dfunction(){if(!d=
one&&(!this.readyState||this.readyState=3D=3D"loaded"||this.readyState=3D=
=3D"complete")){done=3Dtrue;success();complete();head.removeChild(script)=
;}};}head.appendChild(script);return undefined;}var =
requestDone=3Dfalse;var xhr=3Dwindow.ActiveXObject?new =
ActiveXObject("Microsoft.XMLHTTP"):new =
XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.p=
assword);else=0A=
xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-=
Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Si=
nce",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 =
GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRe=
questHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataTy=
pe]+", =
*/*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)=3D=
=3D=3Dfalse){s.global&&jQuery.active--;xhr.abort();return =
false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var =
onreadystatechange=3Dfunction(isTimeout){if(!requestDone&&xhr&&(xhr.ready=
State=3D=3D4||isTimeout=3D=3D"timeout")){requestDone=3Dtrue;if(ival){clea=
rInterval(ival);ival=3Dnull;}status=3DisTimeout=3D=3D"timeout"&&"timeout"=
||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified=
(xhr,s.url)&&"notmodified"||"success";if(status=3D=3D"success"){try{data=3D=
jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status=3D"parserer=
ror";}}if(status=3D=3D"success"){var =
modRes;try{modRes=3Dxhr.getResponseHeader("Last-Modified");}catch(e){}if(=
s.ifModified&&modRes)jQuery.lastModified[s.url]=3DmodRes;if(!jsonp)succes=
s();}else=0A=
jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=3Dnull;}};if(s=
.async){var =
ival=3DsetInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(funct=
ion(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}=
},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,nul=
l,e);}if(!s.async)onreadystatechange();function =
success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.tr=
igger("ajaxSuccess",[xhr,s]);}function =
complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.=
trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.even=
t.trigger("ajaxStop");}return =
xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,=
e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,htt=
pSuccess:function(xhr){try{return!xhr.status&&location.protocol=3D=3D"fil=
e:"||(xhr.status>=3D200&&xhr.status<300)||xhr.status=3D=3D304||xhr.status=
=3D=3D1223||jQuery.browser.safari&&xhr.status=3D=3Dundefined;}catch(e){}r=
eturn false;},httpNotModified:function(xhr,url){try{var =
xhrRes=3Dxhr.getResponseHeader("Last-Modified");return =
xhr.status=3D=3D304||xhrRes=3D=3DjQuery.lastModified[url]||jQuery.browser=
.safari&&xhr.status=3D=3Dundefined;}catch(e){}return =
false;},httpData:function(xhr,type,filter){var =
ct=3Dxhr.getResponseHeader("content-type"),xml=3Dtype=3D=3D"xml"||!type&&=
ct&&ct.indexOf("xml")>=3D0,data=3Dxml?xhr.responseXML:xhr.responseText;if=
(xml&&data.documentElement.tagName=3D=3D"parsererror")throw"parsererror";=
if(filter)data=3Dfilter(data,type);if(type=3D=3D"script")jQuery.globalEva=
l(data);if(type=3D=3D"json")data=3Deval("("+data+")");return =
data;},param:function(a){var =
s=3D[];if(a.constructor=3D=3DArray||a.jquery)jQuery.each(a,function(){s.p=
ush(encodeURIComponent(this.name)+"=3D"+encodeURIComponent(this.value));}=
);else=0A=
for(var j in =
a)if(a[j]&&a[j].constructor=3D=3DArray)jQuery.each(a[j],function(){s.push=
(encodeURIComponent(j)+"=3D"+encodeURIComponent(this));});else=0A=
s.push(encodeURIComponent(j)+"=3D"+encodeURIComponent(jQuery.isFunction(a=
[j])?a[j]():a[j]));return =
s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed=
,callback){return =
speed?this.animate({height:"show",width:"show",opacity:"show"},speed,call=
back):this.filter(":hidden").each(function(){this.style.display=3Dthis.ol=
dblock||"";if(jQuery.css(this,"display")=3D=3D"none"){var =
elem=3DjQuery("<"+this.tagName+" =
/>").appendTo("body");this.style.display=3Delem.css("display");if(this.st=
yle.display=3D=3D"none")this.style.display=3D"block";elem.remove();}}).en=
d();},hide:function(speed,callback){return =
speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,call=
back):this.filter(":visible").each(function(){this.oldblock=3Dthis.oldblo=
ck||jQuery.css(this,"display");this.style.display=3D"none";}).end();},_to=
ggle:jQuery.fn.toggle,toggle:function(fn,fn2){return =
jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arg=
uments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"}=
,fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"sh=
ow":"hide"]();});},slideDown:function(speed,callback){return =
this.animate({height:"show"},speed,callback);},slideUp:function(speed,cal=
lback){return =
this.animate({height:"hide"},speed,callback);},slideToggle:function(speed=
,callback){return =
this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,ca=
llback){return =
this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,ca=
llback){return =
this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,=
callback){return =
this.animate({opacity:to},speed,callback);},animate:function(prop,speed,e=
asing,callback){var optall=3DjQuery.speed(speed,easing,callback);return =
this[optall.queue=3D=3D=3Dfalse?"each":"queue"](function(){if(this.nodeTy=
pe!=3D1)return false;var =
opt=3DjQuery.extend({},optall),p,hidden=3DjQuery(this).is(":hidden"),self=
=3Dthis;for(p in =
prop){if(prop[p]=3D=3D"hide"&&hidden||prop[p]=3D=3D"show"&&!hidden)return=
 =
opt.complete.call(this);if(p=3D=3D"height"||p=3D=3D"width"){opt.display=3D=
jQuery.css(this,"display");opt.overflow=3Dthis.style.overflow;}}if(opt.ov=
erflow!=3Dnull)this.style.overflow=3D"hidden";opt.curAnim=3DjQuery.extend=
({},prop);jQuery.each(prop,function(name,val){var e=3Dnew =
jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=3D=3D"togg=
le"?hidden?"show":"hide":val](prop);else{var =
parts=3Dval.toString().match(/^([+-]=3D)?([\d+-.]+)(.*)$/),start=3De.cur(=
true)||0;if(parts){var =
end=3DparseFloat(parts[2]),unit=3Dparts[3]||"px";if(unit!=3D"px"){self.st=
yle[name]=3D(end||1)+unit;start=3D((end||1)/e.cur(true))*start;self.style=
[name]=3Dstart+unit;}if(parts[1])end=3D((parts[1]=3D=3D"-=3D"?-1:1)*end)+=
start;e.custom(start,end,unit);}else=0A=
e.custom(start,val,"");}});return =
true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type=
.constructor=3D=3DArray)){fn=3Dtype;type=3D"fx";}if(!type||(typeof =
type=3D=3D"string"&&!fn))return queue(this[0],type);return =
this.each(function(){if(fn.constructor=3D=3DArray)queue(this,type,fn);els=
e{queue(this,type).push(fn);if(queue(this,type).length=3D=3D1)fn.call(thi=
s);}});},stop:function(clearQueue,gotoEnd){var =
timers=3DjQuery.timers;if(clearQueue)this.queue([]);this.each(function(){=
for(var =
i=3Dtimers.length-1;i>=3D0;i--)if(timers[i].elem=3D=3Dthis){if(gotoEnd)ti=
mers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return =
this;}});var =
queue=3Dfunction(elem,type,array){if(elem){type=3Dtype||"fx";var =
q=3DjQuery.data(elem,type+"queue");if(!q||array)q=3DjQuery.data(elem,type=
+"queue",jQuery.makeArray(array));}return =
q;};jQuery.fn.dequeue=3Dfunction(type){type=3Dtype||"fx";return =
this.each(function(){var =
q=3Dqueue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.ex=
tend({speed:function(speed,easing,fn){var =
opt=3Dspeed&&speed.constructor=3D=3DObject?speed:{complete:fn||!fn&&easin=
g||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easi=
ng&&easing.constructor!=3DFunction&&easing};opt.duration=3D(opt.duration&=
&opt.duration.constructor=3D=3DNumber?opt.duration:jQuery.fx.speeds[opt.d=
uration])||jQuery.fx.speeds.def;opt.old=3Dopt.complete;opt.complete=3Dfun=
ction(){if(opt.queue!=3D=3Dfalse)jQuery(this).dequeue();if(jQuery.isFunct=
ion(opt.old))opt.old.call(this);};return =
opt;},easing:{linear:function(p,n,firstNum,diff){return =
firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*M=
ath.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,=
options,prop){this.options=3Doptions;this.elem=3Delem;this.prop=3Dprop;if=
(!options.orig)options.orig=3D{};}});jQuery.fx.prototype=3D{update:functi=
on(){if(this.options.step)this.options.step.call(this.elem,this.now,this)=
;(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=3D=
=3D"height"||this.prop=3D=3D"width")this.elem.style.display=3D"block";},c=
ur:function(force){if(this.elem[this.prop]!=3Dnull&&this.elem.style[this.=
prop]=3D=3Dnull)return this.elem[this.prop];var =
r=3DparseFloat(jQuery.css(this.elem,this.prop,force));return =
r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:=
function(from,to,unit){this.startTime=3Dnow();this.start=3Dfrom;this.end=3D=
to;this.unit=3Dunit||this.unit||"px";this.now=3Dthis.start;this.pos=3Dthi=
s.state=3D0;this.update();var self=3Dthis;function t(gotoEnd){return =
self.step(gotoEnd);}t.elem=3Dthis.elem;jQuery.timers.push(t);if(jQuery.ti=
merId=3D=3Dnull){jQuery.timerId=3DsetInterval(function(){var =
timers=3DjQuery.timers;for(var =
i=3D0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers=
.length){clearInterval(jQuery.timerId);jQuery.timerId=3Dnull;}},13);}},sh=
ow:function(){this.options.orig[this.prop]=3DjQuery.attr(this.elem.style,=
this.prop);this.options.show=3Dtrue;this.custom(0,this.cur());if(this.pro=
p=3D=3D"width"||this.prop=3D=3D"height")this.elem.style[this.prop]=3D"1px=
";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=
=3DjQuery.attr(this.elem.style,this.prop);this.options.hide=3Dtrue;this.c=
ustom(this.cur(),0);},step:function(gotoEnd){var =
t=3Dnow();if(gotoEnd||t>this.options.duration+this.startTime){this.now=3D=
this.end;this.pos=3Dthis.state=3D1;this.update();this.options.curAnim[thi=
s.prop]=3Dtrue;var done=3Dtrue;for(var i in =
this.options.curAnim)if(this.options.curAnim[i]!=3D=3Dtrue)done=3Dfalse;i=
f(done){if(this.options.display!=3Dnull){this.elem.style.overflow=3Dthis.=
options.overflow;this.elem.style.display=3Dthis.options.display;if(jQuery=
.css(this.elem,"display")=3D=3D"none")this.elem.style.display=3D"block";}=
if(this.options.hide)this.elem.style.display=3D"none";if(this.options.hid=
e||this.options.show)for(var p in =
this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);=
}if(done)this.options.complete.call(this.elem);return false;}else{var =
n=3Dt-this.startTime;this.state=3Dn/this.options.duration;this.pos=3DjQue=
ry.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](th=
is.state,n,0,1,this.options.duration);this.now=3Dthis.start+((this.end-th=
is.start)*this.pos);this.update();}return =
true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:=
{scrollLeft:function(fx){fx.elem.scrollLeft=3Dfx.now;},scrollTop:function=
(fx){fx.elem.scrollTop=3Dfx.now;},opacity:function(fx){jQuery.attr(fx.ele=
m.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=3D=
fx.now+fx.unit;}}});jQuery.fn.offset=3Dfunction(){var =
left=3D0,top=3D0,elem=3Dthis[0],results;if(elem)with(jQuery.browser){var =
parent=3Delem.parentNode,offsetChild=3Delem,offsetParent=3Delem.offsetPar=
ent,doc=3Delem.ownerDocument,safari2=3Dsafari&&parseInt(version)<522&&!/a=
dobeair/i.test(userAgent),css=3DjQuery.curCSS,fixed=3Dcss(elem,"position"=
)=3D=3D"fixed";if(elem.getBoundingClientRect){var =
box=3Delem.getBoundingClientRect();add(box.left+Math.max(doc.documentElem=
ent.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.=
scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.d=
ocumentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while=
(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(moz=
illa&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)bord=
er(offsetParent);if(!fixed&&css(offsetParent,"position")=3D=3D"fixed")fix=
ed=3Dtrue;offsetChild=3D/^body$/i.test(offsetParent.tagName)?offsetChild:=
offsetParent;offsetParent=3DoffsetParent.offsetParent;}while(parent&&pare=
nt.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i=
.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if=
(mozilla&&css(parent,"overflow")!=3D"visible")border(parent);parent=3Dpar=
ent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=3D=3D"ab=
solute"))||(mozilla&&css(offsetChild,"position")!=3D"absolute"))add(-doc.=
body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentEl=
ement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scroll=
Top,doc.body.scrollTop));}results=3D{top:top,left:left};}function =
border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS=
(elem,"borderTopWidth",true));}function =
add(l,t){left+=3DparseInt(l,10)||0;top+=3DparseInt(t,10)||0;}return =
results;};jQuery.fn.extend({position:function(){var =
left=3D0,top=3D0,results;if(this[0]){var =
offsetParent=3Dthis.offsetParent(),offset=3Dthis.offset(),parentOffset=3D=
/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.=
offset();offset.top-=3Dnum(this,'marginTop');offset.left-=3Dnum(this,'mar=
ginLeft');parentOffset.top+=3Dnum(offsetParent,'borderTopWidth');parentOf=
fset.left+=3Dnum(offsetParent,'borderLeftWidth');results=3D{top:offset.to=
p-parentOffset.top,left:offset.left-parentOffset.left};}return =
results;},offsetParent:function(){var =
offsetParent=3Dthis[0].offsetParent;while(offsetParent&&(!/^body|html$/i.=
test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=3D=3D'sta=
tic'))offsetParent=3DoffsetParent.offsetParent;return =
jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var =
method=3D'scroll'+name;jQuery.fn[method]=3Dfunction(val){if(!this[0])retu=
rn;return =
val!=3Dundefined?this.each(function(){this=3D=3Dwindow||this=3D=3Ddocumen=
t?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window)=
.scrollTop()):this[method]=3Dval;}):this[0]=3D=3Dwindow||this[0]=3D=3Ddoc=
ument?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.docu=
mentElement[method]||document.body[method]:this[0][method];};});jQuery.ea=
ch(["Height","Width"],function(i,name){var =
tl=3Di?"Left":"Top",br=3Di?"Right":"Bottom";jQuery.fn["inner"+name]=3Dfun=
ction(){return =
this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);=
};jQuery.fn["outer"+name]=3Dfunction(margin){return =
this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"=
Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/WebResource.axd?d=_F5R5n9uloySRlGKD5F_R4VwsZz28ahNwY8_9PflzI3Q4twu4Q6VnHUWgMe4qUCOPdcccXdSSCHSEsoluBAXjbcpLT01&t=634221037391461589

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, =
validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget =3D eventTarget;
    this.eventArgument =3D eventArgument;
    this.validation =3D validation;
    this.validationGroup =3D validationGroup;
    this.actionUrl =3D actionUrl;
    this.trackFocus =3D trackFocus;
    this.clientSubmit =3D clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
    var validationResult =3D true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) =3D=3D 'function') {
            validationResult =3D =
Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) !=3D "undefined") && =
(options.actionUrl !=3D null) && (options.actionUrl.length > 0)) {
            theForm.action =3D options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus =3D theForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D =
null)) {
                if (typeof(document.activeElement) =3D=3D "undefined") {
                    lastFocus.value =3D options.eventTarget;
                }
                else {
                    var active =3D document.activeElement;
                    if ((typeof(active) !=3D "undefined") && (active =
!=3D null)) {
                        if ((typeof(active.id) !=3D "undefined") && =
(active.id !=3D null) && (active.id.length > 0)) {
                            lastFocus.value =3D active.id;
                        }
                        else if (typeof(active.name) !=3D "undefined") {
                            lastFocus.value =3D active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}
var __pendingCallbacks =3D new Array();
var __synchronousCallBackIndex =3D -1;
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, =
context, errorCallback, useAsync) {
    var postData =3D __theFormPostData +
                "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) =
+
                "&__CALLBACKPARAM=3D" + =
WebForm_EncodeCallback(eventArgument);
    if (theForm["__EVENTVALIDATION"]) {
        postData +=3D "&__EVENTVALIDATION=3D" + =
WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest =3D new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists =3D true;
    try {
        setRequestHeaderMethodExists =3D (xmlRequest && =
xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback =3D new Object();
    callback.eventCallback =3D eventCallback;
    callback.context =3D context;
    callback.errorCallback =3D errorCallback;
    callback.async =3D useAsync;
    var callbackIndex =3D =
WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
    if (!useAsync) {
        if (__synchronousCallBackIndex !=3D -1) {
            __pendingCallbacks[__synchronousCallBackIndex] =3D null;
        }
        __synchronousCallBackIndex =3D callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange =3D WebForm_CallbackComplete;
        callback.xmlRequest =3D xmlRequest;
        xmlRequest.open("POST", theForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded; charset=3Dutf-8");
        xmlRequest.send(postData);
        return;
    }
    callback.xmlRequest =3D new Object();
    var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame =3D document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame =3D document.createElement("IFRAME");
        xmlRequestFrame.width =3D "1";
        xmlRequestFrame.height =3D "1";
        xmlRequestFrame.frameBorder =3D "0";
        xmlRequestFrame.id =3D callbackFrameID;
        xmlRequestFrame.name =3D callbackFrameID;
        xmlRequestFrame.style.position =3D "absolute";
        xmlRequestFrame.style.top =3D "-100px"
        xmlRequestFrame.style.left =3D "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src =3D callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval =3D window.setInterval(function() {
        xmlRequestFrame =3D document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form =
method=3D"post"><input type=3D"hidden" name=3D"__CALLBACKLOADSCRIPT" =
value=3D"t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action =3D theForm.action;
            var count =3D __theFormPostCollection.length;
            var element;
            for (var i =3D 0; i < count; i++) {
                element =3D __theFormPostCollection[i];
                if (element) {
                    var fieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type =3D "hidden";
                    fieldElement.name =3D element.name;
                    fieldElement.value =3D element.value;
                    =
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type =3D "hidden";
            callbackIdFieldElement.name =3D "__CALLBACKID";
            callbackIdFieldElement.value =3D eventTarget;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type =3D "hidden";
            callbackParamFieldElement.name =3D "__CALLBACKPARAM";
            callbackParamFieldElement.value =3D eventArgument;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);=

            if (theForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type =3D "hidden";
                callbackValidationFieldElement.name =3D =
"__EVENTVALIDATION";
                callbackValidationFieldElement.value =3D =
theForm["__EVENTVALIDATION"].value;
                =
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem=
ent);
            }
            var callbackIndexFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type =3D "hidden";
            callbackIndexFieldElement.name =3D "__CALLBACKINDEX";
            callbackIndexFieldElement.value =3D callbackIndex;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);=

            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function WebForm_CallbackComplete() {
    for (var i =3D 0; i < __pendingCallbacks.length; i++) {
        callbackObject =3D __pendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && =
(callbackObject.xmlRequest.readyState =3D=3D 4)) {
            WebForm_ExecuteCallback(callbackObject);
            if (!__pendingCallbacks[i].async) {
                __synchronousCallBackIndex =3D -1;
            }
            __pendingCallbacks[i] =3D null;
            var callbackFrameID =3D "__CALLBACKFRAME" + i;
            var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function WebForm_ExecuteCallback(callbackObject) {
    var response =3D callbackObject.xmlRequest.responseText;
    if (response.charAt(0) =3D=3D "s") {
        if ((typeof(callbackObject.eventCallback) !=3D "undefined") && =
(callbackObject.eventCallback !=3D null)) {
            callbackObject.eventCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else if (response.charAt(0) =3D=3D "e") {
        if ((typeof(callbackObject.errorCallback) !=3D "undefined") && =
(callbackObject.errorCallback !=3D null)) {
            callbackObject.errorCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else {
        var separatorIndex =3D response.indexOf("|");
        if (separatorIndex !=3D -1) {
            var validationFieldLength =3D parseInt(response.substring(0, =
separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField =3D =
response.substring(separatorIndex + 1, separatorIndex + =
validationFieldLength + 1);
                if (validationField !=3D "") {
                    var validationFieldElement =3D =
theForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement =3D =
document.createElement("INPUT");
                        validationFieldElement.type =3D "hidden";
                        validationFieldElement.name =3D =
"__EVENTVALIDATION";
                        theForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value =3D validationField;
                }
                if ((typeof(callbackObject.eventCallback) !=3D =
"undefined") && (callbackObject.eventCallback !=3D null)) {
                    =
callbackObject.eventCallback(response.substring(separatorIndex + =
validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}
function WebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i =3D 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] =3D element;
    return i;
}
var __nonMSDOMBrowser =3D =
(window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1);
var __theFormPostData =3D "";
var __theFormPostCollection =3D new Array();
function WebForm_InitCallback() {
    var count =3D theForm.elements.length;
    var element;
    for (var i =3D 0; i < count; i++) {
        element =3D theForm.elements[i];
        var tagName =3D element.tagName.toLowerCase();
        if (tagName =3D=3D "input") {
            var type =3D element.type;
            if ((type =3D=3D "text" || type =3D=3D "hidden" || type =
=3D=3D "password" ||
                ((type =3D=3D "checkbox" || type =3D=3D "radio") && =
element.checked)) &&
                (element.id !=3D "__EVENTVALIDATION")) {
                WebForm_InitCallbackAddField(element.name, =
element.value);
            }
        }
        else if (tagName =3D=3D "select") {
            var selectCount =3D element.options.length;
            for (var j =3D 0; j < selectCount; j++) {
                var selectChild =3D element.options[j];
                if (selectChild.selected =3D=3D true) {
                    WebForm_InitCallbackAddField(element.name, =
element.value);
                }
            }
        }
        else if (tagName =3D=3D "textarea") {
            WebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function WebForm_InitCallbackAddField(name, value) {
    var nameValue =3D new Object();
    nameValue.name =3D name;
    nameValue.value =3D value;
    __theFormPostCollection[__theFormPostCollection.length] =3D =
nameValue;
    __theFormPostData +=3D WebForm_EncodeCallback(name) + "=3D" + =
WebForm_EncodeCallback(value) + "&";
}
function WebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray =3D new Array();
function WebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) =3D=3D 'undefined') {
        return false;
    }
    var disabledIndex =3D 0;
    for (var i =3D 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__nonMSDOMBrowser) {
            c =3D document.getElementById(__enabledControlArray[i]);
        }
        else {
            c =3D document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled =
=3D=3D true)) {
            c.disabled =3D false;
            __disabledControlArray[disabledIndex++] =3D c;
        }
    }
    setTimeout("WebForm_ReDisableControls()", 0);
    return true;
}
function WebForm_ReDisableControls() {
    for (var i =3D 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled =3D true;
    }
}
function WebForm_FireDefaultButton(event, target) {
    if (event.keyCode =3D=3D 13) {
        var src =3D event.srcElement || event.target;
        if (!src || (src.tagName.toLowerCase() !=3D "textarea")) {
            var defaultButton;
            if (__nonMSDOMBrowser) {
               defaultButton =3D document.getElementById(target);
            }
            else {
                defaultButton =3D document.all[target];
            }
            if (defaultButton && typeof(defaultButton.click) !=3D =
"undefined") {
                defaultButton.click();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_GetScrollX() {
    if (__nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function WebForm_GetScrollY() {
    if (__nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function WebForm_SaveScrollPositionSubmit() {
    if (__nonMSDOMBrowser) {
        theForm.elements['__SCROLLPOSITIONY'].value =3D =
window.pageYOffset;
        theForm.elements['__SCROLLPOSITIONX'].value =3D =
window.pageXOffset;
    }
    else {
        theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
        theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit =
!=3D null)) {
        return this.oldSubmit();
    }
    return true;
}
function WebForm_SaveScrollPositionOnSubmit() {
    theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
    theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit =
!=3D null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function WebForm_RestoreScrollPosition() {
    if (__nonMSDOMBrowser) {
        window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, =
theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theForm.__SCROLLPOSITIONX.value, =
theForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theForm.oldOnLoad) !=3D "undefined") && =
(theForm.oldOnLoad !=3D null)) {
        return theForm.oldOnLoad();
    }
    return true;
}
function WebForm_TextBoxKeyHandler(event) {
    if (event.keyCode =3D=3D 13) {
        var target;
        if (__nonMSDOMBrowser) {
            target =3D event.target;
        }
        else {
            target =3D event.srcElement;
        }
        if ((typeof(target) !=3D "undefined") && (target !=3D null)) {
            if (typeof(target.onchange) !=3D "undefined") {
                target.onchange();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_TrimString(value) {
    return value.replace(/^\s+|\s+$/g, '')
}
function WebForm_AppendToClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index =3D=3D=3D -1) {
        element.className =3D (element.className =3D=3D=3D '') ? =
className : element.className + ' ' + className;
    }
}
function WebForm_RemoveClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D =
WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length));
    }
}
function WebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function WebForm_GetElementByTagName(element, tagName) {
    var elements =3D WebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function WebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function WebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return WebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function WebForm_GetElementPosition(element) {
    var result =3D new Object();
    result.x =3D 0;
    result.y =3D 0;
    result.width =3D 0;
    result.height =3D 0;
    if (element.offsetParent) {
        result.x =3D element.offsetLeft;
        result.y =3D element.offsetTop;
        var parent =3D element.offsetParent;
        while (parent) {
            result.x +=3D parent.offsetLeft;
            result.y +=3D parent.offsetTop;
            var parentTagName =3D parent.tagName.toLowerCase();
            if (parentTagName !=3D "table" &&
                parentTagName !=3D "body" &&=20
                parentTagName !=3D "html" &&=20
                parentTagName !=3D "div" &&=20
                parent.clientTop &&=20
                parent.clientLeft) {
                result.x +=3D parent.clientLeft;
                result.y +=3D parent.clientTop;
            }
            parent =3D parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x =3D element.left;
        result.y =3D element.top;
    }
    else {
        if (element.x) {
            result.x =3D element.x;
        }
        if (element.y) {
            result.y =3D element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width =3D element.offsetWidth;
        result.height =3D element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && =
element.style.pixelHeight) {
        result.width =3D element.style.pixelWidth;
        result.height =3D element.style.pixelHeight;
    }
    return result;
}
function WebForm_GetParentByTagName(element, tagName) {
    var parent =3D element.parentNode;
    var upperTagName =3D tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) {
        parent =3D parent.parentNode ? parent.parentNode : =
parent.parentElement;
    }
    return parent;
}
function WebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height =3D height + "px";
    }
}
function WebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width =3D width + "px";
    }
}
function WebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left =3D x + "px";
    }
}
function WebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top =3D y + "px";
    }
}

------=_NextPart_000_0000_01CBC777.722B7F40
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/ScriptResource.axd?d=eaGbgVK8a7COlZKIUyqEY5pl48cydu6U9NVEoVmJ4bm1OyIhJuUOE6EGDPWDJSbbpI8_XIgrDnuEhr26H2-5IWrFPf9ubwX5_uXPUdJq06J8WhxZYRjrezP6tuwX9uCW8WavbeF5Oi1NWe4RTRmL_Y7AqfJt9JpJ_gR9QkExrtAFwgkQ0&t=198be02b

=EF=BB=BF// Name:        MicrosoftAjax.debug.js
// Assembly:    System.Web.Extensions
// Version:     3.5.0.0
// FileVersion: 3.5.30729.3644
//-----------------------------------------------------------------------=

// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.
=20
Function.__typeName =3D 'Function';
Function.__class =3D true;
Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <summary locid=3D"M:J#Function.createCallback" />
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
            var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}
Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <summary locid=3D"M:J#Function.createDelegate" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;
    return function() {
        return method.apply(instance, arguments);
    }
}
Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    /// <summary locid=3D"M:J#Function.emptyMethod" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
    var e;
    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }
    for (var i=3D0; i < params.length; i++) {
        var expectedParam =3D expectedParams[Math.min(i, =
expectedParams.length - 1)];
        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
            paramName +=3D "[" + (i - expectedParams.length + 1) + "]";
        }
        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }
    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }
    return null;
}
Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;
    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;
    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }
    var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }
    return null;
}
Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;
    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }
    if (expectedDomElement) {
        var val;
        if (typeof(param.nodeType) !=3D=3D 'number') {
            var doc =3D param.ownerDocument || param.document || param;
            if (doc !=3D param) {
                var w =3D doc.defaultView || doc.parentWindow;
                val =3D (w !=3D param) && !(w.document && param.document =
&& (w.document =3D=3D=3D param.document));
            }
            else {
                val =3D (typeof(doc.body) =3D=3D=3D 'undefined');
            }
        }
        else {
            val =3D (param.nodeType =3D=3D=3D 3);
        }
        if (val) {
            e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
            e.popStackFrame();
            return e;
        }
    }
    if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }
    if (expectedType =3D=3D=3D Number && expectedInteger) {
        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }
    return null;
}
=20
Error.__typeName =3D 'Error';
Error.__class =3D true;
Error.create =3D function Error$create(message, errorInfo) {
    /// <summary locid=3D"M:J#Error.create" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var e =3D new Error(message);
    e.message =3D message;
    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }
    e.popStackFrame();
    return e;
}
Error.argument =3D function Error$argument(paramName, message) {
    /// <summary locid=3D"M:J#Error.argument" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <summary locid=3D"M:J#Error.argumentNull" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <summary locid=3D"M:J#Error.argumentOutOfRange" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    if (typeof(actualValue) !=3D=3D "undefined" && actualValue !=3D=3D =
null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }
    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}
Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <summary locid=3D"M:J#Error.argumentType" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}
Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <summary locid=3D"M:J#Error.argumentUndefined" />
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }
    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}
Error.format =3D function Error$format(message) {
    /// <summary locid=3D"M:J#Error.format" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}
Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <summary locid=3D"M:J#Error.invalidOperation" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);
    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}
Error.notImplemented =3D function Error$notImplemented(message) {
    /// <summary locid=3D"M:J#Error.notImplemented" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);
    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}
Error.parameterCount =3D function Error$parameterCount(message) {
    /// <summary locid=3D"M:J#Error.parameterCount" />
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}
Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    /// <summary locid=3D"M:J#checkParam" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }
    var stackFrames =3D this.stack.split("\n");
    var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }
    var nextFrame =3D stackFrames[1];
    if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =3D=3D=3D =
null) {
        return;
    }
    var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }
    this.fileName =3D nextFrameParts[1];
    this.lineNumber =3D parseInt(nextFrameParts[2]);
    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
=20
Object.__typeName =3D 'Object';
Object.__class =3D true;
Object.getType =3D function Object$getType(instance) {
    /// <summary locid=3D"M:J#Object.getType" />
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}
Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <summary locid=3D"M:J#Object.getTypeName" />
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;
    return Object.getType(instance).getName();
}
=20
String.__typeName =3D 'String';
String.__class =3D true;
String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <summary locid=3D"M:J#String.endsWith" />
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}
String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <summary locid=3D"M:J#String.startsWith" />
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;
    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}
String.prototype.trim =3D function String$trim() {
    /// <summary locid=3D"M:J#String.trim" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}
String.prototype.trimEnd =3D function String$trimEnd() {
    /// <summary locid=3D"M:J#String.trimEnd" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}
String.prototype.trimStart =3D function String$trimStart() {
    /// <summary locid=3D"M:J#String.trimStart" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}
String.format =3D function String$format(format, args) {
    /// <summary locid=3D"M:J#String.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(false, arguments);
}
String.localeFormat =3D function String$localeFormat(format, args) {
    /// <summary locid=3D"M:J#String.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;
    return String._toFormattedString(true, arguments);
}
String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];
    for (var i=3D0;;) {
        var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
            result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
            if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }
        result +=3D format.slice(i, open);
        i =3D open + 1;
        if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }
        if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
        var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex), 10) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);
        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }
        if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();
        i =3D close + 1;
    }
    return result;
}
=20
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;
Boolean.parse =3D function Boolean$parse(value) {
    /// <summary locid=3D"M:J#Boolean.parse" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
=20
Date.__typeName =3D 'Date';
Date.__class =3D true;
Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
    var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}
Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
    if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}
Date._expandYear =3D function Date$_expandYear(dtf, year) {
    if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}
Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
    if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }
    var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");
    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;
    while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }
        switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
    var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
    dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}
Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
    return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g;
}
Date.parseLocale =3D function Date$parseLocale(value, formats) {
    /// <summary locid=3D"M:J#Date.parseLocale" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}
Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <summary locid=3D"M:J#Date.parseInvariant" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;
    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}
Date._parse =3D function Date$_parse(value, cultureInfo, args) {
    var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
    if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}
Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
    value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;
    var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
    if (match =3D=3D=3D null) return null;
   =20
    var groups =3D parseInfo.groups;
    var year =3D null, month =3D null, date =3D null, weekDay =3D null;
    var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =3D =
null;
    var pmHour =3D false;
    for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
        var matchGroup =3D match[j+1];
        if (matchGroup) {
            switch (groups[j]) {
                case 'dd': case 'd':
                    date =3D parseInt(matchGroup, 10);
                    if ((date < 1) || (date > 31)) return null;
                    break;
                case 'MMMM':
                    month =3D cultureInfo._getMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'MMM':
                    month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'M': case 'MM':
                    var month =3D parseInt(matchGroup, 10) - 1;
                    if ((month < 0) || (month > 11)) return null;
                    break;
                case 'y': case 'yy':
                    year =3D Date._expandYear(dtf,parseInt(matchGroup, =
10));
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'yyyy':
                    year =3D parseInt(matchGroup, 10);
                    if ((year < 0) || (year > 9999)) return null;
                    break;
                case 'h': case 'hh':
                    hour =3D parseInt(matchGroup, 10);
                    if (hour =3D=3D=3D 12) hour =3D 0;
                    if ((hour < 0) || (hour > 11)) return null;
                    break;
                case 'H': case 'HH':
                    hour =3D parseInt(matchGroup, 10);
                    if ((hour < 0) || (hour > 23)) return null;
                    break;
                case 'm': case 'mm':
                    min =3D parseInt(matchGroup, 10);
                    if ((min < 0) || (min > 59)) return null;
                    break;
                case 's': case 'ss':
                    sec =3D parseInt(matchGroup, 10);
                    if ((sec < 0) || (sec > 59)) return null;
                    break;
                case 'tt': case 't':
                    var upperToken =3D matchGroup.toUpperCase();
                    pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                    if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                    break;
                case 'f':
                    msec =3D parseInt(matchGroup, 10) * 100;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'ff':
                    msec =3D parseInt(matchGroup, 10) * 10;
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'fff':
                    msec =3D parseInt(matchGroup, 10);
                    if ((msec < 0) || (msec > 999)) return null;
                    break;
                case 'dddd':
                    weekDay =3D cultureInfo._getDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'ddd':
                    weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                    if ((weekDay < 0) || (weekDay > 6)) return null;
                    break;
                case 'zzz':
                    var offsets =3D matchGroup.split(/:/);
                    if (offsets.length !=3D=3D 2) return null;
                    var hourOffset =3D parseInt(offsets[0], 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    var minOffset =3D parseInt(offsets[1], 10);
                    if ((minOffset < 0) || (minOffset > 59)) return =
null;
                    tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                    break;
                case 'z': case 'zz':
                    var hourOffset =3D parseInt(matchGroup, 10);
                    if ((hourOffset < -12) || (hourOffset > 13)) return =
null;
                    tzMinOffset =3D hourOffset * 60;
                    break;
            }
        }
    }
    var result =3D new Date();
    if (year =3D=3D=3D null) {
        year =3D result.getFullYear();
    }
    if (month =3D=3D=3D null) {
        month =3D result.getMonth();
    }
    if (date =3D=3D=3D null) {
        date =3D result.getDate();
    }
    result.setFullYear(year, month, date);
    if (result.getDate() !=3D=3D date) return null;
    if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D weekDay)) {
        return null;
    }
    if (pmHour && (hour < 12)) {
        hour +=3D 12;
    }
    result.setHours(hour, min, sec, msec);
    if (tzMinOffset !=3D=3D null) {
        var adjustedMin =3D result.getMinutes() - (tzMinOffset + =
result.getTimezoneOffset());
        result.setHours(result.getHours() + parseInt(adjustedMin/60, =
10), adjustedMin%60);
    }
    return result;
}
Date.prototype.format =3D function Date$format(format) {
    /// <summary locid=3D"M:J#Date.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <summary locid=3D"M:J#Date.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);
    var ret =3D new Sys.StringBuilder();
    var hour;
    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }
    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {
        var index =3D tokenRegExp.lastIndex;
        var ar =3D tokenRegExp.exec(format);
        var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);
        if (!ar) break;
        if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }
        switch (ar[0]) {
        case "dddd":
            ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
            ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
            ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
            ret.append(this.getDate());
            break;
        case "MMMM":
            ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
            ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
            ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
            ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
            ret.append(this.getFullYear());
            break;
        case "yy":
            ret.append(addLeadingZero(this.getFullYear() % 100));
            break;
        case "y":
            ret.append(this.getFullYear() % 100);
            break;
        case "hh":
            hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
            hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
            ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
            ret.append(this.getHours());
            break;
        case "mm":
            ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
            ret.append(this.getMinutes());
            break;
        case "ss":
            ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
            ret.append(this.getSeconds());
            break;
        case "tt":
            ret.append((this.getHours() < 12) ? dtf.AMDesignator : =
dtf.PMDesignator);
            break;
        case "t":
            ret.append(((this.getHours() < 12) ? dtf.AMDesignator : =
dtf.PMDesignator).charAt(0));
            break;
        case "f":
            =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
            ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, =
2));
            break;
        case "fff":
            ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
            hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour <=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
=20
Number.__typeName =3D 'Number';
Number.__class =3D true;
Number.parseLocale =3D function Number$parseLocale(value) {
    /// <summary locid=3D"M:J#Number.parseLocale" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <summary locid=3D"M:J#Number.parseInvariant" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;
    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
    value =3D value.trim();
   =20
    if (value.match(/^[+-]?infinity$/i)) {
        return parseFloat(value);
    }
    if (value.match(/^0x[a-f0-9]+$/i)) {
        return parseInt(value);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, numFormat.NumberNegativePattern);
    var sign =3D signInfo[0];
    var num =3D signInfo[1];
   =20
    if ((sign =3D=3D=3D '') && (numFormat.NumberNegativePattern !=3D=3D =
1)) {
        signInfo =3D Number._parseNumberNegativePattern(value, =
numFormat, 1);
        sign =3D signInfo[0];
        num =3D signInfo[1];
    }
    if (sign =3D=3D=3D '') sign =3D '+';
   =20
    var exponent;
    var intAndFraction;
    var exponentPos =3D num.indexOf('e');
    if (exponentPos < 0) exponentPos =3D num.indexOf('E');
    if (exponentPos < 0) {
        intAndFraction =3D num;
        exponent =3D null;
    }
    else {
        intAndFraction =3D num.substr(0, exponentPos);
        exponent =3D num.substr(exponentPos + 1);
    }
   =20
    var integer;
    var fraction;
    var decimalPos =3D =
intAndFraction.indexOf(numFormat.NumberDecimalSeparator);
    if (decimalPos < 0) {
        integer =3D intAndFraction;
        fraction =3D null;
    }
    else {
        integer =3D intAndFraction.substr(0, decimalPos);
        fraction =3D intAndFraction.substr(decimalPos + =
numFormat.NumberDecimalSeparator.length);
    }
   =20
    integer =3D integer.split(numFormat.NumberGroupSeparator).join('');
    var altNumGroupSeparator =3D =
numFormat.NumberGroupSeparator.replace(/\u00A0/g, " ");
    if (numFormat.NumberGroupSeparator !=3D=3D altNumGroupSeparator) {
        integer =3D integer.split(altNumGroupSeparator).join('');
    }
   =20
    var p =3D sign + integer;
    if (fraction !=3D=3D null) {
        p +=3D '.' + fraction;
    }
    if (exponent !=3D=3D null) {
        var expSignInfo =3D Number._parseNumberNegativePattern(exponent, =
numFormat, 1);
        if (expSignInfo[0] =3D=3D=3D '') {
            expSignInfo[0] =3D '+';
        }
        p +=3D 'e' + expSignInfo[0] + expSignInfo[1];
    }
    if (p.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)) {
        return parseFloat(p);
    }
    return Number.NaN;
}
Number._parseNumberNegativePattern =3D function =
Number$_parseNumberNegativePattern(value, numFormat, =
numberNegativePattern) {
    var neg =3D numFormat.NegativeSign;
    var pos =3D numFormat.PositiveSign;   =20
    switch (numberNegativePattern) {
        case 4:=20
            neg =3D ' ' + neg;
            pos =3D ' ' + pos;
        case 3:=20
            if (value.endsWith(neg)) {
                return ['-', value.substr(0, value.length - =
neg.length)];
            }
            else if (value.endsWith(pos)) {
                return ['+', value.substr(0, value.length - =
pos.length)];
            }
            break;
        case 2:=20
            neg +=3D ' ';
            pos +=3D ' ';
        case 1:=20
            if (value.startsWith(neg)) {
                return ['-', value.substr(neg.length)];
            }
            else if (value.startsWith(pos)) {
                return ['+', value.substr(pos.length)];
            }
            break;
        case 0:=20
            if (value.startsWith('(') && value.endsWith(')')) {
                return ['-', value.substr(1, value.length - 2)];
            }
            break;
    }
    return ['', value];
}
Number.prototype.format =3D function Number$format(format) {
    /// <summary locid=3D"M:J#Number.format" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <summary locid=3D"M:J#Number.localeFormat" />
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;
    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }
   =20
    var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];
    function zeroPad(str, count, left) {
        for (var l=3Dstr.length; l < count; l++) {
            str =3D (left ? ('0' + str) : (str + '0'));
        }
        return str;
    }
   =20
    function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;
        var factor =3D Math.pow(10, precision);
        var rounded =3D (Math.round(number * factor) / factor);
        if (!isFinite(rounded)) {
            rounded =3D number;
        }
        number =3D rounded;
       =20
        var numberString =3D number.toString();
        var right =3D "";
        var exponent;
       =20
       =20
        var split =3D numberString.split(/e/i);
        numberString =3D split[0];
        exponent =3D (split.length > 1 ? parseInt(split[1]) : 0);
        split =3D numberString.split('.');
        numberString =3D split[0];
        right =3D split.length > 1 ? split[1] : "";
       =20
        var l;
        if (exponent > 0) {
            right =3D zeroPad(right, exponent, false);
            numberString +=3D right.slice(0, exponent);
            right =3D right.substr(exponent);
        }
        else if (exponent < 0) {
            exponent =3D -exponent;
            numberString =3D zeroPad(numberString, exponent+1, true);
            right =3D numberString.slice(-exponent, numberString.length) =
+ right;
            numberString =3D numberString.slice(0, -exponent);
        }
        if (precision > 0) {
            if (right.length > precision) {
                right =3D right.slice(0, precision);
            }
            else {
                right =3D zeroPad(right, precision, false);
            }
            right =3D decimalChar + right;
        }
        else {=20
            right =3D "";
        }
        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {
            if (curSize =3D=3D=3D 0 || curSize > stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }
            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);
            stringIndex -=3D curSize;
            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;
    var number =3D Math.abs(this);
    if (!format)
        format =3D "D";
    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1), 10);
    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';
        if (precision !=3D=3D -1) {
            number =3D zeroPad(""+number, precision, true);
        }
        if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this) * 100, precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }
    var regex =3D /n|\$|-|%/g;
    var ret =3D "";
    for (;;) {
        var index =3D regex.lastIndex;
        var ar =3D regex.exec(pattern);
        ret +=3D pattern.slice(index, ar ? ar.index : pattern.length);
        if (!ar)
            break;
        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }
    return ret;
}
=20
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
=20
Array.__typeName =3D 'Array';
Array.__class =3D true;
Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <summary locid=3D"M:J#Array.enqueue" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array[array.length] =3D item;
}
Array.addRange =3D function Array$addRange(array, items) {
    /// <summary locid=3D"M:J#Array.addRange" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.push.apply(array, items);
}
Array.clear =3D function Array$clear(array) {
    /// <summary locid=3D"M:J#Array.clear" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    array.length =3D 0;
}
Array.clone =3D function Array$clone(array) {
    /// <summary locid=3D"M:J#Array.clone" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
        return Array.apply(null, array);
    }
}
Array.contains =3D function Array$contains(array, item) {
    /// <summary locid=3D"M:J#Array.contains" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    return (Array.indexOf(array, item) >=3D 0);
}
Array.dequeue =3D function Array$dequeue(array) {
    /// <summary locid=3D"M:J#Array.dequeue" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;
    return array.shift();
}
Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <summary locid=3D"M:J#Array.forEach" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}
Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <summary locid=3D"M:J#Array.indexOf" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
        start =3D start - 0;
        if (isNaN(start)) {
            start =3D 0;
        }
        else {
            if (isFinite(start)) {
                start =3D start - (start % 1);
            }
            if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }
        for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}
Array.insert =3D function Array$insert(array, index, item) {
    /// <summary locid=3D"M:J#Array.insert" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 0, item);
}
Array.parse =3D function Array$parse(value) {
    /// <summary locid=3D"M:J#Array.parse" />
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}
Array.remove =3D function Array$remove(array, item) {
    /// <summary locid=3D"M:J#Array.remove" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;
    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}
Array.removeAt =3D function Array$removeAt(array, index) {
    /// <summary locid=3D"M:J#Array.removeAt" />
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;
    array.splice(index, 1);
}
=20
if (!window) this.window =3D this;
window.Type =3D Function;
Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");
Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <summary locid=3D"M:J#Type.callBaseMethod" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}
Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <summary locid=3D"M:J#Type.getBaseMethod" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }
    return null;
}
Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <summary locid=3D"M:J#Type.getBaseType" />
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}
Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <summary locid=3D"M:J#Type.getInterfaces" />
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}
Type.prototype.getName =3D function Type$getName() {
    /// <summary locid=3D"M:J#Type.getName" />
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}
Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <summary locid=3D"M:J#Type.implementsInterface" />
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }
    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }
        baseType =3D baseType.__baseType;
    }
    return cache[interfaceName] =3D false;
}
Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <summary locid=3D"M:J#Type.inheritsFrom" />
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;
    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }
    return false;
}
Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <summary locid=3D"M:J#Type.initializeBase" />
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;
    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }
    return instance;
}
Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <summary locid=3D"M:J#Type.isImplementedBy" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;
    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}
Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <summary locid=3D"M:J#Type.isInstanceOfType" />
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;
    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;
    if (instance instanceof this) return true;
    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}
Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <summary locid=3D"M:J#Type.registerClass" />
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    if (interfaceTypes) {
        this.__interfaces =3D [];
        this.resolveInheritance();
        for (var i =3D 2, l =3D arguments.length; i < l; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <summary locid=3D"M:J#Type.registerInterface" />
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    Sys.__upperCaseTypes[typeName.toUpperCase()] =3D this;
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    Sys.__registeredTypes[typeName] =3D true;
    return this;
}
Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    /// <summary locid=3D"M:J#Type.resolveInheritance" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;
        baseType.resolveInheritance();
        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}
Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <summary locid=3D"M:J#Type.getRootNamespaces" />
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(Sys.__rootNamespaces);
}
Type.isClass =3D function Type$isClass(type) {
    /// <summary locid=3D"M:J#Type.isClass" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}
Type.isInterface =3D function Type$isInterface(type) {
    /// <summary locid=3D"M:J#Type.isInterface" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}
Type.isNamespace =3D function Type$isNamespace(object) {
    /// <summary locid=3D"M:J#Type.isNamespace" />
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}
Type.parse =3D function Type$parse(typeName, ns) {
    /// <summary locid=3D"M:J#Type.parse" />
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    var fn;
    if (ns) {
        fn =3D Sys.__upperCaseTypes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}
Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <summary locid=3D"M:J#Type.registerNamespace" />
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');
    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {
                __namespace: true,
                __typeName: namespaceParts.slice(0, i + 1).join('.')
            };
            if (i =3D=3D=3D 0) {
                Sys.__rootNamespaces[Sys.__rootNamespaces.length] =3D =
ns;
            }
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
window.Sys =3D {
    __namespace: true,
    __typeName: "Sys",
    getName: function() {return "Sys";},
    __upperCaseTypes: {}
};
Sys.__rootNamespaces =3D [Sys];
Sys.__registeredTypes =3D {};
=20
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}
    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
=20
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <summary locid=3D"M:J#Sys.StringBuilder.#ctor" />
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}
    function Sys$StringBuilder$append(text) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.append" />
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =3D text;
    }
    function Sys$StringBuilder$appendLine(text) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.appendLine" />
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }
    function Sys$StringBuilder$clear() {
        /// <summary locid=3D"M:J#Sys.StringBuilder.clear" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }
    function Sys$StringBuilder$isEmpty() {
        /// <summary locid=3D"M:J#Sys.StringBuilder.isEmpty" />
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }
    function Sys$StringBuilder$toString(separator) {
        /// <summary locid=3D"M:J#Sys.StringBuilder.toString" />
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
            if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,
    appendLine: Sys$StringBuilder$appendLine,
    clear: Sys$StringBuilder$clear,
    isEmpty: Sys$StringBuilder$isEmpty,
    toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
=20
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP' ];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                return new ActiveXObject(progIDs[i]);
            }
            catch (ex) {
            }
        }
        return null;
    }
}
=20
Sys.Browser =3D {};
Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};
Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);
Sys.Browser.documentMode =3D 0;
if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    if (Sys.Browser.version >=3D 8) {
        if (document.documentMode >=3D 7) {
            Sys.Browser.documentMode =3D document.documentMode;   =20
        }
    }
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' AppleWebKit/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
AppleWebKit\/(\d+(\.\d+)?)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}
Type.registerNamespace('Sys.UI');
=20
Sys._Debug =3D function Sys$_Debug() {
    /// <summary locid=3D"M:J#Sys.Debug.#ctor" />
    /// <field name=3D"isDebug" type=3D"Boolean" =
locid=3D"F:J#Sys.Debug.isDebug"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
    function Sys$_Debug$_appendConsole(text) {
        if ((typeof(Debug) !=3D=3D 'undefined') && Debug.writeln) {
            Debug.writeln(text);
        }
        if (window.console && window.console.log) {
            window.console.log(text);
        }
        if (window.opera) {
            window.opera.postError(text);
        }
        if (window.debugService) {
            window.debugService.trace(text);
        }
    }
    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }
    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <summary locid=3D"M:J#Sys.Debug.assert" />
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;
        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);
            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }
    function Sys$_Debug$clearTrace() {
        /// <summary locid=3D"M:J#Sys.Debug.clearTrace" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }
    function Sys$_Debug$fail(message) {
        /// <summary locid=3D"M:J#Sys.Debug.fail" />
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;
        this._appendConsole(message);
        if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }
    function Sys$_Debug$trace(text) {
        /// <summary locid=3D"M:J#Sys.Debug.trace" />
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;
        this._appendConsole(text);
        this._appendTrace(text);
    }
    function Sys$_Debug$traceDump(object, name) {
        /// <summary locid=3D"M:J#Sys.Debug.traceDump" />
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        var text =3D this._traceDump(object, name, true);
    }
    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);
                if ((object =3D=3D window) || (object =3D=3D=3D =
document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {
    _appendConsole: Sys$_Debug$_appendConsole,
    _appendTrace: Sys$_Debug$_appendTrace,
    assert: Sys$_Debug$assert,
    clearTrace: Sys$_Debug$clearTrace,
    fail: Sys$_Debug$fail,
    trace: Sys$_Debug$trace,
    traceDump: Sys$_Debug$traceDump,
    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');
Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
=20
function Sys$Enum$parse(value, ignoreCase) {
    /// <summary locid=3D"M:J#Sys.Enum.parse" />
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;
        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}
function Sys$Enum$toString(value) {
    /// <summary locid=3D"M:J#Sys.Enum.toString" />
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;
    if ((typeof(value) =3D=3D=3D 'undefined') || (value =3D=3D=3D null)) =
return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}
Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <summary locid=3D"M:J#Sys.UI.LineType.#ctor" />
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;
    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
    var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (Sys.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    Sys.__upperCaseTypes[name.toUpperCase()] =3D this;
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    Sys.__registeredTypes[name] =3D true;
}
Type.isEnum =3D function Type$isEnum(type) {
    /// <summary locid=3D"M:J#Type.isEnum" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}
Type.isFlags =3D function Type$isFlags(type) {
    /// <summary locid=3D"M:J#Type.isFlags" />
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;
    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
=20
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    /// <summary locid=3D"M:J#Sys.EventHandlerList.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}
    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.addHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.removeHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;
        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <summary locid=3D"M:J#Sys.EventHandlerList.getHandler" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        return function(source, args) {
            for (var i =3D 0, l =3D evt.length; i < l; i++) {
                evt[i](source, args);
            }
        };
    }
    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,
    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
=20
Sys.EventArgs =3D function Sys$EventArgs() {
    /// <summary locid=3D"M:J#Sys.EventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');
Sys.EventArgs.Empty =3D new Sys.EventArgs();
=20
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    /// <summary locid=3D"M:J#Sys.CancelEventArgs.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);
    this._cancel =3D false;
}
    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.CancelEventArgs.cancel"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}
Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
=20
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    /// <summary locid=3D"M:J#Sys.INotifyPropertyChange.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyPropertyChange.propertyChanged" =
/>
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

=20
Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <summary locid=3D"M:J#Sys.PropertyChangedEventArgs.#ctor" />
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;
    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.PropertyChangedEventArgs.propertyName"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
=20
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    /// <summary locid=3D"M:J#Sys.INotifyDisposing.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
    function Sys$INotifyDisposing$add_disposing(handler) {
    /// <summary locid=3D"E:J#Sys.INotifyDisposing.disposing" />
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
=20
Sys.Component =3D function Sys$Component() {
    /// <summary locid=3D"M:J#Sys.Component.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}
    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList" =
locid=3D"P:J#Sys.Component.events"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Component.id"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isInitialized"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Component.isUpdating"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        /// <summary locid=3D"E:J#Sys.Component.disposing" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        /// <summary locid=3D"E:J#Sys.Component.propertyChanged" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <summary locid=3D"M:J#Sys.Component.raisePropertyChanged" />
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;
        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);
function Sys$Component$_setProperties(target, properties) {
    /// <summary locid=3D"M:J#Sys.Component._setProperties" />
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;
    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
            var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}
function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}
var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <summary locid=3D"M:J#Sys.Component.create" />
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;
    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();
    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        app._createdComponents[app._createdComponents.length] =3D =
component;
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }
    return component;
}
=20
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <summary locid=3D"M:J#Sys.UI.MouseButton.#ctor" />
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.leftButton"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.middleButton"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.MouseButton.rightButton"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
=20
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <summary locid=3D"M:J#Sys.UI.Key.#ctor" />
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.backspace"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.tab"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.enter"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.esc"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.space"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageUp"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.pageDown"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.end"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.home"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.left"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.up"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.right"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.down"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.Key.del"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
=20
Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <summary locid=3D"M:J#Sys.UI.Point.#ctor" />
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Point.y"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x =3D x;
    this.y =3D y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
=20
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <summary locid=3D"M:J#Sys.UI.Bounds.#ctor" />
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"height" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"width" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.x"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.y"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.height"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.Bounds.width"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;
    this.x =3D x;
    this.y =3D y;
    this.height =3D height;
    this.width =3D width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
=20
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.#ctor" />
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.altKey"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton" =
locid=3D"F:J#Sys.UI.DomEvent.button"></field>
    /// <field name=3D"charCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.charCode"></field>
    /// <field name=3D"clientX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientX"></field>
    /// <field name=3D"clientY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.clientY"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.ctrlKey"></field>
    /// <field name=3D"keyCode" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.keyCode"></field>
    /// <field name=3D"offsetX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetX"></field>
    /// <field name=3D"offsetY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.offsetY"></field>
    /// <field name=3D"screenX" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenX"></field>
    /// <field name=3D"screenY" type=3D"Number" integer=3D"true" =
locid=3D"F:J#Sys.UI.DomEvent.screenY"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean" =
locid=3D"F:J#Sys.UI.DomEvent.shiftKey"></field>
    /// <field name=3D"target" =
locid=3D"F:J#Sys.UI.DomEvent.target"></field>
    /// <field name=3D"type" type=3D"String" =
locid=3D"F:J#Sys.UI.DomEvent.type"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;
    var e =3D eventObject;
    var etype =3D this.type =3D e.type.toLowerCase();
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (etype =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (!etype.startsWith('key')) {
        if ((typeof(e.offsetX) !=3D=3D 'undefined') && =
(typeof(e.offsetY) !=3D=3D 'undefined')) {
            this.offsetX =3D e.offsetX;
            this.offsetY =3D e.offsetY;
        }
        else if (this.target && (this.target.nodeType !=3D=3D 3) && =
(typeof(e.clientX) =3D=3D=3D 'number')) {
            var loc =3D Sys.UI.DomElement.getLocation(this.target);
            var w =3D Sys.UI.DomElement._getWindow(this.target);
            this.offsetX =3D (w.pageXOffset || 0) + e.clientX - loc.x;
            this.offsetY =3D (w.pageYOffset || 0) + e.clientY - loc.y;
        }
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
}
    function Sys$UI$DomEvent$preventDefault() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.preventDefault" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            this.rawEvent.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        /// <summary locid=3D"M:J#Sys.UI.DomEvent.stopPropagation" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            this.rawEvent.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');
var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandler" />
    /// <param name=3D"element"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (eventName =3D=3D=3D "error") throw =
Error.invalidOperation(Sys.Res.addHandlerCantBeUsedForError);
    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            var e =3D {};
            try {e =3D Sys.UI.DomElement._getWindow(element).event} =
catch(ex) {}
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}
var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.addHandlers" />
    /// <param name=3D"element"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}
var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.clearHandlers" />
    /// <param name=3D"element"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}
var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <summary locid=3D"M:J#Sys.UI.DomEvent.removeHandler" />
    /// <param name=3D"element"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element"},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;
    Sys.UI.DomEvent._ensureDomNode(element);
    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.UI.DomEvent._ensureDomNode =3D function =
Sys$UI$DomEvent$_ensureDomNode(element) {
    if (element.tagName && (element.tagName.toUpperCase() =3D=3D=3D =
"SCRIPT")) return;
   =20
    var doc =3D element.ownerDocument || element.document || element;
    if ((typeof(element.document) !=3D=3D 'object') && (element !=3D =
doc) && (typeof(element.nodeType) !=3D=3D 'number')) {
        throw Error.argument("element", Sys.Res.argumentDomNode);
    }
}
=20
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');
Sys.UI.DomElement.addCssClass =3D function =
Sys$UI$DomElement$addCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.addCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className =3D=3D=3D '') {
            element.className =3D className;
        }
        else {
            element.className +=3D ' ' + className;
        }
    }
}
Sys.UI.DomElement.containsCssClass =3D function =
Sys$UI$DomElement$containsCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.containsCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    return Array.contains(element.className.split(' '), className);
}
Sys.UI.DomElement.getBounds =3D function =
Sys$UI$DomElement$getBounds(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getBounds" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.Bounds"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var offset =3D Sys.UI.DomElement.getLocation(element);
    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || =
0, element.offsetHeight || 0);
}
var $get =3D Sys.UI.DomElement.getElementById =3D function =
Sys$UI$DomElement$getElementById(id, element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getElementById" />
    /// <param name=3D"id" type=3D"String"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns domElement=3D"true" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;
    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);
    var nodeQueue =3D [];
    var childNodes =3D element.childNodes;
    for (var i =3D 0; i < childNodes.length; i++) {
        var node =3D childNodes[i];
        if (node.nodeType =3D=3D 1) {
            nodeQueue[nodeQueue.length] =3D node;
        }
    }
    while (nodeQueue.length) {
        node =3D nodeQueue.shift();
        if (node.id =3D=3D id) {
            return node;
        }
        childNodes =3D node.childNodes;
        for (i =3D 0; i < childNodes.length; i++) {
            node =3D childNodes[i];
            if (node.nodeType =3D=3D 1) {
                nodeQueue[nodeQueue.length] =3D node;
            }
        }
    }
    return null;
}
switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if (element.self || element.nodeType =3D=3D=3D 9) return new =
Sys.UI.Point(0,0);
            var clientRect =3D element.getBoundingClientRect();
            if (!clientRect) {
                return new Sys.UI.Point(0,0);
            }
            var documentElement =3D =
element.ownerDocument.documentElement;
            var offsetX =3D clientRect.left - 2 + =
documentElement.scrollLeft,
                offsetY =3D clientRect.top - 2 + =
documentElement.scrollTop;
           =20
            try {
                var f =3D =
element.ownerDocument.parentWindow.frameElement || null;
                if (f) {
                    var offset =3D (f.frameBorder =3D=3D=3D "0" || =
f.frameBorder =3D=3D=3D "no") ? 2 : 0;
                    offsetX +=3D offset;
                    offsetY +=3D offset;
                }
            }
            catch(ex) {
            }   =20
           =20
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !=3D=3D "BODY") || (!previousStyle || =
previousStyle.position !=3D=3D "absolute"))) {
                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
            }
            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                    }
                    currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition =3D currentStyle ? =
currentStyle.position : null;
                    if (parentPosition && (parentPosition =3D=3D=3D =
"absolute")) break;
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName;
                offsetX +=3D parent.offsetLeft || 0;
                offsetY +=3D parent.offsetTop || 0;
            }
            var elementPosition =3D element.style.position;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
            for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D "HTML") =
&& (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow =3D=3D=3D "scroll") || =
(parent.style.overflow =3D=3D=3D "auto"))))) {
                    offsetX -=3D (parent.scrollLeft || 0);
                    offsetY -=3D (parent.scrollTop || 0);
                }
                var parentPosition =3D (parent && parent.style) ? =
parent.style.position : null;
                elementPositioned =3D elementPositioned || =
(parentPosition && (parentPosition !=3D=3D "static"));
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <summary locid=3D"M:J#Sys.UI.DomElement.getLocation" />
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;
            if ((element.window && (element.window =3D=3D=3D element)) =
|| element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);
            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                if ((parent.offsetLeft || parent.offsetTop) &&
                    !((tagName =3D=3D=3D "BODY") &&
                    (!previousStyle || previousStyle.position !=3D=3D =
"absolute"))) {
                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
                if (previous !=3D=3D null && currentStyle) {
                    if ((tagName !=3D=3D "TABLE") && (tagName !=3D=3D =
"TD") && (tagName !=3D=3D "HTML")) {
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName =3D=3D=3D "TABLE" &&
                        (currentStyle.position =3D=3D=3D "relative" || =
currentStyle.position =3D=3D=3D "absolute")) {
                        offsetX +=3D parseInt(currentStyle.marginLeft) =
|| 0;
                        offsetY +=3D parseInt(currentStyle.marginTop) || =
0;
                    }
                }
            }
            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                for (var parent =3D element.parentNode; parent; parent =
=3D parent.parentNode) {
                    tagName =3D parent.tagName ? =
parent.tagName.toUpperCase() : null;
                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                        currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                        if (currentStyle) {
                            offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                            offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                        }
                    }
                }
            }
            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
}
Sys.UI.DomElement.removeCssClass =3D function =
Sys$UI$DomElement$removeCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.removeCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    var currentClassName =3D ' ' + element.className + ' ';
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length)).trim();
    }
}
Sys.UI.DomElement.setLocation =3D function =
Sys$UI$DomElement$setLocation(element, x, y) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setLocation" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;
    var style =3D element.style;
    style.position =3D 'absolute';
    style.left =3D x + "px";
    style.top =3D y + "px";
}
Sys.UI.DomElement.toggleCssClass =3D function =
Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.toggleCssClass" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;
    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}
Sys.UI.DomElement.getVisibilityMode =3D function =
Sys$UI$DomElement$getVisibilityMode(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.VisibilityMode"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    return (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) ?
        Sys.UI.VisibilityMode.hide :
        Sys.UI.VisibilityMode.collapse;
}
Sys.UI.DomElement.setVisibilityMode =3D function =
Sys$UI$DomElement$setVisibilityMode(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisibilityMode" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Sys.UI.VisibilityMode"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Sys.UI.VisibilityMode}
    ]);
    if (e) throw e;
    Sys.UI.DomElement._ensureOldDisplayMode(element);
    if (element._visibilityMode !=3D=3D value) {
        element._visibilityMode =3D value;
        if (Sys.UI.DomElement.getVisible(element) =3D=3D=3D false) {
            if (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                element.style.display =3D element._oldDisplayMode;
            }
            else {
                element.style.display =3D 'none';
            }
        }
        element._visibilityMode =3D value;
    }
}
Sys.UI.DomElement.getVisible =3D function =
Sys$UI$DomElement$getVisible(element) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.getVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;
    var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
    if (!style) return true;
    return (style.visibility !=3D=3D 'hidden') && (style.display !=3D=3D =
'none');
}
Sys.UI.DomElement.setVisible =3D function =
Sys$UI$DomElement$setVisible(element, value) {
    /// <summary locid=3D"M:J#Sys.UI.DomElement.setVisible" />
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"value" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "value", type: Boolean}
    ]);
    if (e) throw e;
    if (value !=3D=3D Sys.UI.DomElement.getVisible(element)) {
        Sys.UI.DomElement._ensureOldDisplayMode(element);
        element.style.visibility =3D value ? 'visible' : 'hidden';
        if (value || (element._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
            element.style.display =3D element._oldDisplayMode;
        }
        else {
            element.style.display =3D 'none';
        }
    }
}
Sys.UI.DomElement._ensureOldDisplayMode =3D function =
Sys$UI$DomElement$_ensureOldDisplayMode(element) {
    if (!element._oldDisplayMode) {
        var style =3D element.currentStyle || =
Sys.UI.DomElement._getCurrentStyle(element);
        element._oldDisplayMode =3D style ? style.display : null;
        if (!element._oldDisplayMode || element._oldDisplayMode =
=3D=3D=3D 'none') {
            switch(element.tagName.toUpperCase()) {
                case 'DIV': case 'P': case 'ADDRESS': case 'BLOCKQUOTE': =
case 'BODY': case 'COL':
                case 'COLGROUP': case 'DD': case 'DL': case 'DT': case =
'FIELDSET': case 'FORM':
                case 'H1': case 'H2': case 'H3': case 'H4': case 'H5': =
case 'H6': case 'HR':
                case 'IFRAME': case 'LEGEND': case 'OL': case 'PRE': =
case 'TABLE': case 'TD':
                case 'TH': case 'TR': case 'UL':
                    element._oldDisplayMode =3D 'block';
                    break;
                case 'LI':
                    element._oldDisplayMode =3D 'list-item';
                    break;
                default:
                    element._oldDisplayMode =3D 'inline';
            }
        }
    }
}
Sys.UI.DomElement._getWindow =3D function =
Sys$UI$DomElement$_getWindow(element) {
    var doc =3D element.ownerDocument || element.document || element;
    return doc.defaultView || doc.parentWindow;
}
Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    if (element.nodeType =3D=3D=3D 3) return null;
    var w =3D Sys.UI.DomElement._getWindow(element);
    if (element.documentElement) element =3D element.documentElement;
    var computedStyle =3D (w && (element !=3D=3D w) && =
w.getComputedStyle) ?
        w.getComputedStyle(element, null) :
        element.currentStyle || element.style;
    if (!computedStyle && (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) && element.style) {
        var oldDisplay =3D element.style.display;
        var oldPosition =3D element.style.position;
        element.style.position =3D 'absolute';
        element.style.display =3D 'block';
        var style =3D w.getComputedStyle(element, null);
        element.style.display =3D oldDisplay;
        element.style.position =3D oldPosition;
        computedStyle =3D {};
        for (var n in style) {
            computedStyle[n] =3D style[n];
        }
        computedStyle.display =3D 'none';
    }
    return computedStyle;
}
=20
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}
    function Sys$IContainer$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.addComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <summary locid=3D"M:J#Sys.IContainer.removeComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <summary locid=3D"M:J#Sys.IContainer.findComponent" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <summary locid=3D"M:J#Sys.IContainer.getComponents" />
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");
=20
Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._sessions =3D [];
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}
    function Sys$_ScriptLoader$dispose() {
        this._stopSession();
        this._loading =3D false;
        if(this._events) {
            delete this._events;
        }
        this._sessions =3D null;
        this._currentSession =3D null;
        this._scriptLoadedDelegate =3D null;       =20
    }
    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.loadScripts" />
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;
        var session =3D {
            allScriptsLoadedCallback: allScriptsLoadedCallback,
            scriptLoadFailedCallback: scriptLoadFailedCallback,
            scriptLoadTimeoutCallback: scriptLoadTimeoutCallback,
            scriptsToLoad: this._scriptsToLoad,
            scriptTimeout: scriptTimeout };
        this._scriptsToLoad =3D null;
        this._sessions[this._sessions.length] =3D session;
       =20
        if (!this._loading) {
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.notifyScriptLoaded" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
        if(!this._loading) {
            return;
        }
        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                window.setTimeout(Function.createDelegate(this, =
function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }
    }
    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueCustomScriptTag" />
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }
    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <summary locid=3D"M:J#Sys._ScriptLoader.queueScriptBlock" />
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }
    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <summary =
locid=3D"M:J#Sys._ScriptLoader.queueScriptReference" />
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;
        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }
    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('script');
        scriptElement.type =3D 'text/javascript';
        for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }
    function Sys$_ScriptLoader$_loadScriptsInternal() {
        var session =3D this._currentSession;
        if (session.scriptsToLoad && session.scriptsToLoad.length > 0) {
            var nextScript =3D Array.dequeue(session.scriptsToLoad);
            var scriptElement =3D this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                scriptElement.innerHTML =3D scriptElement.text;
                delete scriptElement.text;
            }           =20
            if (typeof(nextScript.src) =3D=3D=3D "string") {
                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                this._currentTask.execute();
            }
            else {
                var headElements =3D =
document.getElementsByTagName('head');
                if (headElements.length =3D=3D=3D 0) {
                     throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
                }
                else {
                     headElements[0].appendChild(scriptElement);
                }
               =20
               =20
                Sys._ScriptLoader._clearScript(scriptElement);
                this._loadScriptsInternal();
            }
        }
        else {
            this._stopSession();
            var callback =3D session.allScriptsLoadedCallback;
            if(callback) {
                callback(this);
            }
            this._nextSession();
        }
    }
    function Sys$_ScriptLoader$_nextSession() {
        if (this._sessions.length =3D=3D=3D 0) {
            this._loading =3D false;
            this._currentSession =3D null;
            return;
        }
        this._loading =3D true;
       =20
        var session =3D Array.dequeue(this._sessions);
        this._currentSession =3D session;
        this._loadScriptsInternal();
    }
    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
        var callback =3D this._currentSession.scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopSession();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
            this._nextSession();
        }
        else {
            this._loading =3D false;
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
        if(loaded && this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                this._raiseError(true);
            }
            else {
                Array.add(Sys._ScriptLoader._getLoadedScripts(), =
scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
            this._raiseError(false);
        }
    }
    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._currentSession.scriptLoadTimeoutCallback;
        this._stopSession();
        if(callback) {
            callback(this);
        }
        this._nextSession();
    }
    function Sys$_ScriptLoader$_stopSession() {
        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
    loadScripts: Sys$_ScriptLoader$loadScripts,
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,
    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,
    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,
    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
    _nextSession: Sys$_ScriptLoader$_nextSession,
    _raiseError: Sys$_ScriptLoader$_raiseError,
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
    _stopSession: Sys$_ScriptLoader$_stopSession   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);
Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}
Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
    var dummyScript =3D document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}
Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];
        var existingScripts =3D document.getElementsByTagName('script');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}
Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
        scriptElement.parentNode.removeChild(scriptElement);
    }
}
Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
        errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }
    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}
Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}
=20
Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.#ctor" />
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;
    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}
    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true" =
locid=3D"P:J#Sys._ScriptLoaderTask.scriptElement"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }
    function Sys$_ScriptLoaderTask$dispose() {
        if(this._disposed) {
            return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
        Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }
    function Sys$_ScriptLoaderTask$execute() {
        /// <summary locid=3D"M:J#Sys._ScriptLoaderTask.execute" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        var headElements =3D document.getElementsByTagName('head');
        if (headElements.length =3D=3D=3D 0) {
             throw new =
Error.invalidOperation(Sys.Res.scriptLoadFailedNoHead);
        }
        else {
             headElements[0].appendChild(this._scriptElement);
        }
    }
    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
        this._scriptLoadDelegate =3D Function.createDelegate(this, =
this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
        if (this._scriptElement.addEventListener) {
            this._scriptErrorDelegate =3D Function.createDelegate(this, =
this._scriptErrorHandler);
            this._scriptElement.addEventListener('error', =
this._scriptErrorDelegate, false);
        }
    }
    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
        if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            if (this._scriptErrorDelegate) {
                this._scriptElement.removeEventListener('error', =
this._scriptErrorDelegate, false);
                this._scriptErrorDelegate =3D null;
            }
            this._scriptLoadDelegate =3D null;
        }
    }
    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
        if(this._disposed) {
            return;
        }
       =20
        this._completedCallback(this.get_scriptElement(), false);
    }
    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
        if(this._disposed) {
            return;
        }
        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
    dispose: Sys$_ScriptLoaderTask$dispose,
    execute: Sys$_ScriptLoaderTask$execute,
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20
    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
=20
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <summary locid=3D"M:J#Sys.ApplicationLoadEventArgs.#ctor" />
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;
    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.components"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.ApplicationLoadEventArgs.isPartialLoad"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys.HistoryEventArgs =3D function Sys$HistoryEventArgs(state) {
    /// <summary locid=3D"M:J#Sys.HistoryEventArgs.#ctor" />
    /// <param name=3D"state" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "state", type: Object}
    ]);
    if (e) throw e;
    Sys.HistoryEventArgs.initializeBase(this);
    this._state =3D state;
}
    function Sys$HistoryEventArgs$get_state() {
        /// <value type=3D"Object" =
locid=3D"P:J#Sys.HistoryEventArgs.state"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._state;
    }
Sys.HistoryEventArgs.prototype =3D {
    get_state: Sys$HistoryEventArgs$get_state
}
Sys.HistoryEventArgs.registerClass('Sys.HistoryEventArgs', =
Sys.EventArgs);
=20
Sys._Application =3D function Sys$_Application() {
    /// <summary locid=3D"M:J#Sys.Application.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys._Application.initializeBase(this);
    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];
    this._appLoadHandler =3D null;
    this._beginRequestHandler =3D null;
    this._clientId =3D null;
    this._currentEntry =3D '';
    this._endRequestHandler =3D null;
    this._history =3D null;
    this._enableHistory =3D false;
    this._historyEnabledInScriptManager =3D false;
    this._historyFrame =3D null;
    this._historyInitialized =3D false;
    this._historyInitialLength =3D 0;
    this._historyLength =3D 0;
    this._historyPointIsNew =3D false;
    this._ignoreTimer =3D false;
    this._initialState =3D null;
    this._state =3D {};
    this._timerCookie =3D 0;
    this._timerHandler =3D null;
    this._uniqueId =3D null;
    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);
    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}
    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.isCreatingComponents"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$get_stateString() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Application.stateString"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var hash =3D window.location.hash;
        if (this._isSafari2()) {
            var history =3D this._getHistory();
            if (history) {
                hash =3D history[window.history.length - =
this._historyInitialLength];
            }
        }
        if ((hash.length > 0) && (hash.charAt(0) =3D=3D=3D '#')) {
            hash =3D hash.substring(1);
        }
        if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Firefox) {
            hash =3D this._serializeState(this._deserializeState(hash, =
true));
        }
        return hash;
    }
    function Sys$_Application$get_enableHistory() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Application.enableHistory"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._enableHistory;
    }
    function Sys$_Application$set_enableHistory(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        if (this._initialized && !this._initializing) {
            throw =
Error.invalidOperation(Sys.Res.historyCannotEnableHistory);
        }
        else if (this._historyEnabledInScriptManager && !value) {
            throw =
Error.invalidOperation(Sys.Res.invalidHistorySettingCombination);
        }
        this._enableHistory =3D value;
    }
    function Sys$_Application$add_init(handler) {
        /// <summary locid=3D"E:J#Sys.Application.init" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_load(handler) {
        /// <summary locid=3D"E:J#Sys.Application.load" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_navigate(handler) {
        /// <summary locid=3D"E:J#Sys.Application.navigate" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("navigate", handler);
    }
    function Sys$_Application$remove_navigate(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("navigate", handler);
    }
    function Sys$_Application$add_unload(handler) {
        /// <summary locid=3D"E:J#Sys.Application.unload" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <summary locid=3D"M:J#Sys.Application.addComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$addHistoryPoint(state, title) {
        /// <summary locid=3D"M:J#Sys.Application.addHistoryPoint" />
        /// <param name=3D"state" type=3D"Object"></param>
        /// <param name=3D"title" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "state", type: Object},
            {name: "title", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;
        if (!this._enableHistory) throw =
Error.invalidOperation(Sys.Res.historyCannotAddHistoryPointWithHistoryDis=
abled);
        for (var n in state) {
            var v =3D state[n];
            var t =3D typeof(v);
            if ((v !=3D=3D null) && ((t =3D=3D=3D 'object') || (t =
=3D=3D=3D 'function') || (t =3D=3D=3D 'undefined'))) {
                throw Error.argument('state', =
Sys.Res.stateMustBeStringDictionary);
            }
        }
        this._ensureHistory();
        var initialState =3D this._state;
        for (var key in state) {
            var value =3D state[key];
            if (value =3D=3D=3D null) {
                if (typeof(initialState[key]) !=3D=3D 'undefined') {
                    delete initialState[key];
                }
            }
            else {
                initialState[key] =3D value;
            }
        }
        var entry =3D this._serializeState(initialState);
        this._historyPointIsNew =3D true;
        this._setState(entry, title);
        this._raiseNavigate();
    }
    function Sys$_Application$beginCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.beginCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        /// <summary locid=3D"M:J#Sys.Application.dispose" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._disposing) {
            this._disposing =3D true;
            if (this._timerCookie) {
                window.clearTimeout(this._timerCookie);
                delete this._timerCookie;
            }
            if (this._endRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._end=
RequestHandler);
                delete this._endRequestHandler;
            }
            if (this._beginRequestHandler) {
                =
Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._b=
eginRequestHandler);
                delete this._beginRequestHandler;
            }
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);
            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }
            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }
            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        /// <summary locid=3D"M:J#Sys.Application.endCreateComponents" =
/>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <summary locid=3D"M:J#Sys.Application.findComponent" />
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <summary locid=3D"M:J#Sys.Application.getComponents" />
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        /// <summary locid=3D"M:J#Sys.Application.initialize" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
            window.setTimeout(Function.createDelegate(this, =
this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        /// <summary locid=3D"M:J#Sys.Application.notifyScriptLoaded" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.registerDisposableObject" />
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        /// <summary locid=3D"M:J#Sys.Application.raiseLoad" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }
        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <summary locid=3D"M:J#Sys.Application.removeComponent" />
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;
        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$setServerId(clientId, uniqueId) {
        /// <summary locid=3D"M:J#Sys.Application.setServerId" />
        /// <param name=3D"clientId" type=3D"String"></param>
        /// <param name=3D"uniqueId" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "clientId", type: String},
            {name: "uniqueId", type: String}
        ]);
        if (e) throw e;
        this._clientId =3D clientId;
        this._uniqueId =3D uniqueId;
    }
    function Sys$_Application$setServerState(value) {
        /// <summary locid=3D"M:J#Sys.Application.setServerState" />
        /// <param name=3D"value" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "value", type: String}
        ]);
        if (e) throw e;
        this._ensureHistory();
        this._state.__s =3D value;
        this._updateHiddenField(value);
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <summary =
locid=3D"M:J#Sys.Application.unregisterDisposableObject" />
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;
        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_deserializeState(entry, skipDecodeUri) {
        var result =3D {};
        entry =3D entry || '';
        var serverSeparator =3D entry.indexOf('&&');
        if ((serverSeparator !=3D=3D -1) && (serverSeparator + 2 < =
entry.length)) {
            result.__s =3D entry.substr(serverSeparator + 2);
            entry =3D entry.substr(0, serverSeparator);
        }
        var tokens =3D entry.split('&');
        for (var i =3D 0, l =3D tokens.length; i < l; i++) {
            var token =3D tokens[i];
            var equal =3D token.indexOf('=3D');
            if ((equal !=3D=3D -1) && (equal + 1 < token.length)) {
                var name =3D token.substr(0, equal);
                var value =3D token.substr(equal + 1);
                result[name] =3D skipDecodeUri ? value : =
decodeURIComponent(value);
            }
        }
        return result;
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');
       =20
        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        if (Sys.WebForms) {
            this._beginRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerBeginRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(this._begi=
nRequestHandler);
            this._endRequestHandler =3D Function.createDelegate(this, =
this._onPageRequestManagerEndRequest);
            =
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(this._endReq=
uestHandler);
        }
       =20
        var loadedEntry =3D this.get_stateString();
        if (loadedEntry !=3D=3D this._currentEntry) {
            this._navigate(loadedEntry);
        }
=20
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_enableHistoryInScriptManager() {
        this._enableHistory =3D true;
        this._historyEnabledInScriptManager =3D true;
    }
    function Sys$_Application$_ensureHistory() {
        if (!this._historyInitialized && this._enableHistory) {
            if ((Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) && (Sys.Browser.documentMode < 8)) {
                this._historyFrame =3D =
document.getElementById('__historyFrame');
                if (!this._historyFrame) throw =
Error.invalidOperation(Sys.Res.historyMissingFrame);
                this._ignoreIFrame =3D true;
            }
            if (this._isSafari2()) {
                var historyElement =3D =
document.getElementById('__history');
                if (!historyElement) throw =
Error.invalidOperation(Sys.Res.historyMissingHiddenInput);
                this._setHistory([window.location.hash]);
                this._historyInitialLength =3D window.history.length;
            }
           =20
            this._timerHandler =3D Function.createDelegate(this, =
this._onIdle);
            this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
           =20
            try {
                this._initialState =3D =
this._deserializeState(this.get_stateString());
            } catch(e) {}
           =20
            this._historyInitialized =3D true;
        }
    }
    function Sys$_Application$_getHistory() {
        var historyElement =3D document.getElementById('__history');
        if (!historyElement) return '';
        var v =3D historyElement.value;
        return v ? Sys.Serialization.JavaScriptSerializer.deserialize(v, =
true) : '';
    }
    function Sys$_Application$_isSafari2() {
        return (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) &&
            (Sys.Browser.version <=3D 419.3);
    }
    function Sys$_Application$_loadHandler() {
        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_navigate(entry) {
        this._ensureHistory();
        var state =3D this._deserializeState(entry);
       =20
        if (this._uniqueId) {
            var oldServerEntry =3D this._state.__s || '';
            var newServerEntry =3D state.__s || '';
            if (newServerEntry !=3D=3D oldServerEntry) {
                this._updateHiddenField(newServerEntry);
                __doPostBack(this._uniqueId, newServerEntry);
                this._state =3D state;
                return;
            }
        }
        this._setState(entry);
        this._state =3D state;
        this._raiseNavigate();
    }
    function Sys$_Application$_onIdle() {
        delete this._timerCookie;
       =20
        var entry =3D this.get_stateString();
        if (entry !=3D=3D this._currentEntry) {
            if (!this._ignoreTimer) {
                this._historyPointIsNew =3D false;
                this._navigate(entry);
                this._historyLength =3D window.history.length;
            }
        }
        else {
            this._ignoreTimer =3D false;
        }
        this._timerCookie =3D window.setTimeout(this._timerHandler, =
100);
    }
    function Sys$_Application$_onIFrameLoad(entry) {
        this._ensureHistory();
        if (!this._ignoreIFrame) {
            this._historyPointIsNew =3D false;
            this._navigate(entry);
        }
        this._ignoreIFrame =3D false;
    }
    function Sys$_Application$_onPageRequestManagerBeginRequest(sender, =
args) {
        this._ignoreTimer =3D true;
    }
    function Sys$_Application$_onPageRequestManagerEndRequest(sender, =
args) {
        var dataItem =3D args.get_dataItems()[this._clientId];
        var eventTarget =3D document.getElementById("__EVENTTARGET");
        if (eventTarget && eventTarget.value =3D=3D=3D this._uniqueId) {
            eventTarget.value =3D '';
        }
        if (typeof(dataItem) !=3D=3D 'undefined') {
            this.setServerState(dataItem);
            this._historyPointIsNew =3D true;
        }
        else {
            this._ignoreTimer =3D false;
        }
        var entry =3D this._serializeState(this._state);
        if (entry !=3D=3D this._currentEntry) {
            this._ignoreTimer =3D true;
            this._setState(entry);
            this._raiseNavigate();
        }
    }
    function Sys$_Application$_raiseNavigate() {
        var h =3D this.get_events().getHandler("navigate");
        var stateClone =3D {};
        for (var key in this._state) {
            if (key !=3D=3D '__s') {
                stateClone[key] =3D this._state[key];
            }
        }
        var args =3D new Sys.HistoryEventArgs(stateClone);
        if (h) {
            h(this, args);
        }
    }
    function Sys$_Application$_serializeState(state) {
        var serialized =3D [];
        for (var key in state) {
            var value =3D state[key];
            if (key =3D=3D=3D '__s') {
                var serverState =3D value;
            }
            else {
                if (key.indexOf('=3D') !=3D=3D -1) throw =
Error.argument('state', Sys.Res.stateFieldNameInvalid);
                serialized[serialized.length] =3D key + '=3D' + =
encodeURIComponent(value);
            }
        }
        return serialized.join('&') + (serverState ? '&&' + serverState =
: '');
    }
    function Sys$_Application$_setHistory(historyArray) {
        var historyElement =3D document.getElementById('__history');
        if (historyElement) {
            historyElement.value =3D =
Sys.Serialization.JavaScriptSerializer.serialize(historyArray);
        }
    }
    function Sys$_Application$_setState(entry, title) {
        entry =3D entry || '';
        if (entry !=3D=3D this._currentEntry) {
            if (window.theForm) {
                var action =3D window.theForm.action;
                var hashIndex =3D action.indexOf('#');
                window.theForm.action =3D ((hashIndex !=3D=3D -1) ? =
action.substring(0, hashIndex) : action) + '#' + entry;
            }
           =20
            if (this._historyFrame && this._historyPointIsNew) {
                this._ignoreIFrame =3D true;
                this._historyPointIsNew =3D false;
                var frameDoc =3D =
this._historyFrame.contentWindow.document;
                frameDoc.open("javascript:'<html></html>'");
                frameDoc.write("<html><head><title>" + (title || =
document.title) +
                    "</title><scri" + "pt =
type=3D\"text/javascript\">parent.Sys.Application._onIFrameLoad('" +=20
                    entry + "');</scri" + =
"pt></head><body></body></html>");
                frameDoc.close();
            }
            this._ignoreTimer =3D false;
            var currentHash =3D this.get_stateString();
            this._currentEntry =3D entry;
            if (entry !=3D=3D currentHash) {
                var loc =3D document.location;
                if (loc.href.length - loc.hash.length + entry.length > =
1024) {
                    throw =
Error.invalidOperation(Sys.Res.urlMustBeLessThan1024chars);
                }
                if (this._isSafari2()) {
                    var history =3D this._getHistory();
                    history[window.history.length - =
this._historyInitialLength + 1] =3D entry;
                    this._setHistory(history);
                    this._historyLength =3D window.history.length + 1;
                    var form =3D document.createElement('form');
                    form.method =3D 'get';
                    form.action =3D '#' + entry;
                    document.appendChild(form);
                    form.submit();
                    document.removeChild(form);
                }
                else {
                    window.location.hash =3D entry;
                }
                if ((typeof(title) !=3D=3D 'undefined') && (title =
!=3D=3D null)) {
                    document.title =3D title;
                }
            }
        }
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
    function Sys$_Application$_updateHiddenField(value) {
        if (this._clientId) {
            var serverStateField =3D =
document.getElementById(this._clientId);
            if (serverStateField) {
                serverStateField.value =3D value;
            }
        }
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,
    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    get_stateString: Sys$_Application$get_stateString,
    get_enableHistory: Sys$_Application$get_enableHistory,
    set_enableHistory: Sys$_Application$set_enableHistory,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_navigate: Sys$_Application$add_navigate,
    remove_navigate: Sys$_Application$remove_navigate,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    addHistoryPoint: Sys$_Application$addHistoryPoint,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    setServerId: Sys$_Application$setServerId,
    setServerState: Sys$_Application$setServerState,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _deserializeState: Sys$_Application$_deserializeState,
    _doInitialize: Sys$_Application$_doInitialize,
    _enableHistoryInScriptManager: =
Sys$_Application$_enableHistoryInScriptManager,   =20
    _ensureHistory: Sys$_Application$_ensureHistory,
    _getHistory: Sys$_Application$_getHistory,
    _isSafari2: Sys$_Application$_isSafari2,
    _loadHandler: Sys$_Application$_loadHandler,
    _navigate: Sys$_Application$_navigate,
    _onIdle: Sys$_Application$_onIdle,
    _onIFrameLoad: Sys$_Application$_onIFrameLoad,
    _onPageRequestManagerBeginRequest: =
Sys$_Application$_onPageRequestManagerBeginRequest,
    _onPageRequestManagerEndRequest: =
Sys$_Application$_onPageRequestManagerEndRequest,
    _raiseNavigate: Sys$_Application$_raiseNavigate,
    _serializeState: Sys$_Application$_serializeState,
    _setHistory: Sys$_Application$_setHistory,
    _setState: Sys$_Application$_setState,
    _unloadHandler: Sys$_Application$_unloadHandler,
    _updateHiddenField: Sys$_Application$_updateHiddenField
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);
Sys.Application =3D new Sys._Application();
var $find =3D Sys.Application.findComponent;
Type.registerNamespace('Sys.Net');
=20
Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}
    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.webRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }
        this._webRequest =3D value;
    }
    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.WebRequestExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value =
locid=3D"P:J#Sys.Net.WebRequestExecutor.object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }
    function Sys$Net$WebRequestExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequestExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getResponseHeader" />
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestExecutor.getAllResponseHeaders" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,
    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,
    get_started: Sys$Net$WebRequestExecutor$get_started,
    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,
    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,
    executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
=20
Sys.Net.XMLDOM =3D function Sys$Net$XMLDOM(markup) {
    /// <summary locid=3D"M:J#Sys.Net.XMLDOM.#ctor" />
    /// <param name=3D"markup" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "markup", type: String}
    ]);
    if (e) throw e;
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0, l =3D progIDs.length; i < l; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
    }
    else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        }
        catch (ex) {
        }
    }
    return null;
}
Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Net.XMLHttpExecutor.initializeBase(this);
    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;
    this._onReadyStateChange =3D (function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {
            try {
                if (typeof(_this._xmlHttpRequest.status) =3D=3D=3D =
"undefined") {
                    return;
                }
            }
            catch(ex) {
                return;
            }
           =20
            _this._clearTimer();
            _this._responseAvailable =3D true;
            try {
                _this._webRequest.completed(Sys.EventArgs.Empty);
            }
            finally {
                if (_this._xmlHttpRequest !=3D null) {
                    _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                    _this._xmlHttpRequest =3D null;
                }
            }
        }
    });
    this._clearTimer =3D (function() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    });
    this._onTimeout =3D (function() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    });
}
    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.started"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }
    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseAvailable"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._responseAvailable;
    }
    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.aborted"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }
    function Sys$Net$XMLHttpExecutor$executeRequest() {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.executeRequest" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();
        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }
        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }
        if (verb.toLowerCase() =3D=3D=3D "post") {
            if ((headers =3D=3D=3D null) || !headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded; charset=3Dutf-8');
            }
            if (!body) {
                body =3D "";
            }
        }
        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }
    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getResponseHeader" />
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }
        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }
    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <summary =
locid=3D"M:J#Sys.Net.XMLHttpExecutor.getAllResponseHeaders" />
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }
        return this._xmlHttpRequest.getAllResponseHeaders();
    }
    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.responseData"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }
        return this._xmlHttpRequest.responseText;
    }
    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }
        var result =3D 0;
        try {
            result =3D this._xmlHttpRequest.status;
        }
        catch(ex) {
        }
        return result;
    }
    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.XMLHttpExecutor.statusText"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }
        return this._xmlHttpRequest.statusText;
    }
    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value locid=3D"P:J#Sys.Net.XMLHttpExecutor.xml"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }
        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {
            xml =3D Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);
            if (!xml || !xml.documentElement)
                return null;
        }
        else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) {
            xml.setProperty('SelectionLanguage', 'XPath');
        }
        if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }
    function Sys$Net$XMLHttpExecutor$abort() {
        /// <summary locid=3D"M:J#Sys.Net.XMLHttpExecutor.abort" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }
        if (this._aborted || this._responseAvailable || this._timedOut)
            return;
        this._aborted =3D true;
        this._clearTimer();
        if (this._xmlHttpRequest && !this._responseAvailable) {
            this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();
           =20
            this._xmlHttpRequest =3D null;           =20
            this._webRequest.completed(Sys.EventArgs.Empty);
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {
    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,
    get_started: Sys$Net$XMLHttpExecutor$get_started,
    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,
    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,
    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,
    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,
    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,
    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,
    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,
    get_xml: Sys$Net$XMLHttpExecutor$get_xml,
    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
=20
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    /// <summary locid=3D"P:J#Sys.Net.WebRequestManager.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}
    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.invokingRequest" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.Net.WebRequestManager.completedRequest" />
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;
        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultTimeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }
        this._defaultTimeout =3D value;
    }
    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequestManager.defaultExecutorType"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._defaultExecutorType =3D value;
    }
    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <summary =
locid=3D"M:J#Sys.Net.WebRequestManager.executeRequest" />
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;
        var executor =3D webRequest.get_executor();
        if (!executor) {
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }
            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }
            webRequest.set_executor(executor);
        }
        if (executor.get_aborted()) {
            return;
        }
        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }
        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,
    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,
    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,
    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,
    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,
    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}
Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');
Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
=20
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <summary locid=3D"M:J#Sys.Net.NetworkRequestEventArgs.#ctor" />
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;
    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}
    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.Net.NetworkRequestEventArgs.webRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}
Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
=20
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    /// <summary locid=3D"M:J#Sys.Net.WebRequest.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}
    function Sys$Net$WebRequest$add_completed(handler) {
    /// <summary locid=3D"E:J#Sys.Net.WebRequest.completed" />
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;
        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }
    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.completed" />
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;
        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }
        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }
    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.url"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._url =3D value;
    }
    function Sys$Net$WebRequest$get_headers() {
        /// <value locid=3D"P:J#Sys.Net.WebRequest.headers"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }
    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebRequest.httpVerb"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }
        this._httpVerb =3D value;
    }
    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebRequest.body"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._body =3D value;
    }
    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebRequest.userContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor" =
locid=3D"P:J#Sys.Net.WebRequest.executor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;
        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }
        this._executor =3D value;
        this._executor._set_webRequest(this);
    }
    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebRequest.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }
        this._timeout =3D value;
    }
    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.getResolvedUrl" />
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }
    function Sys$Net$WebRequest$invoke() {
        /// <summary locid=3D"M:J#Sys.Net.WebRequest.invoke" />
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }
        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,
    completed: Sys$Net$WebRequest$completed,
    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,
    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,
    get_headers: Sys$Net$WebRequest$get_headers,
    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,
    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,
    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,
    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,
    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,
    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,
    invoke: Sys$Net$WebRequest$invoke
}
Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
    if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }
    if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }
    var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    qsStart =3D baseUrl.indexOf('#');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);
    if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }
    if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }
        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }
        return baseUrl.substr(0, nextSlash) + url;
    }
    else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }
        return baseUrl.substr(0, lastSlash+1) + url;
    }
}
Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
    if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;
    var sb =3D new Sys.StringBuilder();
    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }
        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));
        i++;
    }
    return sb.toString();
}
Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }
    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}
Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
=20
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceProxy.timeout"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;
        if (value < 0) { throw Error.argumentOutOfRange('value', value, =
Sys.Res.invalidTimeout); }
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultUserContext"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultSucceededCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Net.WebServiceProxy.defaultFailedCallback"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceProxy.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy._invoke" />
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        if (onSuccess =3D=3D=3D null || typeof onSuccess =3D=3D=3D =
'undefined') onSuccess =3D this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_path: Sys$Net$WebServiceProxy$get_path,
    set_path: Sys$Net$WebServiceProxy$set_path,
    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');
Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceProxy.invoke" />
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;
    var request =3D new Sys.Net.WebRequest();
    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
    if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+encodeURICo=
mponent(methodName), urlParams));
    var body =3D null;
    if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);
        if (body =3D=3D=3D "{}") body =3D "";
    }
    request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();
    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;
          =20
            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }
            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                if (result) {
                    result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
                }
            }
            else if (contentType.startsWith("application/json")) {
                if (!result || typeof(result.d) =3D=3D=3D "undefined") {
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceInvalidJsonWrapper, methodName));
                }
                result =3D result.d;
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                    var error;
                    if (result && errorObj) {
                        error =3D result.get_exceptionType() + "-- " + =
result.get_message();
                    }
                    else {
                        error =3D response.get_responseData();
                    }
                    throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                throw =
Sys.Net.WebServiceProxy._createFailedError(methodName, msg);
            }
        }
    }
    return request;
}
Sys.Net.WebServiceProxy._createFailedError =3D function =
Sys$Net$WebServiceProxy$_createFailedError(methodName, errorMessage) {
    var displayMessage =3D "Sys.Net.WebServiceFailedException: " + =
errorMessage;
    var e =3D Error.create(displayMessage, { 'name': =
'Sys.Net.WebServiceFailedException', 'methodName': methodName });
    e.popStackFrame();
    return e;
}
Sys.Net.WebServiceProxy._defaultFailedCallback =3D function =
Sys$Net$WebServiceProxy$_defaultFailedCallback(err, methodName) {
    var error =3D err.get_exceptionType() + "-- " + err.get_message();
    throw Sys.Net.WebServiceProxy._createFailedError(methodName, =
String.format(Sys.Res.webServiceFailed, methodName, error));
}
Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
        if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
=20
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <summary locid=3D"M:J#Sys.Net.WebServiceError.#ctor" />
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;
    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}
    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.Net.WebServiceError.timedOut"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }
    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number" =
locid=3D"P:J#Sys.Net.WebServiceError.statusCode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }
    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.message"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }
    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.stackTrace"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }
    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.Net.WebServiceError.exceptionType"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype =3D {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,
    get_statusCode: Sys$Net$WebServiceError$get_statusCode,
    get_message: Sys$Net$WebServiceError$get_message,
    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,
    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');
Type.registerNamespace('Sys.Services');
Sys.Services._ProfileService =3D function Sys$Services$_ProfileService() =
{
    /// <summary locid=3D"M:J#Sys.Net.ProfileService.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.defaultLoadCompletedCallback"></=
value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultLoadCompletedCallback =3D value;
    }
    function =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.defaultSaveCompletedCallback"></=
value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;
        this._defaultSaveCompletedCallback =3D value;
    }
    function Sys$Services$_ProfileService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.ProfileService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.ProfileService.load" />
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;
        var parameters;
        var methodName;
        if (!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
            parameters =3D { authenticatedUserOnly: false };
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames), authenticatedUserOnly: false };
        }
        this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, =
this._onLoadComplete),
                                        Function.createDelegate(this, =
this._onLoadFailed),
                                        [loadCompletedCallback, =
failedCallback, userContext]);
    }
    function Sys$Services$_ProfileService$save(propertyNames, =
saveCompletedCallback, failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.ProfileService.save" />
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"saveCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></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.value, authenticatedUserOnly: false },
                                        Function.createDelegate(this, =
this._onSaveComplete),
                                        Function.createDelegate(this, =
this._onSaveFailed),
                                        [saveCompletedCallback, =
failedCallback, userContext, flattenedProperties.count]);
    }
    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;
        var count =3D 0;
        if (propertyNames && propertyNames.length =3D=3D=3D 0) {
            return { value: flattenedProperties, count: 0 };
        }
        for (var property in properties) {
            val =3D properties[property];
            key =3D groupName ? groupName + "." + property : property;
            if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var obj =3D this._flattenProperties(propertyNames, val, =
key);
                var groupProperties =3D obj.value;
                count +=3D obj.count;=20
                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;
                    count++;=20
                }
            }
        }
        return { value: flattenedProperties, count: count };
    }
    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 callback =3D context[0] || =
this.get_defaultLoadCompletedCallback() || =
this.get_defaultSucceededCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();       =20
            callback(result.length, userContext, =
"Sys.Services.ProfileService.load");
        }
    }
    function Sys$Services$_ProfileService$_onLoadFailed(err, context, =
methodName) {
        var callback =3D context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();       =20
            callback(err, userContext, =
"Sys.Services.ProfileService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    function Sys$Services$_ProfileService$_onSaveComplete(result, =
context, methodName) {
        var count =3D context[3];
        if (result !=3D=3D null) {=20
            if (result instanceof Array) {
                count -=3D result.length;
            }
            else if (typeof(result) =3D=3D=3D 'number') {
                count =3D result;
            }
            else {
                throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Array"));
            }
        }
       =20
        var callback =3D context[0] || =
this.get_defaultSaveCompletedCallback() || =
this.get_defaultSucceededCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            callback(count, userContext, =
"Sys.Services.ProfileService.save");
        }
    }
    function Sys$Services$_ProfileService$_onSaveFailed(err, context, =
methodName) {
        var callback =3D context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            callback(err, userContext, =
"Sys.Services.ProfileService.save");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    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 {
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,
    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,
    get_path: Sys$Services$_ProfileService$get_path,
    load: Sys$Services$_ProfileService$load,
    save: Sys$Services$_ProfileService$save,
    _clonePropertyNames: =
Sys$Services$_ProfileService$_clonePropertyNames,   =20
    _flattenProperties: Sys$Services$_ProfileService$_flattenProperties,
    _get_path: Sys$Services$_ProfileService$_get_path,   =20
    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
    _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) {
    /// <summary locid=3D"M:J#Sys.Services.ProfileGroup.#ctor" />
    /// <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() {
    /// <summary locid=3D"M:J#Sys.Services.AuthenticationService.#ctor" =
/>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.AuthenticationService.defaultLoginCompletedCall=
back"></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" =
locid=3D"P:J#Sys.Services.AuthenticationService.defaultLogoutCompletedCal=
lback"></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" =
locid=3D"P:J#Sys.Services.AuthenticationService.isLoggedIn"></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" =
locid=3D"P:J#Sys.Services.AuthenticationService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_AuthenticationService$login(username, =
password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext) {
        /// <summary =
locid=3D"M:J#Sys.Services.AuthenticationService.login" />
        /// <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, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext]);
    }
    function Sys$Services$_AuthenticationService$logout(redirectUrl, =
logoutCompletedCallback, failedCallback, userContext) {
        /// <summary =
locid=3D"M:J#Sys.Services.AuthenticationService.logout" />
        /// <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[4];
        var userContext =3D context[7] || this.get_defaultUserContext();
        var callback =3D context[5] || =
this.get_defaultLoginCompletedCallback() || =
this.get_defaultSucceededCallback();
       =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 callback =3D context[6] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[7] || =
this.get_defaultUserContext();
            callback(err, userContext, =
"Sys.Services.AuthenticationService.login");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    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 userContext =3D context[3] || this.get_defaultUserContext();
        var callback =3D context[1] || =
this.get_defaultLogoutCompletedCallback() || =
this.get_defaultSucceededCallback();
        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 callback =3D context[2] || this.get_defaultFailedCallback();
        if (callback) {
            callback(err, context[3], =
"Sys.Services.AuthenticationService.logout");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
    function =
Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated =3D authenticated;
    }
Sys.Services._AuthenticationService.prototype =3D {
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
    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, =20
    login: Sys$Services$_AuthenticationService$login,
    logout: Sys$Services$_AuthenticationService$logout,
    _get_path: Sys$Services$_AuthenticationService$_get_path,
    _onLoginComplete: =
Sys$Services$_AuthenticationService$_onLoginComplete,
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
    _onLogoutComplete: =
Sys$Services$_AuthenticationService$_onLogoutComplete,
    _onLogoutFailed: =
Sys$Services$_AuthenticationService$_onLogoutFailed,
    _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();
Sys.Services._RoleService =3D function Sys$Services$_RoleService() {
    /// <summary locid=3D"M:J#Sys.Services.RoleService.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._RoleService.initializeBase(this);
    this._roles =3D [];
}
Sys.Services._RoleService.DefaultWebServicePath =3D '';
    function =
Sys$Services$_RoleService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.RoleService.defaultLoadCompletedCallback"></val=
ue>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_RoleService$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$_RoleService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true" =
locid=3D"P:J#Sys.Services.RoleService.path"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path || '';
    }
    function Sys$Services$_RoleService$get_roles() {
        /// <value type=3D"Array" elementType=3D"String" =
mayBeNull=3D"false" =
locid=3D"P:J#Sys.Services.RoleService.roles"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Array.clone(this._roles);
    }
    function Sys$Services$_RoleService$isUserInRole(role) {
        /// <summary locid=3D"M:J#Sys.Services.RoleService.isUserInRole" =
/>
        /// <param name=3D"role" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "role", type: String}
        ]);
        if (e) throw e;
        var v =3D this._get_rolesIndex()[role.trim().toLowerCase()];
        return !!v;
    }
    function Sys$Services$_RoleService$load(loadCompletedCallback, =
failedCallback, userContext) {
        /// <summary locid=3D"M:J#Sys.Services.RoleService.load" />
        /// <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: "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;
        Sys.Net.WebServiceProxy.invoke(
                    this._get_path(),
                    "GetRolesForCurrentUser",
                    false,
                    {} ,
                    Function.createDelegate(this, this._onLoadComplete),
                    Function.createDelegate(this, this._onLoadFailed),
                    [loadCompletedCallback, failedCallback, =
userContext],
                    this.get_timeout());
    }
    function Sys$Services$_RoleService$_get_path() {
        var path =3D this.get_path();
        if(!path || !path.length) {
            path =3D Sys.Services._RoleService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }
    function Sys$Services$_RoleService$_get_rolesIndex() {
        if (!this._rolesIndex) {
            var index =3D {};
            for(var i=3D0; i < this._roles.length; i++) {
                index[this._roles[i].toLowerCase()] =3D true;
            }
            this._rolesIndex =3D index;
        }
        return this._rolesIndex;
    }
    function Sys$Services$_RoleService$_onLoadComplete(result, context, =
methodName) {
        if(result && !(result instanceof Array)) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Array"));
        }
        this._roles =3D result;
        this._rolesIndex =3D null;
        var callback =3D context[0] || =
this.get_defaultLoadCompletedCallback() || =
this.get_defaultSucceededCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            var clonedResult =3D Array.clone(result);
            callback(clonedResult, userContext, =
"Sys.Services.RoleService.load");
        }
    }
    function Sys$Services$_RoleService$_onLoadFailed(err, context, =
methodName) {
        var callback =3D context[1] || this.get_defaultFailedCallback();
        if (callback) {
            var userContext =3D context[2] || =
this.get_defaultUserContext();
            callback(err, userContext, "Sys.Services.RoleService.load");
        }
        else {
            Sys.Net.WebServiceProxy._defaultFailedCallback(err, =
methodName);
        }
    }
Sys.Services._RoleService.prototype =3D {
    _defaultLoadCompletedCallback: null,
    _rolesIndex: null,
    _timeout: 0,
    _path: '',
    get_defaultLoadCompletedCallback: =
Sys$Services$_RoleService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_RoleService$set_defaultLoadCompletedCallback,
    get_path: Sys$Services$_RoleService$get_path,
    get_roles: Sys$Services$_RoleService$get_roles,
    isUserInRole: Sys$Services$_RoleService$isUserInRole,
    load: Sys$Services$_RoleService$load,
    _get_path: Sys$Services$_RoleService$_get_path, =20
    _get_rolesIndex: Sys$Services$_RoleService$_get_rolesIndex,
    _onLoadComplete: Sys$Services$_RoleService$_onLoadComplete,
    _onLoadFailed: Sys$Services$_RoleService$_onLoadFailed
}
Sys.Services._RoleService.registerClass('Sys.Services._RoleService', =
Sys.Net.WebServiceProxy);
Sys.Services.RoleService =3D new Sys.Services._RoleService();
Type.registerNamespace('Sys.Serialization');
Sys.Serialization.JavaScriptSerializer =3D function =
Sys$Serialization$JavaScriptSerializer() {
    /// <summary =
locid=3D"M:J#Sys.Serialization.JavaScriptSerializer.#ctor" />
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.J=
avaScriptSerializer');
Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs =3D [];
Sys.Serialization.JavaScriptSerializer._charsToEscape =3D [];
Sys.Serialization.JavaScriptSerializer._dateRegEx =3D new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4}=
)?\\)\\\\/\\"', 'g');
Sys.Serialization.JavaScriptSerializer._escapeChars =3D {};
Sys.Serialization.JavaScriptSerializer._escapeRegEx =3D new =
RegExp('["\\\\\\x00-\\x1F]', 'i');
Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal =3D new =
RegExp('["\\\\\\x00-\\x1F]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonRegEx =3D new =
RegExp('[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]', 'g');
Sys.Serialization.JavaScriptSerializer._jsonStringRegEx =3D new =
RegExp('"(\\\\.|[^"\\\\])*"', 'g');
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName =3D =
'__type';
Sys.Serialization.JavaScriptSerializer._init =3D function =
Sys$Serialization$JavaScriptSerializer$_init() {
    var replaceChars =3D =
['\\u0000','\\u0001','\\u0002','\\u0003','\\u0004','\\u0005','\\u0006','\=
\u0007',
                        =
'\\b','\\t','\\n','\\u000b','\\f','\\r','\\u000e','\\u000f','\\u0010','\\=
u0011',
                        =
'\\u0012','\\u0013','\\u0014','\\u0015','\\u0016','\\u0017','\\u0018','\\=
u0019',
                        =
'\\u001a','\\u001b','\\u001c','\\u001d','\\u001e','\\u001f'];
    Sys.Serialization.JavaScriptSerializer._charsToEscape[0] =3D '\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['\\'] =
=3D new RegExp('\\\\', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['\\'] =3D =
'\\\\';
    Sys.Serialization.JavaScriptSerializer._charsToEscape[1] =3D '"';
    Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"'] =3D =
new RegExp('"', 'g');
    Sys.Serialization.JavaScriptSerializer._escapeChars['"'] =3D '\\"';
    for (var i =3D 0; i < 32; i++) {
        var c =3D String.fromCharCode(i);
        Sys.Serialization.JavaScriptSerializer._charsToEscape[i+2] =3D =
c;
        Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[c] =
=3D new RegExp(c, 'g');
        Sys.Serialization.JavaScriptSerializer._escapeChars[c] =3D =
replaceChars[i];
    }
}
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeBooleanWithBuilder(objec=
t, stringBuilder) {
    stringBuilder.append(object.toString());
}
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeNumberWithBuilder(object=
, stringBuilder) {
    if (isFinite(object)) {
        stringBuilder.append(String(object));
    }
    else {
        throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
    }
}
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeStringWithBuilder(string=
, stringBuilder) {
    stringBuilder.append('"');
    if =
(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(string)) {
        if (Sys.Serialization.JavaScriptSerializer._charsToEscape.length =
=3D=3D=3D 0) {
            Sys.Serialization.JavaScriptSerializer._init();
        }
        if (string.length < 128) {
            string =3D =
string.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,=

                function(x) { return =
Sys.Serialization.JavaScriptSerializer._escapeChars[x]; });
        }
        else {
            for (var i =3D 0; i < 34; i++) {
                var c =3D =
Sys.Serialization.JavaScriptSerializer._charsToEscape[i];
                if (string.indexOf(c) !=3D=3D -1) {
                    if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Opera || =
Sys.Browser.agent =3D=3D=3D Sys.Browser.FireFox) {
                        string =3D =
string.split(c).join(Sys.Serialization.JavaScriptSerializer._escapeChars[=
c]);
                    }
                    else {
                        string =3D =
string.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegEx=
s[c],
                            =
Sys.Serialization.JavaScriptSerializer._escapeChars[c]);
                    }
                }
            }
       }
    }
    stringBuilder.append(string);
    stringBuilder.append('"');
}
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, =
stringBuilder, sort, prevObjects) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
            if (prevObjects){
                for( var j =3D 0; j < prevObjects.length; j++) {
                    if (prevObjects[j] =3D=3D=3D object) {
                        throw =
Error.invalidOperation(Sys.Res.cannotSerializeObjectWithCycle);
                    }
                }
            }
            else {
                prevObjects =3D new Array();
            }
            try {
                Array.add(prevObjects, object);
               =20
                if (Number.isInstanceOfType(object)){
                    =
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object=
, stringBuilder);
                }
                else if (Boolean.isInstanceOfType(object)){
                    =
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(objec=
t, stringBuilder);
                }
                else if (String.isInstanceOfType(object)){
                    =
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object=
, stringBuilder);
                }
           =20
                else if (Array.isInstanceOfType(object)) {
                    stringBuilder.append('[');
                  =20
                    for (i =3D 0; i < object.length; ++i) {
                        if (i > 0) {
                            stringBuilder.append(',');
                        }
                        =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], =
stringBuilder,false,prevObjects);
                    }
                    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;
                        }
                        if (name =3D=3D=3D =
Sys.Serialization.JavaScriptSerializer._serverTypeFieldName && =
propertyCount !=3D=3D 0){
                            properties[propertyCount++] =3D =
properties[0];
                            properties[0] =3D name;
                        }
                        else{
                            properties[propertyCount++] =3D name;
                        }
                    }
                    if (sort) properties.sort();
                    stringBuilder.append('{');
                    var needComma =3D false;
                    =20
                    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;
                            }
                          =20
                            =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i=
], stringBuilder, sort, prevObjects);
                            stringBuilder.append(':');
                            =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, =
stringBuilder, sort, prevObjects);
                         =20
                        }
                    }
                stringBuilder.append('}');
                }
            }
            finally {
                Array.removeAt(prevObjects, prevObjects.length - 1);
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;
    case 'number':
        =
Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(object=
, stringBuilder);
        break;
    case 'string':
        =
Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(object=
, stringBuilder);
        break;
    case 'boolean':
        =
Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(objec=
t, stringBuilder);
        break;
    default:
        stringBuilder.append('null');
        break;
    }
}
Sys.Serialization.JavaScriptSerializer.serialize =3D function =
Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <summary =
locid=3D"M:J#Sys.Serialization.JavaScriptSerializer.serialize" />
    /// <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, secure) {
    /// <summary =
locid=3D"M:J#Sys.Serialization.JavaScriptSerializer.deserialize" />
    /// <param name=3D"data" type=3D"String"></param>
    /// <param name=3D"secure" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "data", type: String},
        {name: "secure", type: Boolean, optional: true}
    ]);
    if (e) throw e;
   =20
    if (data.length =3D=3D=3D 0) throw Error.argument('data', =
Sys.Res.cannotDeserializeEmptyString);
    try {   =20
        var exp =3D =
data.replace(Sys.Serialization.JavaScriptSerializer._dateRegEx, "$1new =
Date($2)");
       =20
        if (secure && =
Sys.Serialization.JavaScriptSerializer._jsonRegEx.test(
             =
exp.replace(Sys.Serialization.JavaScriptSerializer._jsonStringRegEx, =
''))) throw null;
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', =
Sys.Res.cannotDeserializeInvalidJson);
    }
}
=20
Sys.CultureInfo =3D function Sys$CultureInfo(name, numberFormat, =
dateTimeFormat) {
    /// <summary locid=3D"M:J#Sys.CultureInfo.#ctor" />
    /// <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._upperAbbrMonths, =
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;
=20
Sys.UI.Behavior =3D function Sys$UI$Behavior(element) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.UI.Behavior.element"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.UI.Behavior.id"></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() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.UI.Behavior.name"></value>
        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) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;
        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) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.getBehaviorByName" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.getBehaviors" />
    /// <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) {
    /// <summary locid=3D"M:J#Sys.UI.Behavior.getBehaviorsByType" />
    /// <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;
}
=20
Sys.UI.VisibilityMode =3D function Sys$UI$VisibilityMode() {
    /// <summary locid=3D"M:J#Sys.UI.VisibilityMode.#ctor" />
    /// <field name=3D"hide" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.VisibilityMode.hide"></field>
    /// <field name=3D"collapse" type=3D"Number" integer=3D"true" =
static=3D"true" locid=3D"F:J#Sys.UI.VisibilityMode.collapse"></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");
=20
Sys.UI.Control =3D function Sys$UI$Control(element) {
    /// <summary locid=3D"M:J#Sys.UI.Control.#ctor" />
    /// <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;
}
    function Sys$UI$Control$get_element() {
        /// <value domElement=3D"true" =
locid=3D"P:J#Sys.UI.Control.element"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type=3D"String" =
locid=3D"P:J#Sys.UI.Control.id"></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" =
locid=3D"P:J#Sys.UI.Control.parent"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parent) return this._parent;
        if (!this._element) return null;
       =20
        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;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        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" =
locid=3D"P:J#Sys.UI.Control.visibilityMode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        return Sys.UI.DomElement.getVisibilityMode(this._element);
    }
    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._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.setVisibilityMode(this._element, value);
    }
    function Sys$UI$Control$get_visible() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.UI.Control.visible"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        return Sys.UI.DomElement.getVisible(this._element);
    }
    function Sys$UI$Control$set_visible(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.setVisible(this._element, value)
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <summary locid=3D"M:J#Sys.UI.Control.addCssClass" />
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        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;
        }
        if (this._parent) delete this._parent;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <summary locid=3D"M:J#Sys.UI.Control.onBubbleEvent" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.UI.Control.raiseBubbleEvent" />
        /// <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) {
        /// <summary locid=3D"M:J#Sys.UI.Control.removeCssClass" />
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <summary locid=3D"M:J#Sys.UI.Control.toggleCssClass" />
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;
        if (!this._element) throw =
Error.invalidOperation(Sys.Res.cantBeCalledAfterDispose);
        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,
    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{
"urlMustBeLessThan1024chars":"The history state must be small enough to =
not make the url larger than 1024 characters.",
"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.",
"cantBeCalledAfterDispose":"Can\u0027t be called after dispose.",
"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.",
"historyInvalidHistorySettingCombination":"Cannot set enableHistory to =
false when ScriptManager.EnableHistory is true.",
"stateMustBeStringDictionary":"The state object can only have null and =
string fields.",
"boolTrueOrFalse":"Value must be \u0027true\u0027 or =
\u0027false\u0027.",
"scriptLoadFailedNoHead":"ScriptLoader requires pages to contain a =
\u003chead\u003e element.",
"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.",
"historyCannotEnableHistory":"Cannot set enableHistory after =
initialization.",
"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.",
"addHandlerCantBeUsedForError":"Can\u0027t add a handler for the error =
event using this method. Please set the window.onerror property =
instead.",
"namespaceContainsObject":"Object {0} already exists and is not a =
namespace.",
"cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a =
function.",
"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. The type =
may be defined multiple times or the script file that defines it may =
have already been loaded. A possible cause is a change of settings =
during a partial update.",
"cantSetNameAfterInit":"The name property can\u0027t be set on this =
object after initialization.",
"historyMissingFrame":"For the history feature to work in IE, the page =
must have an iFrame element with id \u0027__historyFrame\u0027 pointed =
to a page that gets its title from the \u0027title\u0027 query string =
parameter and calls Sys.Application._onIFrameLoad() on the parent =
window. This can be done by setting EnableHistory to true on =
ScriptManager.",
"appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 =
can\u0027t be added to the application.",
"historyCannotAddHistoryPointWithHistoryDisabled":"A history point can =
only be added if enableHistory is set to true.",
"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.",
"stateFieldNameInvalid":"State field names must not contain any =
\u0027=3D\u0027 characters.",
"cantSetId":"The id property can\u0027t be set on this object.",
"historyMissingHiddenInput":"For the history feature to work in Safari =
2, the page must have a hidden input element with id =
\u0027__history\u0027.",
"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.",
"argumentDomNode":"Value must be a DOM element or a text node.",
"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}",
"webServiceInvalidJsonWrapper":"The server method \u0027{0}\u0027 =
returned invalid data. The \u0027d\u0027 property is missing from the =
JSON wrapper.",
"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.",
"cannotSerializeObjectWithCycle":"Cannot serialize object with cyclic =
reference within child properties.",
"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_01CBC777.722B7F40
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://newscenter.sdsu.edu/ScriptResource.axd?d=zoH5EQFAdEZuphns53RVR0ZScupR27Ju1LTYC3qRjs_tV41OnrWQ7NBiWNWTu5tP5pqX73lCm4eh35Mze_tBUMYVJ-ASpEZOMfgBS8erOLwf0ozQheBMNJoSOHb1S6qz-LJctjWiwQtdTM24udrLWwWjBkz0_Xpwu5hWhd4qtOZGc5VHrHAdltScf3PwNMuJ-YuiBQ2&t=198be02b

=EF=BB=BF// Name:        MicrosoftAjaxWebForms.debug.js
// Assembly:    System.Web.Extensions
// Version:     3.5.0.0
// FileVersion: 3.5.30729.3644
//-----------------------------------------------------------------------=

// 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) {
    /// <summary locid=3D"M:J#Sys.WebForms.BeginRequestEventArgs.#ctor" =
/>
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", mayBeNull: true, 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" mayBeNull=3D"true" =
locid=3D"P:J#Sys.WebForms.BeginRequestEventArgs.postBackElement"></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" =
locid=3D"P:J#Sys.WebForms.BeginRequestEventArgs.request"></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);
=20
Sys.WebForms.EndRequestEventArgs =3D function =
Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <summary locid=3D"M:J#Sys.WebForms.EndRequestEventArgs.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.WebForms.EndRequestEventArgs.dataItems"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type=3D"Error" =
locid=3D"P:J#Sys.WebForms.EndRequestEventArgs.error"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._error;
    }
    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type=3D"Boolean" =
locid=3D"P:J#Sys.WebForms.EndRequestEventArgs.errorHandled"></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" =
locid=3D"P:J#Sys.WebForms.EndRequestEventArgs.response"></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) {
    /// <summary =
locid=3D"M:J#Sys.WebForms.InitializeRequestEventArgs.#ctor" />
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", mayBeNull: true, 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" mayBeNull=3D"true" =
locid=3D"P:J#Sys.WebForms.InitializeRequestEventArgs.postBackElement"></v=
alue>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }
    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest" =
locid=3D"P:J#Sys.WebForms.InitializeRequestEventArgs.request"></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);
=20
Sys.WebForms.PageLoadedEventArgs =3D function =
Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, =
dataItems) {
    /// <summary locid=3D"M:J#Sys.WebForms.PageLoadedEventArgs.#ctor" />
    /// <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" =
locid=3D"P:J#Sys.WebForms.PageLoadedEventArgs.dataItems"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type=3D"Array" =
locid=3D"P:J#Sys.WebForms.PageLoadedEventArgs.panelsCreated"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsCreated;
    }
    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type=3D"Array" =
locid=3D"P:J#Sys.WebForms.PageLoadedEventArgs.panelsUpdated"></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) {
    /// <summary locid=3D"M:J#Sys.WebForms.PageLoadingEventArgs.#ctor" =
/>
    /// <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" =
locid=3D"P:J#Sys.WebForms.PageLoadingEventArgs.dataItems"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }
    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type=3D"Array" =
locid=3D"P:J#Sys.WebForms.PageLoadingEventArgs.panelsDeleting"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }
    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type=3D"Array" =
locid=3D"P:J#Sys.WebForms.PageLoadingEventArgs.panelsUpdating"></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);
=20
Sys.WebForms.PageRequestManager =3D function =
Sys$WebForms$PageRequestManager() {
    this._form =3D null;
    this._activeDefaultButton =3D null;
    this._activeDefaultButtonClicked =3D false;
    this._updatePanelIDs =3D null;
    this._updatePanelClientIDs =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._originalDoPostBackWithOptions =3D null;
    this._originalFireDefaultButton =3D null;
    this._originalDoCallback =3D null;
    this._isCrossPost =3D false;
    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._processingRequest =3D false;
    this._scriptDisposes =3D {};
   =20
    this._transientFields =3D ["__VIEWSTATEENCRYPTED", =
"__VIEWSTATEFIELDCOUNT"];
}
    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" =
locid=3D"P:J#Sys.WebForms.PageRequestManager.isInAsyncPostBack"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request !=3D=3D null;
    }
    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        /// <summary =
locid=3D"E:J#Sys.WebForms.PageRequestManager.beginRequest" />
        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) {
        /// <summary =
locid=3D"E:J#Sys.WebForms.PageRequestManager.endRequest" />
        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) {
        /// <summary =
locid=3D"E:J#Sys.WebForms.PageRequestManager.initializeRequest" />
        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) {
        /// <summary =
locid=3D"E:J#Sys.WebForms.PageRequestManager.pageLoaded" />
        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) {
        /// <summary =
locid=3D"E:J#Sys.WebForms.PageRequestManager.pageLoading" />
        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$_cancelPendingCallbacks() {
        for (var i =3D 0, l =3D window.__pendingCallbacks.length; i < l; =
i++) {
            var callback =3D window.__pendingCallbacks[i];
            if (callback) {
                if (!callback.async) {
                    window.__synchronousCallBackIndex =3D -1;
                }
                window.__pendingCallbacks[i] =3D null;
                var callbackFrameID =3D "__CALLBACKFRAME" + i;
                var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
                if (xmlRequestFrame) {
                    =
xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
                }
            }
        }
    }
    function =
Sys$WebForms$PageRequestManager$_commitControls(updatePanelData, =
asyncPostBackTimeout) {
        if (updatePanelData) {
            this._updatePanelIDs =3D updatePanelData.updatePanelIDs;
            this._updatePanelClientIDs =3D =
updatePanelData.updatePanelClientIDs;
            this._updatePanelHasChildrenAsTriggers =3D =
updatePanelData.updatePanelHasChildrenAsTriggers;
            this._asyncPostBackControlIDs =3D =
updatePanelData.asyncPostBackControlIDs;
            this._asyncPostBackControlClientIDs =3D =
updatePanelData.asyncPostBackControlClientIDs;
            this._postBackControlIDs =3D =
updatePanelData.postBackControlIDs;
            this._postBackControlClientIDs =3D =
updatePanelData.postBackControlClientIDs;
        }
        if (typeof(asyncPostBackTimeout) !=3D=3D 'undefined' && =
asyncPostBackTimeout !=3D=3D null) {
            this._asyncPostBackTimeout =3D asyncPostBackTimeout * 1000;
        }
    }
    function Sys$WebForms$PageRequestManager$_createHiddenField(id, =
value) {
        var container, field =3D document.getElementById(id);
        if (field) {
            if (!field._isContained) {
                field.parentNode.removeChild(field);
            }
            else {
                container =3D field.parentNode;
            }
        }
        if (!container) {
            container =3D document.createElement('span');
            container.style.cssText =3D "display:none !important";
            this._form.appendChild(container);
        }
        container.innerHTML =3D "<input type=3D'hidden' />";
        field =3D container.childNodes[0];
        field._isContained =3D true;
        field.id =3D field.name =3D id;
        field.value =3D value;
    }
    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 =
"Sys.WebForms.PageRequestManagerServerErrorException: " +
            (message || 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, l =3D source.length; i < l; i++) {
                Array.add(destinationIDs, source[i]);
                Array.add(destinationClientIDs, =
this._uniqueIDToClientID(source[i]));
            }
        }
    }
    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;
        }
        if (this._originalDoPostBackWithOptions) {
            window.WebForm_DoPostBackWithOptions =3D =
this._originalDoPostBackWithOptions;
            this._originalDoPostBackWithOptions =3D null;
        }
        if (this._originalFireDefaultButton) {
            window.WebForm_FireDefaultButton =3D =
this._originalFireDefaultButton;
            this._originalFireDefaultButton =3D null;
        }
        if (this._originalDoCallback) {
            window.WebForm_DoCallback =3D this._originalDoCallback;
            this._originalDoCallback =3D null;
        }
        this._form =3D null;
        this._updatePanelIDs =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;
    }
    function Sys$WebForms$PageRequestManager$_doCallback(eventTarget, =
eventArgument, eventCallback, context, errorCallback, useAsync) {
        if (!this.get_isInAsyncPostBack()) {
            this._originalDoCallback(eventTarget, eventArgument, =
eventCallback, context, errorCallback, useAsync);
        }
    }
    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, =
eventArgument) {
        this._additionalInput =3D null;
        var form =3D this._form;
        if ((eventTarget =3D=3D=3D null) || (typeof(eventTarget) =
=3D=3D=3D "undefined") || (this._isCrossPost)) {
            this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
            this._isCrossPost =3D false;
        }
        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$_doPostBackWithOptions(options) {
        this._isCrossPost =3D options && options.actionUrl;
        this._originalDoPostBackWithOptions(options);
    }
    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, =
executor, data) {
        if (this._request =3D=3D=3D executor.get_webRequest()) {
            this._processingRequest =3D false;
            this._additionalInput =3D null;
            this._request =3D null;
        }
        var handler =3D =
this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled =3D false;
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, =
executor);
            handler(this, eventArgs);
            errorHandled =3D eventArgs.get_errorHandled();
        }
        if (error && !errorHandled) {
            throw error;
        }
    }
    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$_fireDefaultButton(event, =
target) {
        if (event.keyCode =3D=3D=3D 13) {
            var src =3D event.srcElement || event.target;
            if (!src || (src.tagName.toLowerCase() !=3D=3D "textarea")) =
{
                var defaultButton =3D document.getElementById(target);
                if (defaultButton && (typeof(defaultButton.click) =
!=3D=3D "undefined")) {
                   =20
                   =20
                    this._activeDefaultButton =3D defaultButton;
                    this._activeDefaultButtonClicked =3D false;
                    try {
                        defaultButton.click();
                    }
                    finally {
                        this._activeDefaultButton =3D null;
                    }
                   =20
                   =20
                    event.cancelBubble =3D true;
                    if (typeof(event.stopPropagation) =3D=3D=3D =
"function") {
                        event.stopPropagation();
                    }
                    return false;
                }
            }
        }
        return true;
    }
    function =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad, =
data) {
        var updated =3D [];
        var created =3D [];
        var upData =3D data ? data.updatePanelData : null;
        var newIDs, childIDs, refreshedIDs;
        if (!upData) {
            newIDs =3D this._updatePanelIDs;
            childIDs =3D null;
            refreshedIDs =3D null;
        }
        else {
            newIDs =3D upData.updatePanelIDs;
            childIDs =3D upData.childUpdatePanelIDs;
            refreshedIDs =3D upData.panelsToRefreshIDs;
        }
        var i, l;
        if (refreshedIDs) {
            for (i =3D 0, l =3D refreshedIDs.length; i < l; i++) {
                Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
            }
        }
        for (i =3D 0, l =3D newIDs.length; i < l; 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, =
data ? data.dataItems : {});
    }
    function =
Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs(data) {
        var updated =3D [];
        var deleted =3D [];
        var upData =3D data.updatePanelData;
        var oldIDs =3D upData.oldUpdatePanelIDs;
        var newIDs =3D upData.updatePanelIDs;
        var childIDs =3D upData.childUpdatePanelIDs;
        var refreshedIDs =3D upData.panelsToRefreshIDs;
        var i, l;
        for (i =3D 0, l =3D refreshedIDs.length; i < l; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }
        for (i =3D 0, l =3D oldIDs.length; i < l; 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, =
data.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]) {
                                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) {
        if (this._prmInitialized) {
            throw =
Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);
        }
        this._prmInitialized =3D true;
        this._scriptManagerID =3D scriptManagerID;
        this._form =3D formElement;
        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._originalDoPostBackWithOptions =3D =
window.WebForm_DoPostBackWithOptions;
        if (this._originalDoPostBackWithOptions) {
            window.WebForm_DoPostBackWithOptions =3D =
Function.createDelegate(this, this._doPostBackWithOptions);
        }
        this._originalFireDefaultButton =3D =
window.WebForm_FireDefaultButton;
        if (this._originalFireDefaultButton) {
            window.WebForm_FireDefaultButton =3D =
Function.createDelegate(this, this._fireDefaultButton);
        }
        this._originalDoCallback =3D window.WebForm_DoCallback;
        if (this._originalDoCallback) {
            window.WebForm_DoCallback =3D Function.createDelegate(this, =
this._doCallback);
        }
        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, l =3D parentIDList.length; i < l; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }
    function =
Sys$WebForms$PageRequestManager$_onFormElementActive(element, offsetX, =
offsetY) {
        if (element.disabled) {
            return;
        }
        this._postBackSettings =3D this._getPostBackSettings(element, =
element.name);
        if (element.name) {
            var tagName =3D element.tagName.toUpperCase();
            if (tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if (type =3D=3D=3D 'submit') {
                    this._additionalInput =3D =
encodeURIComponent(element.name) + '=3D' + =
encodeURIComponent(element.value);
                }
                else if (type =3D=3D=3D 'image') {
                    this._additionalInput =3D =
encodeURIComponent(element.name) + '.x=3D' + offsetX + '&' + =
encodeURIComponent(element.name) + '.y=3D' + offsetY;
                }
            }
            else if ((tagName =3D=3D=3D 'BUTTON') && =
(element.name.length !=3D=3D 0) && (element.type =3D=3D=3D 'submit')) {
                this._additionalInput =3D =
encodeURIComponent(element.name) + '=3D' + =
encodeURIComponent(element.value);
            }
        }
    }
    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        this._activeDefaultButtonClicked =3D (evt.target =3D=3D=3D =
this._activeDefaultButton);
        this._onFormElementActive(evt.target, evt.offsetX, evt.offsetY);
    }
    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var continueSubmit =3D true;
        var isCrossPost =3D this._isCrossPost;
        this._isCrossPost =3D false;
        var i, l;
        if (this._onsubmit) {
            continueSubmit =3D this._onsubmit();
        }
        if (continueSubmit) {
            for (i =3D 0, l =3D this._onSubmitStatements.length; i < l; =
i++) {
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit =3D false;
                    break;
                }
            }
        }
        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }
        var form =3D this._form;
        if (isCrossPost) {
            return;
        }
        if (this._activeDefaultButton && =
!this._activeDefaultButtonClicked) {
            this._onFormElementActive(this._activeDefaultButton, 0, 0);
        }
        if (!this._postBackSettings.async) {
            return;
        }
        var formBody =3D new Sys.StringBuilder();
        formBody.append(encodeURIComponent(this._scriptManagerID) + =
'=3D' + encodeURIComponent(this._postBackSettings.panelID) + '&');
        var count =3D form.elements.length;
        for (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) || (name =3D=3D=3D =
this._scriptManagerID)) {
                continue;
            }
            var tagName =3D element.tagName.toUpperCase();
            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(encodeURIComponent(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(encodeURIComponent(name));
                        formBody.append('=3D');
                        =
formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName =3D=3D=3D 'TEXTAREA') {
                formBody.append(encodeURIComponent(name));
                formBody.append('=3D');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }
        formBody.append("__ASYNCPOST=3Dtrue&");
        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput =3D null;
        }
       =20
        var request =3D new Sys.Net.WebRequest();
        var action =3D form.action;
        if (Sys.Browser.agent =3D=3D=3D Sys.Browser.InternetExplorer) {
            var fragmentIndex =3D action.indexOf('#');
            if (fragmentIndex !=3D=3D -1) {
                action =3D action.substr(0, fragmentIndex);
            }
            var queryIndex =3D action.indexOf('?');
            if (queryIndex !=3D=3D -1) {
                var path =3D action.substr(0, queryIndex);
                if (path.indexOf("%") =3D=3D=3D -1) {
                    action =3D encodeURI(path) + =
action.substr(queryIndex);
                }
            }
            else if (action.indexOf("%") =3D=3D=3D -1) {
                action =3D encodeURI(action);
            }
        }
        request.set_url(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 eventArgs, handler =3D =
this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            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) {
            eventArgs =3D new =
Sys.WebForms.BeginRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
        }
       =20
        if (this._originalDoCallback) {
            this._cancelPendingCallbacks();
        }
        this._request =3D request;
        this._processingRequest =3D false;
        request.invoke();
        if (evt) {
            evt.preventDefault();
        }
    }
    function =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, =
eventArgs) {
        this._processingRequest =3D true;
        if (sender.get_timedOut()) {
            =
this._endPostBack(this._createPageRequestManagerTimeoutError(), sender, =
null);
            return;
        }
        if (sender.get_aborted()) {
            this._endPostBack(null, sender, null);
            return;
        }
        if (!this._request || (sender.get_webRequest() !=3D=3D =
this._request)) {
            return;
        }
        if (sender.get_statusCode() !=3D=3D 200) {
            =
this._endPostBack(this._createPageRequestManagerServerError(sender.get_st=
atusCode()), sender, null);
            return;
        }
        var data =3D this._parseDelta(sender);
        if (!data) return;
       =20
        var i, l;
        if (data.asyncPostBackControlIDsNode && =
data.postBackControlIDsNode &&
            data.updatePanelIDsNode && data.panelsToRefreshNode && =
data.childUpdatePanelIDsNode) {
           =20
            var oldUpdatePanelIDs =3D this._updatePanelIDs;
            var childUpdatePanelIDsString =3D =
data.childUpdatePanelIDsNode.content;
            var childUpdatePanelIDs =3D childUpdatePanelIDsString.length =
? childUpdatePanelIDsString.split(',') : [];
            var asyncPostBackControlIDsArray =3D =
this._splitNodeIntoArray(data.asyncPostBackControlIDsNode);
            var postBackControlIDsArray =3D =
this._splitNodeIntoArray(data.postBackControlIDsNode);
            var updatePanelIDsArray =3D =
this._splitNodeIntoArray(data.updatePanelIDsNode);
            var panelsToRefreshIDs =3D =
this._splitNodeIntoArray(data.panelsToRefreshNode);
            for (i =3D 0, l =3D panelsToRefreshIDs.length; i < l; i++) {
                var panelClientID =3D =
this._uniqueIDToClientID(panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, panelClientID)), sender, data);
                    return;
                }
            }
           =20
            var updatePanelData =3D this._processUpdatePanelArrays(
                updatePanelIDsArray,
                asyncPostBackControlIDsArray,
                postBackControlIDsArray);
            updatePanelData.oldUpdatePanelIDs =3D oldUpdatePanelIDs;
            updatePanelData.childUpdatePanelIDs =3D childUpdatePanelIDs;
            updatePanelData.panelsToRefreshIDs =3D panelsToRefreshIDs;
            data.updatePanelData =3D updatePanelData;
        }
        data.dataItems =3D {};
        var node;
        for (i =3D 0, l =3D data.dataItemNodes.length; i < l; i++) {
            node =3D data.dataItemNodes[i];
            data.dataItems[node.id] =3D node.content;
        }
        for (i =3D 0, l =3D data.dataItemJsonNodes.length; i < l; i++) {
            node =3D data.dataItemJsonNodes[i];
            data.dataItems[node.id] =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(node.content);
        }
        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs(data));
        }
       =20
        Sys._ScriptLoader.readLoadedScripts();
        Sys.Application.beginCreateComponents();
        var scriptLoader =3D Sys._ScriptLoader.getInstance();
        this._queueScripts(scriptLoader, data.scriptBlockNodes, true, =
false);
       =20
        this._processingRequest =3D true;
        scriptLoader.loadScripts(0,
            Function.createDelegate(this, =
Function.createCallback(this._scriptIncludesLoadComplete, data)),
            Function.createDelegate(this, =
Function.createCallback(this._scriptIncludesLoadFailed, data)),
            null);       =20
    }
    function Sys$WebForms$PageRequestManager$_onWindowUnload(evt) {
        this.dispose();
    }
    function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad, =
data) {
        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoaded");
        if (handler) {
            handler(this, this._getPageLoadedEventArgs(initialLoad, =
data));
        }
        if (!initialLoad) {
            Sys.Application.raiseLoad();
        }
    }
    function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt) =
{
        this._pageLoaded(true, null);
    }
    function Sys$WebForms$PageRequestManager$_parseDelta(executor) {
        var reply =3D executor.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex =3D 0;
        var parserErrorDetails =3D null;
        var delta =3D [];
        while (replyIndex < reply.length) {
            delimiterIndex =3D reply.indexOf('|', 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('|', 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('|', 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 reply.substr(replyIndex, len);
            replyIndex +=3D len;
            if (reply.charAt(replyIndex) !=3D=3D '|') {
                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)), =
executor, null);
            return null;
        }
        var updatePanelNodes =3D [];
        var hiddenFieldNodes =3D [];
        var arrayDeclarationNodes =3D [];
        var scriptBlockNodes =3D [];
        var scriptStartupNodes =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, l =3D delta.length; i < l; 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 "scriptStartupBlock":
                    Array.add(scriptStartupNodes, 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":
                    if (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) {
                        var anchor =3D document.createElement("a");
                        anchor.style.display =3D 'none';
                        anchor.attachEvent("onclick", cancelBubble);
                        anchor.href =3D deltaNode.content;
                        document.body.appendChild(anchor);
                        anchor.click();
                        anchor.detachEvent("onclick", cancelBubble);
                        document.body.removeChild(anchor);
                       =20
                        function cancelBubble(e) {
                            e.cancelBubble =3D true;
                        }
                    }
                    else {
                        window.location.href =3D deltaNode.content;
                    }
                    return;
                case "error":
                    =
this._endPostBack(this._createPageRequestManagerServerError(Number.parseI=
nvariant(deltaNode.id), deltaNode.content), executor, null);
                    return null;
                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)), executor, null);
                    return null;
            }=20
        }=20
        return {
            executor: executor,
            updatePanelNodes: updatePanelNodes,
            hiddenFieldNodes: hiddenFieldNodes,
            arrayDeclarationNodes: arrayDeclarationNodes,
            scriptBlockNodes: scriptBlockNodes,
            scriptStartupNodes: scriptStartupNodes,
            expandoNodes: expandoNodes,
            onSubmitNodes: onSubmitNodes,
            dataItemNodes: dataItemNodes,
            dataItemJsonNodes: dataItemJsonNodes,
            scriptDisposeNodes: scriptDisposeNodes,
            asyncPostBackControlIDsNode: asyncPostBackControlIDsNode,
            postBackControlIDsNode: postBackControlIDsNode,
            updatePanelIDsNode: updatePanelIDsNode,
            asyncPostBackTimeoutNode: asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode: childUpdatePanelIDsNode,
            panelsToRefreshNode: panelsToRefreshNode,
            formActionNode: formActionNode };
    }
    function =
Sys$WebForms$PageRequestManager$_processUpdatePanelArrays(updatePanelIDs,=
 asyncPostBackControlIDs, postBackControlIDs) {
        var newUpdatePanelIDs;
        var newUpdatePanelClientIDs;
        var newUpdatePanelHasChildrenAsTriggers;
       =20
        if (updatePanelIDs) {
            var l =3D updatePanelIDs.length;
            newUpdatePanelIDs =3D new Array(l);
            newUpdatePanelClientIDs =3D new Array(l);
            newUpdatePanelHasChildrenAsTriggers =3D new Array(l);
           =20
            for (var i =3D 0; i < l; i++) {
                var realPanelID =3D updatePanelIDs[i].substr(1);
                var childrenAsTriggers =3D (updatePanelIDs[i].charAt(0) =
=3D=3D=3D 't');
                newUpdatePanelHasChildrenAsTriggers[i] =3D =
childrenAsTriggers;
                newUpdatePanelIDs[i] =3D realPanelID;
                newUpdatePanelClientIDs[i] =3D =
this._uniqueIDToClientID(realPanelID);
            }
        }
        else {
            newUpdatePanelIDs =3D [];
            newUpdatePanelClientIDs =3D [];
            newUpdatePanelHasChildrenAsTriggers =3D [];
        }
        var newAsyncPostBackControlIDs =3D [];
        var newAsyncPostBackControlClientIDs =3D [];
        this._convertToClientIDs(asyncPostBackControlIDs, =
newAsyncPostBackControlIDs, newAsyncPostBackControlClientIDs);
        var newPostBackControlIDs =3D [];
        var newPostBackControlClientIDs =3D [];
        this._convertToClientIDs(postBackControlIDs, =
newPostBackControlIDs, newPostBackControlClientIDs);
       =20
        return {
            updatePanelIDs: newUpdatePanelIDs,
            updatePanelClientIDs: newUpdatePanelClientIDs,
            updatePanelHasChildrenAsTriggers: =
newUpdatePanelHasChildrenAsTriggers,
            asyncPostBackControlIDs: newAsyncPostBackControlIDs,
            asyncPostBackControlClientIDs: =
newAsyncPostBackControlClientIDs,
            postBackControlIDs: newPostBackControlIDs,
            postBackControlClientIDs: newPostBackControlClientIDs
        };
    }
    function Sys$WebForms$PageRequestManager$_queueScripts(scriptLoader, =
scriptBlockNodes, queueIncludes, queueBlocks) {
       =20
        for (var i =3D 0, l =3D scriptBlockNodes.length; i < l; i++) {
            var scriptBlockType =3D scriptBlockNodes[i].id;
            switch (scriptBlockType) {
                case "ScriptContentNoTags":
                    if (!queueBlocks) {
                        continue;
                    }
                    =
scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);
                    break;
                case "ScriptContentWithTags":
                    var scriptTagAttributes;
                    eval("scriptTagAttributes =3D " + =
scriptBlockNodes[i].content);
                    if (scriptTagAttributes.src) {
                        if (!queueIncludes || =
Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) {
                            continue;
                        }
                    }
                    else if (!queueBlocks) {
                        continue;
                    }
                    =
scriptLoader.queueCustomScriptTag(scriptTagAttributes);
                    break;
                case "ScriptPath":
                    if (!queueIncludes || =
Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) {
                        continue;
                    }
                    =
scriptLoader.queueScriptReference(scriptBlockNodes[i].content);
                    break;
            }
        }       =20
    }
    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$_scriptIncludesLoadComplete(scriptLoader,=
 data) {
       =20
       =20
        if (data.executor.get_webRequest() !=3D=3D this._request) {
            return;
        }
       =20
        this._commitControls(data.updatePanelData,
            data.asyncPostBackTimeoutNode ? =
data.asyncPostBackTimeoutNode.content : null);
        if (data.formActionNode) {
            this._form.action =3D data.formActionNode.content;
        }
       =20
        var i, l, node;
        for (i =3D 0, l =3D data.updatePanelNodes.length; i < l; i++) {
            node =3D data.updatePanelNodes[i];
            var updatePanelElement =3D document.getElementById(node.id);
            if (!updatePanelElement) {
                =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, node.id)), data.executor, data);
                return;
            }
            this._updatePanel(updatePanelElement, node.content);
        }
        for (i =3D 0, l =3D data.scriptDisposeNodes.length; i < l; i++) =
{
            node =3D data.scriptDisposeNodes[i];
            this._registerDisposeScript(node.id, node.content);
        }
        for (i =3D 0, l =3D this._transientFields.length; i < l; i++) {
            var field =3D =
document.getElementById(this._transientFields[i]);
            if (field) {
                var toRemove =3D field._isContained ? field.parentNode : =
field;
                toRemove.parentNode.removeChild(toRemove);
            }
        }
        for (i =3D 0, l =3D data.hiddenFieldNodes.length; i < l; i++) {
            node =3D data.hiddenFieldNodes[i];
            this._createHiddenField(node.id, node.content);
        }
       =20
        if (data.scriptsFailed) {
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(data.scriptsFailed.src, =
data.scriptsFailed.multipleCallbacks);
        }
       =20
        this._queueScripts(scriptLoader, data.scriptBlockNodes, false, =
true);
        var arrayScript =3D '';
        for (i =3D 0, l =3D data.arrayDeclarationNodes.length; i < l; =
i++) {
            node =3D data.arrayDeclarationNodes[i];
            arrayScript +=3D =
"Sys.WebForms.PageRequestManager._addArrayElement('" + node.id + "', " + =
node.content + ");\r\n";
        }
        var expandoScript =3D '';
        for (i =3D 0, l =3D data.expandoNodes.length; i < l; i++) {
            node =3D data.expandoNodes[i];
            expandoScript +=3D node.id + " =3D " + node.content + =
"\r\n";
        }
        if (arrayScript.length) {
            scriptLoader.queueScriptBlock(arrayScript);
        }
        if (expandoScript.length) {
            scriptLoader.queueScriptBlock(expandoScript);
        }
       =20
        this._queueScripts(scriptLoader, data.scriptStartupNodes, true, =
true);
        var onSubmitStatementScript =3D '';
        for (i =3D 0, l =3D data.onSubmitNodes.length; i < l; i++) {
            if (i =3D=3D=3D 0) {
                onSubmitStatementScript =3D =
'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStateme=
nts, function() {\r\n';
            }
            onSubmitStatementScript +=3D data.onSubmitNodes[i].content + =
"\r\n";
        }
        if (onSubmitStatementScript.length) {
            onSubmitStatementScript +=3D "\r\nreturn true;\r\n});\r\n";
            scriptLoader.queueScriptBlock(onSubmitStatementScript);
        }
        scriptLoader.loadScripts(0,
            Function.createDelegate(this, =
Function.createCallback(this._scriptsLoadComplete, data)), null, null);
    }
    function =
Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed(scriptLoader, =
scriptElement, multipleCallbacks, data) {
        data.scriptsFailed =3D { src: scriptElement.src, =
multipleCallbacks: multipleCallbacks };
        this._scriptIncludesLoadComplete(scriptLoader, data);
    }
    function =
Sys$WebForms$PageRequestManager$_scriptsLoadComplete(scriptLoader, data) =
{
       =20
       =20
        var response =3D data.executor;
        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, data);
        this._endPostBack(null, response, data);
        if (this._controlIDToFocus) {
            var focusTarget;
            var oldContentEditableSetting;
            if (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) {
                var targetControl =3D $get(this._controlIDToFocus);
                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) {
        this._commitControls(
            this._processUpdatePanelArrays(updatePanelIDs, =
asyncPostBackControlIDs, postBackControlIDs),
            asyncPostBackTimeout);
    }
    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, l =3D disposeScripts.length; i < l; =
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,
    _cancelPendingCallbacks: =
Sys$WebForms$PageRequestManager$_cancelPendingCallbacks,
    _commitControls: Sys$WebForms$PageRequestManager$_commitControls,
    _createHiddenField: =
Sys$WebForms$PageRequestManager$_createHiddenField,
    _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,
    _destroyTree: Sys$WebForms$PageRequestManager$_destroyTree,
    dispose: Sys$WebForms$PageRequestManager$dispose,
    _doCallback: Sys$WebForms$PageRequestManager$_doCallback,
    _doPostBack: Sys$WebForms$PageRequestManager$_doPostBack,
    _doPostBackWithOptions: =
Sys$WebForms$PageRequestManager$_doPostBackWithOptions,
    _elementContains: Sys$WebForms$PageRequestManager$_elementContains,
    _endPostBack: Sys$WebForms$PageRequestManager$_endPostBack,
    _findNearestElement: =
Sys$WebForms$PageRequestManager$_findNearestElement,
    _findText: Sys$WebForms$PageRequestManager$_findText,
    _fireDefaultButton: =
Sys$WebForms$PageRequestManager$_fireDefaultButton,
    _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,
    _onFormElementActive: =
Sys$WebForms$PageRequestManager$_onFormElementActive,
    _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,
    _parseDelta: Sys$WebForms$PageRequestManager$_parseDelta,
    _processUpdatePanelArrays: =
Sys$WebForms$PageRequestManager$_processUpdatePanelArrays,
    _queueScripts: Sys$WebForms$PageRequestManager$_queueScripts,
    _registerDisposeScript: =
Sys$WebForms$PageRequestManager$_registerDisposeScript,
    _scriptIncludesLoadComplete: =
Sys$WebForms$PageRequestManager$_scriptIncludesLoadComplete,
    _scriptIncludesLoadFailed: =
Sys$WebForms$PageRequestManager$_scriptIncludesLoadFailed,
    _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() {
    /// <summary =
locid=3D"M:J#Sys.WebForms.PageRequestManager.getInstance" />
    /// <returns type=3D"Sys.WebForms.PageRequestManager"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var prm =3D Sys.WebForms.PageRequestManager._instance;
    if (!prm) {
        prm =3D Sys.WebForms.PageRequestManager._instance =3D new =
Sys.WebForms.PageRequestManager();
    }
    return prm;
}
Sys.WebForms.PageRequestManager._addArrayElement =3D function =
Sys$WebForms$PageRequestManager$_addArrayElement(arrayName) {
    if (!window[arrayName]) {
        window[arrayName] =3D new Array();
    }
    for (var i =3D 1, l =3D arguments.length; i < l; i++) {
        Array.add(window[arrayName], arguments[i]);
    }
}
Sys.WebForms.PageRequestManager._initialize =3D function =
Sys$WebForms$PageRequestManager$_initialize(scriptManagerID, =
formElement) {
    =
Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(scriptM=
anagerID, formElement);
}
Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestMa=
nager');
=20
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" =
locid=3D"P:J#Sys.UI._UpdateProgress.displayAfter"></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" =
locid=3D"P:J#Sys.UI._UpdateProgress.dynamicLayout"></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" =
locid=3D"P:J#Sys.UI._UpdateProgress.associatedUpdatePanelId"></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$_clearTimeout() {
        if (this._timerCookie) {
            window.clearTimeout(this._timerCookie);
            this._timerCookie =3D null;
        }
    }
    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';
        this._clearTimeout();
    }
    function Sys$UI$_UpdateProgress$dispose() {
        if (this._beginRequestHandlerDelegate !=3D=3D null) {
            =
this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDel=
egate);
            =
this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegat=
e);
            this._beginRequestHandlerDelegate =3D null;
            this._endRequestHandlerDelegate =3D null;
        }
        this._clearTimeout();
        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,
    _clearTimeout: Sys$UI$_UpdateProgress$_clearTimeout,
    _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_01CBC777.722B7F40--
