From: <Saved by Windows Internet Explorer 7>
Subject: Scorecard - Maesdu Golf Club
Date: Mon, 17 Nov 2008 21:30:20 -0000
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0171_01C948FB.B1380700"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3350

This is a multi-part message in MIME format.

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Scorecard/Scorecard.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=3Dctl00_Head1><TITLE>Scorecard - Maesdu Golf Club</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META id=3Dctl00_description content=3DScorecard name=3Ddescription>
<META id=3Dctl00_keywords content=3DScorecard name=3Dkeywords>
<SCRIPT language=3Djavascript=20
src=3D"http://www.maesdugolfclub.co.uk/Scripts/stats.js"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT language=3Djavascript=20
src=3D"http://www.maesdugolfclub.co.uk/Scripts/Panel.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK =
href=3D"http://www.maesdugolfclub.co.uk/App_Themes/04/1_master.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.maesdugolfclub.co.uk/App_Themes/04/2_UserControls.css"=
=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.maesdugolfclub.co.uk/App_Themes/04/3_cms.css" =
type=3Dtext/css=20
rel=3Dstylesheet><LINK=20
href=3D"http://www.maesdugolfclub.co.uk/App_Themes/04/4_components.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.maesdugolfclub.co.uk/App_Themes/04/5_banner.css" =
type=3Dtext/css=20
rel=3Dstylesheet>
<META content=3D"MSHTML 6.00.6000.16735" name=3DGENERATOR></HEAD>
<BODY id=3Dctl00_MasterBody>
<FORM id=3DaspnetForm name=3DaspnetForm=20
action=3D../../../../Default.aspx?n1=3D488&amp;n2=3D580 method=3Dpost>
<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
type=3Dhidden=20
value=3D/wEPDwULLTE1MTAwNjE2NDYPZBYCZg9kFgQCAQ9kFgQCAg8WAh4HY29udGVudAUJU=
2NvcmVjYXJkZAIDDxYCHwAFCVNjb3JlY2FyZGQCAw9kFgICAQ9kFgoCAw9kFgoCAQ8PFgIeB1=
Zpc2libGVoZBYCAgEPDxYCHgRUZXh0BQdDeW1yYWVnZGQCAw8PFgIeB1Rvb2xUaXAFEE1hZXN=
kdSBHb2xmIENsdWJkZAIFD2QWAgIBDxYCHgNmb3IFKWN0bDAwX0N0cmxCYW5uZXJfQ3RybFNl=
YXJjaF9zZWFyY2hUZXh0Qm94ZAIHD2QWAgIBDw8WAh8BaGQWAgILDxYCHwIFZTxpbWcgd2lkd=
Gg9Jzc1NicgaGVpZ2h0PScyMDYnIHNyYz0nL2ltYWdlcy92aXN0YTEuanBnJyBib3JkZXI9Jz=
AnIGFsdD0nd3d3Lm1hZXNkdWdvbGZjbHViLmNvLnVrJyAvPg0KZAIJD2QWAmYPFgIeC18hSXR=
lbUNvdW50AggWEAIBD2QWBgIBDw8WAh8CBQM0ODdkZAIDDw8WAh8CBR4vZW4vY29udGVudC9j=
bXMvaG9tZS9ob21lLmFzcHhkZAIFDxYCHgVjbGFzcwUETGluaxYCZg8VAx4vZW4vY29udGVud=
C9jbXMvaG9tZS9ob21lLmFzcHgESG9tZQRIb21lZAIDD2QWBgIBDw8WAh8CBQM0ODhkZAIDDw=
8WAh8CBSwvZW4vY29udGVudC9jbXMvR29sZl9Db3Vyc2UvR29sZl9Db3Vyc2UuYXNweGRkAgU=
PFgIfBgUMTGlua1NlbGVjdGVkFgJmDxUDLC9lbi9jb250ZW50L2Ntcy9Hb2xmX0NvdXJzZS9H=
b2xmX0NvdXJzZS5hc3B4C0dvbGYgQ291cnNlC0dvbGYgQ291cnNlZAIFD2QWBgIBDw8WAh8CB=
QM0ODlkZAIDDw8WAh8CBSgvZW4vY29udGVudC9jbXMvQ2x1YmhvdXNlL0NsdWJob3VzZS5hc3=
B4ZGQCBQ8WAh8GBQRMaW5rFgJmDxUDKC9lbi9jb250ZW50L2Ntcy9DbHViaG91c2UvQ2x1Ymh=
vdXNlLmFzcHgJQ2x1YmhvdXNlCUNsdWJob3VzZWQCBw9kFgYCAQ8PFgIfAgUDNDkxZGQCAw8P=
FgIfAgUmL2VuL2NvbnRlbnQvY21zL1Zpc2l0b3JzL1Zpc2l0b3JzLmFzcHhkZAIFDxYCHwYFB=
ExpbmsWAmYPFQMmL2VuL2NvbnRlbnQvY21zL1Zpc2l0b3JzL1Zpc2l0b3JzLmFzcHgIVmlzaX=
RvcnMIVmlzaXRvcnNkAgkPZBYGAgEPDxYCHwIFAzQ5M2RkAgMPDxYCHwIFMC9lbi9jb250ZW5=
0L2Ntcy9PcGVuX01lZXRpbmdzL09wZW5fTWVldGluZ3MuYXNweGRkAgUPFgIfBgUETGluaxYC=
Zg8VAzAvZW4vY29udGVudC9jbXMvT3Blbl9NZWV0aW5ncy9PcGVuX01lZXRpbmdzLmFzcHgNT=
3BlbiBNZWV0aW5ncw1PcGVuIE1lZXRpbmdzZAILD2QWBgIBDw8WAh8CBQM0OTJkZAIDDw8WAh=
8CBTIvZW4vY29udGVudC9jbXMvQm9va19UZWVfVGltZXMvQm9va19UZWVfVGltZXMuYXNweGR=
kAgUPFgIfBgUETGluaxYCZg8VAzIvZW4vY29udGVudC9jbXMvQm9va19UZWVfVGltZXMvQm9v=
a19UZWVfVGltZXMuYXNweA5Cb29rIFRlZSBUaW1lcw5Cb29rIFRlZSBUaW1lc2QCDQ9kFgYCA=
Q8PFgIfAgUDNTkwZGQCAw8PFgIfAgUuL2VuL2NvbnRlbnQvY21zL01lbWJlcnNfYXJlYS9NZW=
1iZXJzX2FyZWEuYXNweGRkAgUPFgIfBgUETGluaxYCZg8VAy4vZW4vY29udGVudC9jbXMvTWV=
tYmVyc19hcmVhL01lbWJlcnNfYXJlYS5hc3B4DE1lbWJlcnMgYXJlYQxNZW1iZXJzIGFyZWFk=
Ag8PZBYGAgEPDxYCHwIFAzQ5MGRkAgMPDxYCHwIFKi9lbi9jb250ZW50L2Ntcy9NZW1iZXJza=
GlwL01lbWJlcnNoaXAuYXNweGRkAgUPFgIfBgUETGluaxYCZg8VAyovZW4vY29udGVudC9jbX=
MvTWVtYmVyc2hpcC9NZW1iZXJzaGlwLmFzcHgKTWVtYmVyc2hpcApNZW1iZXJzaGlwZAIFD2Q=
WAgIBDxYCHwIF1QEgPiA8YSBocmVmPSIvZW4vY29udGVudC9jbXMvZ29sZl9jb3Vyc2UvZ29s=
Zl9jb3Vyc2UuYXNweCI+PHNwYW4gY2xhc3M9ImJyZWFkY3J1bWIiPkdvbGYgQ291cnNlPC9zc=
GFuPjwvYT4gPiA8YSBocmVmPSIvZW4vY29udGVudC9jbXMvZ29sZl9jb3Vyc2Uvc2NvcmVjYX=
JkL3Njb3JlY2FyZC5hc3B4Ij48c3BhbiBjbGFzcz0iY3VycmVudCI+U2NvcmVjYXJkPC9zcGF=
uPjwvYT5kAgcPZBYGAgMPFgIeBXN0eWxlBQ13aWR0aDogMjQuNzUlFgICAQ9kFgICAg8WAh8F=
AhQWKAIBD2QWAgIBDxYCHwYFCFNlbGVjdGVkFgYCAQ8PFgIfAgUDNTgwZGQCAg8VAzQvZW4vY=
29udGVudC9jbXMvR29sZl9Db3Vyc2UvU2NvcmVjYXJkL1Njb3JlY2FyZC5hc3B4CVNjb3JlY2=
FyZAlTY29yZWNhcmRkAgMPFgIfBQL/////D2QCAg9kFgICAQ9kFgYCAQ8PFgIfAgUDNTIxZGQ=
CAg8VAzAvZW4vY29udGVudC9jbXMvR29sZl9Db3Vyc2UvSG9sZV8xXy9Ib2xlXzFfLmFzcHgH=
SG9sZSAxIAdIb2xlIDEgZAIDDxYCHwUC/////w9kAgMPZBYCAgEPZBYGAgEPDxYCHwIFAzU2O=
GRkAgIPFQMuL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfMi9Ib2xlXzIuYXNweA=
ZIb2xlIDIGSG9sZSAyZAIDDxYCHwUC/////w9kAgQPZBYCAgEPZBYGAgEPDxYCHwIFAzUyM2R=
kAgIPFQMuL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfMy9Ib2xlXzMuYXNweAZI=
b2xlIDMGSG9sZSAzZAIDDxYCHwUC/////w9kAgUPZBYCAgEPZBYGAgEPDxYCHwIFAzU3OWRkA=
gIPFQMuL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfNC9Ib2xlXzQuYXNweAZIb2=
xlIDQGSG9sZSA0ZAIDDxYCHwUC/////w9kAgYPZBYCAgEPZBYGAgEPDxYCHwIFAzU3MGRkAgI=
PFQMuL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfNS9Ib2xlXzUuYXNweAZIb2xl=
IDUGSG9sZSA1ZAIDDxYCHwUC/////w9kAgcPZBYCAgEPZBYGAgEPDxYCHwIFAzUyNmRkAgIPF=
QMuL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfNi9Ib2xlXzYuYXNweAZIb2xlID=
YGSG9sZSA2ZAIDDxYCHwUC/////w9kAggPZBYCAgEPZBYGAgEPDxYCHwIFAzU3MWRkAgIPFQM=
uL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfNy9Ib2xlXzcuYXNweAZIb2xlIDcG=
SG9sZSA3ZAIDDxYCHwUC/////w9kAgkPZBYCAgEPZBYGAgEPDxYCHwIFAzUyOGRkAgIPFQMuL=
2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfOC9Ib2xlXzguYXNweAZIb2xlIDgGSG=
9sZSA4ZAIDDxYCHwUC/////w9kAgoPZBYCAgEPZBYGAgEPDxYCHwIFAzU3MmRkAgIPFQMuL2V=
uL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfOS9Ib2xlXzkuYXNweAZIb2xlIDkGSG9s=
ZSA5ZAIDDxYCHwUC/////w9kAgsPZBYCAgEPZBYGAgEPDxYCHwIFAzUzMGRkAgIPFQMwL2VuL=
2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfMTAvSG9sZV8xMC5hc3B4B0hvbGUgMTAHSG=
9sZSAxMGQCAw8WAh8FAv////8PZAIMD2QWAgIBD2QWBgIBDw8WAh8CBQM1NzNkZAICDxUDMC9=
lbi9jb250ZW50L2Ntcy9Hb2xmX0NvdXJzZS9Ib2xlXzExL0hvbGVfMTEuYXNweAdIb2xlIDEx=
B0hvbGUgMTFkAgMPFgIfBQL/////D2QCDQ9kFgICAQ9kFgYCAQ8PFgIfAgUDNTMyZGQCAg8VA=
zAvZW4vY29udGVudC9jbXMvR29sZl9Db3Vyc2UvSG9sZV8xMi9Ib2xlXzEyLmFzcHgHSG9sZS=
AxMgdIb2xlIDEyZAIDDxYCHwUC/////w9kAg4PZBYCAgEPZBYGAgEPDxYCHwIFAzU3NGRkAgI=
PFQMwL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfMTMvSG9sZV8xMy5hc3B4B0hv=
bGUgMTMHSG9sZSAxM2QCAw8WAh8FAv////8PZAIPD2QWAgIBD2QWBgIBDw8WAh8CBQM1MzRkZ=
AICDxUDMC9lbi9jb250ZW50L2Ntcy9Hb2xmX0NvdXJzZS9Ib2xlXzE0L0hvbGVfMTQuYXNweA=
dIb2xlIDE0B0hvbGUgMTRkAgMPFgIfBQL/////D2QCEA9kFgICAQ9kFgYCAQ8PFgIfAgUDNTM=
1ZGQCAg8VAzAvZW4vY29udGVudC9jbXMvR29sZl9Db3Vyc2UvSG9sZV8xNS9Ib2xlXzE1LmFz=
cHgHSG9sZSAxNQdIb2xlIDE1ZAIDDxYCHwUC/////w9kAhEPZBYCAgEPZBYGAgEPDxYCHwIFA=
zUzNmRkAgIPFQMwL2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0hvbGVfMTYvSG9sZV8xNi=
5hc3B4B0hvbGUgMTYHSG9sZSAxNmQCAw8WAh8FAv////8PZAISD2QWAgIBD2QWBgIBDw8WAh8=
CBQM1NzVkZAICDxUDMC9lbi9jb250ZW50L2Ntcy9Hb2xmX0NvdXJzZS9Ib2xlXzE3L0hvbGVf=
MTcuYXNweAdIb2xlIDE3B0hvbGUgMTdkAgMPFgIfBQL/////D2QCEw9kFgICAQ9kFgYCAQ8PF=
gIfAgUDNTM4ZGQCAg8VAzAvZW4vY29udGVudC9jbXMvR29sZl9Db3Vyc2UvSG9sZV8xOC9Ib2=
xlXzE4LmFzcHgHSG9sZSAxOAdIb2xlIDE4ZAIDDxYCHwUC/////w9kAhQPZBYCAgEPZBYGAgE=
PDxYCHwIFAzU3OGRkAgIPFQM4L2VuL2NvbnRlbnQvY21zL0dvbGZfQ291cnNlL0NvdXJzZV9Q=
bGFuL0NvdXJzZV9QbGFuLmFzcHgPQ291cnNlIE92ZXJ2aWV3D0NvdXJzZSBPdmVydmlld2QCA=
w8WAh8FAv////8PZAIFDxYCHwcFG3dpZHRoOjU0JTsgbWFyZ2luOiAwcHggOHB4OxYCAgEPZB=
YCAgEPZBYCZg8WAh8CBc8DPGRpdiBjbGFzcz0nY21zLWhlYWRpbmcnPg0KICAgPGgzPlNjb3J=
lY2FyZDwvaDM+DQo8L2Rpdj48ZGl2IGNsYXNzPSdjbXMtaW1hZ2UnPg0KICA8ZGl2IHN0eWxl=
PSd0ZXh0LWFsaWduOmxlZnQ7Jz4NCiAgICAgIDxkaXYgY2xhc3M9J2ltYWdlLWJveCcgc3R5b=
GU9J3dpZHRoOjM5N3B4Oyc+DQogICAgICAgICAgPGRpdiBzdHlsZT0ndGV4dC1hbGlnbjpsZW=
Z0Oyc+DQogICAgICAgICAgICAgIDxpbWcgbmFtZT0naW5mb19pbWcnIHNyYz0nL01lZGlhL1Z=
pZXdJbWFnZS5hc3B4P0ZpbGVQYXRoPU1hZXNkdVwxXzIwMDgwNjE3MDkwODQ1X2VfQEBfU2Nv=
cmVDYXJkTmV3MDIuanBnJkZpbGVUeXBlPTUnIGFsdD0nU2NvcmVjYXJkJyAvPg0KICAgICAgI=
CAgIDwvZGl2Pg0KICAgICAgPGRpdiBjbGFzcz0naW1hZ2UtYm94LXRleHQnPlNjb3JlY2FyZD=
wvZGl2Pg0KICAgICAgPC9kaXY+DQogIDwvZGl2Pg0KPC9kaXY+DQoNCmQCBw8WAh8HBQp3aWR=
0aDogMjAlFgICBQ9kFgICAw9kFgICBQ8QZGQWAGQCCQ9kFgQCAw8PFgQeC05hdmlnYXRlVXJs=
BRRodHRwOi8vd3d3LnM4MDgwLmNvbR4GVGFyZ2V0BQZfYmxhbmtkZAIFDw8WAh8CBRwmY29we=
TsgTWFlc2R1IEdvbGYgQ2x1YiAyMDA4ZGQCDQ9kFgJmD2QWAgIFDxYCHwIFZTxzY3JpcHQgdH=
lwZT0ndGV4dC9qYXZhc2NyaXB0JyBsYW5ndWFnZT0namF2YXNjcmlwdCc+R2V0VXNlclJlc29=
sdXRpb24oJ2N0bDAwX2hmU2NyZWVuUmV6Jyk7PC9zY3JpcHQ+ZBgBBR5fX0NvbnRyb2xzUmVx=
dWlyZVBvc3RCYWNrS2V5X18WAgUlY3RsMDAkQ3RybEJhbm5lciRDdHJsU2VhcmNoJEJ0bnNlY=
XJjaAUsY3RsMDAkQ3RybEJhbm5lciRDdHJsU2VhcmNoJGFsbFdvcmRzQ2hlY2tCb3j0wXHOb5=
je1ttFBg6xcUKO/EdrCg=3D=3D=20
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=20
src=3D"http://www.maesdugolfclub.co.uk/WebResource.axd?d=3DoY1rU9QItRr_sZ=
fjkptmJA2&amp;t=3D633441225737656250"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.maesdugolfclub.co.uk/ScriptResource.axd?d=3D6VwuPCwYSKI=
a6nimHdWfAkAwhElmCYbDmiwSFG1H8etH80u0YF-EMi-YSOQlYQdMXJIgXgyqAtutEW4Mbl8w=
QuPhtO_F8r-fIObRGiMrCBM1&amp;t=3D633449729323280000"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.maesdugolfclub.co.uk/ScriptResource.axd?d=3D6VwuPCwYSKI=
a6nimHdWfAkAwhElmCYbDmiwSFG1H8etH80u0YF-EMi-YSOQlYQdMXJIgXgyqAtutEW4Mbl8w=
QmATm90WG-5hVcbqIflLgJ5boKN9qOQUbb9IQ_iW4d_V0&amp;t=3D633449729323280000"=
=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.maesdugolfclub.co.uk/ScriptResource.axd?d=3D6VwuPCwYSKI=
a6nimHdWfAkAwhElmCYbDmiwSFG1H8etH80u0YF-EMi-YSOQlYQdMXJIgXgyqAtutEW4Mbl8w=
QgMk8GkoROaoFF2ryFQSuCAlBYILswnQOVmwngSb-J_b0&amp;t=3D633449729323280000"=
=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager1', =
document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls(['tctl00$Up=
datePanel1'], [], [], 90);
//]]>
</SCRIPT>

<H1>Maesdu Golf Club</H1>
<DIV id=3DOuter>
<DIV class=3DOuterone>
<DIV class=3Dpagebanner>
<DIV class=3Dright><!----><SPAN class=3DSeparator>| </SPAN><A=20
href=3D"http://www.maesdugolfclub.co.uk/EN/News/Index.aspx">Latest =
News</A> <SPAN=20
class=3DSeparator>| </SPAN><SPAN class=3DSeparator>| </SPAN><A=20
href=3D"http://www.maesdugolfclub.co.uk/ContactUs/Default.aspx">Contact =
Us</A>=20
<SPAN class=3DSeparator>| </SPAN><A=20
href=3D"http://www.maesdugolfclub.co.uk/EN/Broadcaster/Admin.aspx">Regist=
er for=20
Updates</A> <SPAN class=3DSeparator>| </SPAN><!--<a =
href=3D"/EN/Member/Admin.aspx">Member Signup</a>--></DIV>
<DIV class=3Dleft></DIV><A class=3Dlogo id=3Dctl00_CtrlBanner_ibLogo=20
title=3D"Maesdu Golf Club"=20
href=3D"javascript:__doPostBack('ctl00$CtrlBanner$ibLogo','')"></A>
<DIV class=3Dcontent>
<DIV class=3Dupper>
<DIV class=3DSearch>
<DIV class=3DRight></DIV>
<DIV class=3DBody>
<DIV class=3DForm><LABEL id=3Dctl00_CtrlBanner_CtrlSearch_HTMLlblSearch=20
for=3Dctl00_CtrlBanner_CtrlSearch_searchTextBox>SEARCH:</LABEL> <INPUT =
class=3DText=20
onkeypress=3D"if (this.value =3D=3D'search this site'){ this.value =3D =
'';};"=20
id=3Dctl00_CtrlBanner_CtrlSearch_searchTextBox=20
onblur=3D"if (this.value =3D=3D''){ this.value =3D 'search this =
site';};"=20
onclick=3D"if (this.value =3D=3D'search this site'){ this.value =3D =
'';};" maxLength=3D100=20
size=3D14 value=3D"search this site"=20
name=3Dctl00$CtrlBanner$CtrlSearch$searchTextBox><INPUT class=3DButton=20
id=3Dctl00_CtrlBanner_CtrlSearch_Btnsearch=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
type=3Dimage alt=3DGo=20
src=3D"http://www.maesdugolfclub.co.uk/App_Themes/04/images/template/webp=
arts/search_button.gif"=20
name=3Dctl00$CtrlBanner$CtrlSearch$Btnsearch> <SPAN class=3DOption><SPAN =

class=3DOption><INPUT id=3Dctl00_CtrlBanner_CtrlSearch_allWordsCheckBox=20
type=3Dcheckbox CHECKED =
name=3Dctl00$CtrlBanner$CtrlSearch$allWordsCheckBox><LABEL=20
for=3Dctl00_CtrlBanner_CtrlSearch_allWordsCheckBox>Match all =
words</LABEL></SPAN>=20
</SPAN></DIV></DIV>
<DIV class=3Dleft></DIV></DIV></DIV>
<DIV class=3Dlower></DIV></DIV>
<DIV class=3Dflashholder id=3Dctl00_CtrlBanner_divflash></DIV>
<DIV class=3Dapplications>
<DIV class=3DTopNav>
<DIV class=3DNav-x>
<H2>Main page navigation </H2>
<DIV class=3DLinks><SPAN class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl01_spanTab><SPAN =
class=3DLeft><A=20
title=3DHome=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/home/home.aspx">Ho=
me</A></SPAN>=20
</SPAN><SPAN class=3DSeparator>| </SPAN><SPAN class=3DLinkSelected=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl03_spanTab><SPAN =
class=3DLeft><A=20
title=3D"Golf Course"=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Golf_C=
ourse.aspx">Golf=20
Course</A></SPAN> </SPAN><SPAN class=3DSeparator>| </SPAN><SPAN =
class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl05_spanTab><SPAN =
class=3DLeft><A=20
title=3DClubhouse=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Clubhouse/Clubhous=
e.aspx">Clubhouse</A></SPAN>=20
</SPAN><SPAN class=3DSeparator>| </SPAN><SPAN class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl07_spanTab><SPAN =
class=3DLeft><A=20
title=3DVisitors=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Visitors/Visitors.=
aspx">Visitors</A></SPAN>=20
</SPAN><SPAN class=3DSeparator>| </SPAN><SPAN class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl09_spanTab><SPAN =
class=3DLeft><A=20
title=3D"Open Meetings"=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Open_Meetings/Open=
_Meetings.aspx">Open=20
Meetings</A></SPAN> </SPAN><SPAN class=3DSeparator>| </SPAN><SPAN =
class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl11_spanTab><SPAN =
class=3DLeft><A=20
title=3D"Book Tee Times"=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Book_Tee_Times/Boo=
k_Tee_Times.aspx">Book=20
Tee Times</A></SPAN> </SPAN><SPAN class=3DSeparator>| </SPAN><SPAN =
class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl13_spanTab><SPAN =
class=3DLeft><A=20
title=3D"Members area"=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Members_area/Membe=
rs_area.aspx">Members=20
area</A></SPAN> </SPAN><SPAN class=3DSeparator>| </SPAN><SPAN =
class=3DLink=20
id=3Dctl00_CtrlBanner_CtrlNavigation_rptLevel1_ctl15_spanTab><SPAN =
class=3DLeft><A=20
title=3DMembership=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Membership/Members=
hip.aspx">Membership</A></SPAN>=20
</SPAN></DIV></DIV><BR style=3D"DISPLAY: none"><BR style=3D"DISPLAY: =
none"><!-- This user control may need to be changed to Navx_1-2 =
--></DIV></DIV><INPUT=20
id=3Dctl00_CtrlBanner_HfIsHome type=3Dhidden value=3D0 =
name=3Dctl00$CtrlBanner$HfIsHome>=20
</DIV><!-- logo, banner ads,utility links incorporated in this control =
</!-->
<DIV class=3Dbreadarea>
<DIV class=3Dbreadcrumbs><STRONG>You are here: </STRONG>&gt; <A=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/golf_course/golf_c=
ourse.aspx"><SPAN=20
class=3Dbreadcrumb>Golf Course</SPAN></A> &gt; <A=20
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/golf_course/scorec=
ard/scorecard.aspx"><SPAN=20
class=3Dcurrent>Scorecard</SPAN></A></DIV></DIV><!-- breadcrumbs in here =
</!-->
<DIV class=3DPageBody id=3Dctl00_Body><!--=20
               =20
                 !-->
<DIV class=3DLeftPane id=3Dctl00_LeftPane style=3D"WIDTH: 24.75%"><INPUT =

id=3Dctl00_Navigation2_hfIsHomePage type=3Dhidden=20
name=3Dctl00$Navigation2$hfIsHomePage>=20
<DIV class=3DNav-y>
<DIV class=3DHeader>
<DIV class=3DLeft><SPAN class=3DTitle>Header</SPAN> </DIV>
<DIV class=3DRight></DIV></DIV>
<DIV class=3DBody>
<DIV class=3DLeft>
<DIV class=3DRight>
<DIV class=3DContent>
<UL>
  <LI class=3DSelected =
id=3Dctl00_Navigation2_rptLevel2_ctl01_LiParent><A=20
  title=3DScorecard=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Scorec=
ard/Scorecard.aspx">Scorecard=20
  </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl02_LiParent><A title=3D"Hole 1 =
"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
_/Hole_1_.aspx">Hole=20
  1 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl03_LiParent><A title=3D"Hole =
2"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_2=
/Hole_2.aspx">Hole=20
  2 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl04_LiParent><A title=3D"Hole =
3"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_3=
/Hole_3.aspx">Hole=20
  3 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl05_LiParent><A title=3D"Hole =
4"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_4=
/Hole_4.aspx">Hole=20
  4 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl06_LiParent><A title=3D"Hole =
5"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_5=
/Hole_5.aspx">Hole=20
  5 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl07_LiParent><A title=3D"Hole =
6"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_6=
/Hole_6.aspx">Hole=20
  6 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl08_LiParent><A title=3D"Hole =
7"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_7=
/Hole_7.aspx">Hole=20
  7 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl09_LiParent><A title=3D"Hole =
8"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_8=
/Hole_8.aspx">Hole=20
  8 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl10_LiParent><A title=3D"Hole =
9"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_9=
/Hole_9.aspx">Hole=20
  9 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl11_LiParent><A title=3D"Hole =
10"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
0/Hole_10.aspx">Hole=20
  10 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl12_LiParent><A title=3D"Hole =
11"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
1/Hole_11.aspx">Hole=20
  11 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl13_LiParent><A title=3D"Hole =
12"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
2/Hole_12.aspx">Hole=20
  12 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl14_LiParent><A title=3D"Hole =
13"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
3/Hole_13.aspx">Hole=20
  13 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl15_LiParent><A title=3D"Hole =
14"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
4/Hole_14.aspx">Hole=20
  14 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl16_LiParent><A title=3D"Hole =
15"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
5/Hole_15.aspx">Hole=20
  15 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl17_LiParent><A title=3D"Hole =
16"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
6/Hole_16.aspx">Hole=20
  16 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl18_LiParent><A title=3D"Hole =
17"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
7/Hole_17.aspx">Hole=20
  17 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl19_LiParent><A title=3D"Hole =
18"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Hole_1=
8/Hole_18.aspx">Hole=20
  18 </A>
  <LI id=3Dctl00_Navigation2_rptLevel2_ctl20_LiParent><A title=3D"Course =
Overview"=20
  =
href=3D"http://www.maesdugolfclub.co.uk/en/content/cms/Golf_Course/Course=
_Plan/Course_Plan.aspx">Course=20
  Overview </A></LI></UL></DIV></DIV></DIV></DIV>
<DIV class=3DFooter>
<DIV class=3DLeft></DIV>
<DIV class=3DRight></DIV></DIV></DIV></DIV>
<DIV class=3DContentPane id=3Dctl00_ContentPane style=3D"MARGIN: 0px =
8px; WIDTH: 54%"><!-- main content area !-->
<DIV>
<DIV class=3Dcms-heading>
<H3>Scorecard</H3></DIV>
<DIV class=3Dcms-image>
<DIV style=3D"TEXT-ALIGN: left">
<DIV class=3Dimage-box style=3D"WIDTH: 397px">
<DIV style=3D"TEXT-ALIGN: left"><IMG alt=3DScorecard=20
src=3D"http://www.maesdugolfclub.co.uk/Media/ViewImage.aspx?FilePath=3DMa=
esdu\1_20080617090845_e_@@_ScoreCardNew02.jpg&amp;FileType=3D5"=20
name=3Dinfo_img> </DIV>
<DIV =
class=3Dimage-box-text>Scorecard</DIV></DIV></DIV></DIV></DIV></DIV>
<DIV class=3DRightPane id=3Dctl00_RightPane style=3D"WIDTH: 20%"><!--
                   =20
                   =20

        <div class=3D"Box-FocusOn">
            <div class=3D"Banner">
                <div class=3D"Left">
                    <span id=3D"ctl00_FocusOn_lbltitle" =
class=3D"Title"></span>
                </div>
                <div class=3D"Right">
                </div>
            </div>
            <div class=3D"Body">
                <div class=3D"Left">
                    <div class=3D"Right">
                        <div class=3D"Content">
                            <a id=3D"ctl00_FocusOn_hypLink"><img =
id=3D"ctl00_FocusOn_img" src=3D"" =
style=3D"width:128px;border-width:0px;" /></a>
                                                        <div =
class=3D"Text">
                               =20
                            </div>

                            <span class=3D"expandx"></span>
                        </div>
                    </div>
                </div>
            </div>
            <div class=3D"Footer">
                <div class=3D"Left">
                    <a id=3D"ctl00_FocusOn_hypMore">View</a>
                </div>
                <div class=3D"Right">
                </div>
            </div>
        </div>


                   =20
                    --><SPAN class=3Dexpandx></SPAN></DIV></DIV>
<DIV class=3Dpagefooter>
<UL>
  <LI><A id=3Dctl00_ctrlFooter_HypSiteMap title=3D"Site Map"=20
  href=3D"http://www.maesdugolfclub.co.uk/en/Sitemap.aspx">Site Map</A>=20
</LI></UL><SPAN class=3Dlefttext>design &amp; build <A=20
id=3Dctl00_ctrlFooter_Hyps8080=20
title=3D"S8080: Creative and Technical Web Solutions,Illustrations and =
Design for Print"=20
href=3D"http://www.s8080.com/" target=3D_blank>S8080 Limited</A></SPAN> =
<SPAN=20
class=3Drighttext><SPAN id=3Dctl00_ctrlFooter_LblCopyright>=C2=A9 Maesdu =
Golf Club=20
2008</SPAN></SPAN> <!-- validators, T&,C copyright, etc in here. !--><A=20
id=3Dctl00_LnkFeedback_activator title=3D"No Link" style=3D"DISPLAY: =
none"=20
href=3D'javascript:WebForm_DoPostBackWithOptions(new =
WebForm_PostBackOptions("ctl00$LnkFeedback_activator", "", false, "", =
"../../../../default.aspx", false, true))'>Link=20
to home page</A> </DIV></DIV></DIV>
<DIV id=3DfooterBannerImage><A title=3D"Design and Build by S8080"=20
href=3D"http://www.s8080.com/" target=3D_blank><SPAN class=3Dhide>S8080 =
Ltd</SPAN></A>=20
</DIV>
<DIV></DIV>
<DIV id=3Dctl00_UpdatePanel1>
<SCRIPT language=3Djavascript type=3Dtext/javascript>

                function GetUserResolution(el_stats){
               =20
                var ele =3D document.getElementById(el_stats);
                ele.value =3D window.screen.availHeight + ',' + =
window.screen.availWidth;// =3D window.screen.availHeight + ',' + =
window.screen.availWidth;
                }
                </SCRIPT>
<INPUT id=3Dctl00_hfScreenRez type=3Dhidden name=3Dctl00$hfScreenRez> =
<IMG=20
id=3Dctl00_imglistener alt=3D" "=20
src=3D"http://www.maesdugolfclub.co.uk/images/spacer.gif">
<SCRIPT language=3Djavascript =
type=3Dtext/javascript>GetUserResolution('ctl00_hfScreenRez');</SCRIPT>
 <SPAN id=3Dctl00_Timer1 style=3D"DISPLAY: none; VISIBILITY: =
hidden"></SPAN></DIV>
<DIV><INPUT id=3D__PREVIOUSPAGE type=3Dhidden=20
value=3DCsxiKo5ytL-q7iroXQAwmZTF3XmGB7FZhaKxcl-7YGM1 =
name=3D__PREVIOUSPAGE> <INPUT=20
id=3D__EVENTVALIDATION type=3Dhidden=20
value=3D/wEWCQLmsYEHAom/gqwKAsCt1bUPAvDVkbMGAv79qKEOAputwqAGApvmpOoFApePr=
4ALAvD6jZ4PpipyjjwWvHOZYCfiB62SIiqm5e4=3D=20
name=3D__EVENTVALIDATION> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.Application.initialize();
Sys.Application.add_init(function() {
    $create(Sys.UI._Timer, =
{"enabled":false,"interval":1000,"uniqueID":"ctl00$Timer1"}, null, null, =
$get("ctl00_Timer1"));
});
//]]>
</SCRIPT>
</FORM>
<SCRIPT type=3Dtext/javascript>
    var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
    </SCRIPT>

<SCRIPT type=3Dtext/javascript>
    var pageTracker =3D _gat._getTracker("UA-4062104-1");
    pageTracker._initData();
    pageTracker._trackPageview();
    </SCRIPT>
</BODY></HTML>

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.maesdugolfclub.co.uk/Media/ViewImage.aspx?FilePath=Maesdu\1_20080617090845_e_@@_ScoreCardNew02.jpg&FileType=5

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAInAYsDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1zXvF
uieGJrdNXvWtpLhWMSLBJJuC43fcU9MjrWV/ws/wgQcanMcdv7PuPf8A6Z+x/I0atx8TfDmOM2N7
wfrFW5e6/pWntOl5qNvbmCNZpVlkC7EZtqsc9i3GfWtH7KEYuSbuu/m12Zy8zMX/AIWh4RJI/tGf
jg/8S64/+N+xqRfid4S4Avrok8cabc9eP+mfuP0rfvNRtNMgFxeS+XE8scO7aTl3cIowM9WYD8ec
Yq9njHf60lKj/K/v/wCAaRucknxP8JyIrpfXTKwBDLpl0QenQ+X7inf8LK8LAZN3eYXr/wASu64/
8he36VseGj/xTGlZ4xaxjB7fKK1cD8KL0uz+/wD4BSuzk/8AhZHhfkfar7I5/wCQXdcf+QvY/rS/
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
4R3V+g8Y6yP+2Nn/APGKgn8IXt1cWs03i7WmktZDLA3lWg2sUZCf9Rz8rkc+v0oopc7/AKSE4om/
4RvVSOfGOtH6Q2Y/9oUf8I1qv/Q4631z/qrP/wCMUUUc7/pIFBCDw1qvH/FY60P+2dn/APGKrDwT
dDUpNQHi3XRdPCsDOBajKKWIGPJxwWPOO9FFHO/6SD2cexOfC2pHOfGevZIx0tf/AIx7/wCcUh8K
alk/8Vnr2Ppa/wDxn/PFFFL2kv6SF7OPYZ/wiGoH/mdPEP8A31bf/Gfb/Oagg8CXNqpWHxh4jRWd
pCBLByzHJP8AqvX+vrRRT9rK3/AQeyh2JG8FXzZ/4rbxLyc/66D3/wCmXvTG8DXrk/8AFbeJx9Li
H/417/y9KKKbqSEqcH0FsPAS2viCx1m78Qa1qM9j5nkJeTRui70KN0QHofXsK7BRxRRUyk5atlqK
WiP/2Q0KDQo8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBUcmFu
c2l0aW9uYWwvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtdHJh
bnNpdGlvbmFsLmR0ZCI+DQoNCjxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sIiA+DQo8aGVhZD48dGl0bGU+DQoJVW50aXRsZWQgUGFnZQ0KPC90aXRsZT48bGluayBocmVm
PSIuLi9BcHBfVGhlbWVzLzA0LzFfbWFzdGVyLmNzcyIgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5
bGVzaGVldCIgLz48bGluayBocmVmPSIuLi9BcHBfVGhlbWVzLzA0LzJfVXNlckNvbnRyb2xzLmNz
cyIgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz48bGluayBocmVmPSIuLi9BcHBf
VGhlbWVzLzA0LzNfY21zLmNzcyIgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz48
bGluayBocmVmPSIuLi9BcHBfVGhlbWVzLzA0LzRfY29tcG9uZW50cy5jc3MiIHR5cGU9InRleHQv
Y3NzIiByZWw9InN0eWxlc2hlZXQiIC8+PGxpbmsgaHJlZj0iLi4vQXBwX1RoZW1lcy8wNC81X2Jh
bm5lci5jc3MiIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+PC9oZWFkPg0KPGJv
ZHk+DQogICAgPGZvcm0gbmFtZT0iZm9ybTEiIG1ldGhvZD0icG9zdCIgYWN0aW9uPSJWaWV3SW1h
Z2UuYXNweD9GaWxlUGF0aD1NYWVzZHUlNWMxXzIwMDgwNjE3MDkwODQ1X2VfJTQwJTQwX1Njb3Jl
Q2FyZE5ldzAyLmpwZyZhbXA7RmlsZVR5cGU9NSIgaWQ9ImZvcm0xIj4NCjxkaXY+DQo8aW5wdXQg
dHlwZT0iaGlkZGVuIiBuYW1lPSJfX1ZJRVdTVEFURSIgaWQ9Il9fVklFV1NUQVRFIiB2YWx1ZT0i
L3dFUER3VUpOemd6TkRNd05UTXpaR1NKOCtKUFhFZy92cjBWT25qL01xQUllenlIK1E9PSIgLz4N
CjwvZGl2Pg0KDQogICAgPGRpdj4NCiAgICANCiAgICA8L2Rpdj4NCiAgICA8L2Zvcm0+DQo8L2Jv
ZHk+DQo8L2h0bWw+DQo=

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.maesdugolfclub.co.uk/images/spacer.gif

R0lGODlhAQABAIAAAP///////yH5BAEHAAAALAAAAAABAAEAAAICRAEAOw==

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.maesdugolfclub.co.uk/App_Themes/04/images/template/webparts/search_button.gif

R0lGODlhNAATAMQAAMHZYv7+/q/JVqbBUKjDUaS/T6vGU77XYK3GVrHJWcDaYrXOWrjRXv///7HK
V7rSXrXNXLzTX7zVX7LMWMDYYbjQXLvUXrrRX7TLW7bPW8DZYq/GWLnRXbrSXa/IWK/IViH5BAAA
AAAALAAAAAA0ABMAQAX/oCKOI2CeaKqurKod8ME1dINxWaDrD6MnukrlBwwUK7HAcKdjxA6EqHRK
rVqvWCtJQbE8HhFY5EIOAw5jM5p8MZ/HbXEY7TZl7pkFohZAeJh9PxlFCD96P4VMf0ZFCXgZWyQt
k5SVABqYGhE0GBA6ngE3DzCgARAyOhgYOhxLEKCgHBysFLUUErgSHRmvi4kQFhY5gAG+P6AJHbsB
E5+wwcEC0tPU1dbX2NnXBdzd3t/g4eLj4ZEllujp5iLp7ZUiGgoHDHwMF4ASmjsRGg+ASPOY2NMR
IQJBDRQwJcREzwYHBg+WiDrgL8AGHj4CMMi4yhQMQKqa2LqVy0IFDDR+YwiqwKFjok4gQWXIJWFH
giIzJRzQpazDAhobEgmdMIHQBKFEdGy4aJHpDqI6JsiSRbSqAwRYETi4mhXBB6wOJnD9qlUsWK5n
05ataqCt27dw48qdS1fugLt48+rdy7evX74hAAA7

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/App_Themes/04/1_master.css

.Foo {
=09
}
HTML {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; BACKGROUND: =
url(images/template/bg_tile.gif) #d9d9d9 repeat-x; PADDING-BOTTOM: 0px; =
MARGIN: 0px; CURSOR: default; COLOR: #666; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 100%; TEXT-ALIGN: =
center
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; BACKGROUND: =
url(images/template/bg_tile.gif) #d9d9d9 repeat-x; PADDING-BOTTOM: 0px; =
MARGIN: 0px; CURSOR: default; COLOR: #666; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 100%; TEXT-ALIGN: =
center
}
FORM {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 100%; BACKGROUND: =
url(images/template/bg_tile.gif) #d9d9d9 repeat-x; PADDING-BOTTOM: 0px; =
MARGIN: 0px; CURSOR: default; COLOR: #666; PADDING-TOP: 0px; =
FONT-FAMILY: Arial, Helvetica, sans-serif; HEIGHT: 100%; TEXT-ALIGN: =
center
}
TEXTAREA {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
A:link {
	COLOR: #668504; TEXT-DECORATION: underline
}
A:visited {
	COLOR: #668504; TEXT-DECORATION: underline
}
A:active {
	COLOR: #668504; TEXT-DECORATION: underline
}
A:hover {
	TEXT-DECORATION: none
}
H1 {
	DISPLAY: none
}
H2 {
	DISPLAY: none
}
H3 {
	FONT-WEIGHT: normal; FONT-SIZE: 150%; COLOR: #000
}
H4 {
	COLOR: #000
}
H5 {
	COLOR: #000
}
H6 {
	COLOR: #000
}
INPUT {
	FONT-SIZE: 100%
}
TEXTAREA {
	FONT-SIZE: 100%
}
#Outer {
	FONT-SIZE: 0.7em; BACKGROUND: =
url(images/template/locked/outer_tile.png) repeat-y; MARGIN: 0px auto; =
WIDTH: 760px; TEXT-ALIGN: left
}
* HTML #Outer {
	FONT-SIZE: 0.7em; BACKGROUND: =
url(images/template/locked/outer_tile.gif) repeat-y; MARGIN: 0px auto; =
WIDTH: 760px; TEXT-ALIGN: left
}
.Outerone {
	MARGIN: 0px auto; WIDTH: 756px
}
.hide {
	DISPLAY: none
}
.flashholder {
	WIDTH: 756px; HEIGHT: 206px
}
.PageBody {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 8px 6px 5px
}
.TopPane {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 5px
}
.ContentPane {
	FLOAT: left; MARGIN: 0px
}
.RightPane {
	FLOAT: right; MARGIN: 0px
}
.LeftPane {
	MIN-HEIGHT: 500px; BACKGROUND: url(images/template/LHS_col/col_bac.gif) =
repeat-x 50% top; FLOAT: left; MARGIN: 0px 8px 0px 0px; WIDTH: 170px! =
important
}
.BottomPane {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 5px
}
.RightPane INPUT {
	FONT-SIZE: 90%
}
.RightPane SELECT {
	FONT-SIZE: 90%
}
.ContentPane UL {
	LIST-STYLE-TYPE: none
}
.ContentPane LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 12px; BACKGROUND: =
url(images/template/general_bullet.gif) no-repeat 0px 5px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.pagebanner {
	CLEAR: both; BACKGROUND: =
url(images/template/pagebanner/logoarea_tile.gif) repeat-y
}
.pagebanner .left {
	DISPLAY: none
}
.pagebanner .right {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
#f3f4f0; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px =
solid; HEIGHT: 2.3em; TEXT-ALIGN: right
}
.pagebanner .right A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-SIZE: 90%; =
FLOAT: right; PADDING-BOTTOM: 4px; BORDER-LEFT: #ccc 1px solid; COLOR: =
#6b8b04; LINE-HEIGHT: 20px; PADDING-TOP: 3px; TEXT-ALIGN: center; =
TEXT-DECORATION: none
}
.pagebanner .right A:hover {
	BACKGROUND: #fff; TEXT-DECORATION: underline
}
.pagebanner .right A:active {
	BACKGROUND: #fff; TEXT-DECORATION: underline
}
.pagebanner .right .Separator {
	DISPLAY: none
}
.pagebanner .logo {
	BACKGROUND: url(images/template/pagebanner/logo.gif) no-repeat; FLOAT: =
left; WIDTH: 545px; HEIGHT: 76px
}
.pagebanner .content {
	FLOAT: left; WIDTH: 209px
}
.pagebanner .content .upper {
=09
}
.pagebanner .content .lower {
	DISPLAY: none
}
.pagebanner .content .lower SPAN {
=09
}
.pagebanner .content .lower A:link {
=09
}
.pagebanner .content .lower A:visited {
=09
}
.pagebanner .content .lower A:hover {
=09
}
.pagebanner .content .lower A:active {
=09
}
.applications {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.breadarea {
	CLEAR: both
}
.breadcrumbs {
	DISPLAY: block; MARGIN: 13px 10px 5px; COLOR: #6a6a6a
}
.current {
	FONT-WEIGHT: bold; COLOR: #000! important; TEXT-DECORATION: none
}
* HTML breadcrumbs {
	CLEAR: both; PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 0px; MARGIN: 13px 0px 0px; PADDING-TOP: 0px
}
.pagefooter {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 90%; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px; TEXT-ALIGN: left
}
.pagefooter A {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; COLOR: =
#777; PADDING-TOP: 0px; TEXT-DECORATION: none
}
.pagefooter A:hover {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; COLOR: =
#777; PADDING-TOP: 0px; TEXT-DECORATION: underline
}
.pagefooter .left {
	DISPLAY: none
}
.pagefooter .right {
	DISPLAY: none
}
.pagefooter UL {
	PADDING-RIGHT: 3px; PADDING-LEFT: 20px; BACKGROUND: #f3f4f0; FLOAT: =
none; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 10px; PADDING-TOP: 5px; =
LIST-STYLE-TYPE: none
}
.pagefooter UL LI {
	DISPLAY: inline
}
.pagefooter .lefttext {
	DISPLAY: none
}
.pagefooter .righttext {
	DISPLAY: none
}
.UserForm {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 0px
}
.UserForm SPAN.fieldlabel {
	MARGIN-TOP: 6px; DISPLAY: block
}
.UserForm LABEL.fieldlabel {
	MARGIN-TOP: 6px; DISPLAY: block
}
.UserForm SPAN.field {
	WIDTH: 250px
}
.UserForm SELECT.listbox {
	WIDTH: 250px
}
.UserForm TEXTAREA.field {
	WIDTH: 250px
}
.UserForm INPUT.field {
	WIDTH: 250px
}
.UserForm SELECT.field {
	WIDTH: 250px
}
.UserForm INPUT.hiddenfield {
=09
}
.UserForm SPAN.fielderror {
	FONT-WEIGHT: bold; COLOR: #cc3300
}
.UserForm SPAN.fieldrequiredmarker {
	FONT-WEIGHT: bold; COLOR: #cc3300
}
.UserForm A.CommandBtn {
	CLEAR: both; DISPLAY: block; FLOAT: none
}
.UserForm A.CommandBtn:link {
	CLEAR: both; DISPLAY: block; FLOAT: none
}
.UserForm A.CommandBtn:active {
	CLEAR: both; DISPLAY: block; FLOAT: none
}
.UserForm A.CommandBtn:visited {
	CLEAR: both; DISPLAY: block; FLOAT: none
}
.UserForm A.CommandBtn {
	BACKGROUND: url(images/template/webparts/submit_button.gif) no-repeat; =
MARGIN: 5px 0px 0px; WIDTH: 60px; CURSOR: pointer; HEIGHT: 20px
}
.UserForm A.CommandBtn:hover {
=09
}
.UserForm A.CommandBtnSlim {
=09
}
.UserForm A.CommandBtnSlim:link {
=09
}
.UserForm A.CommandBtnSlim:active {
=09
}
.UserForm A.CommandBtnSlim:visited {
=09
}
.UserForm A.CommandBtnSlim:hover {
=09
}
.postthanks {
	BORDER-TOP-STYLE: none! important; BORDER-RIGHT-STYLE: none! important; =
BORDER-LEFT-STYLE: none! important; BORDER-BOTTOM-STYLE: none! important
}
.RightPane .field {
	MARGIN: 0px 0px 3px
}

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/App_Themes/04/2_UserControls.css

.Nav-x {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/nav-x/nav_bac.gif) no-repeat 50% top; FLOAT: left; =
PADDING-BOTTOM: 0px; MARGIN: 0px auto; WIDTH: 100%; PADDING-TOP: 0px; =
HEIGHT: 30px
}
.Nav-x H2 {
	DISPLAY: none
}
.Nav-x .Links {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/nav-x/nav_bac.gif) no-repeat 50% top; =
PADDING-BOTTOM: 0px; MARGIN: 0px auto; WIDTH: 100%; PADDING-TOP: 0px; =
LIST-STYLE-TYPE: none; TEXT-ALIGN: center
}
.Nav-x .Links .Separator {
	DISPLAY: none
}
.Nav-x .Links .Link {
	BACKGROUND: url(images/template/nav/main_nav_background.gif) no-repeat =
right top; TEXT-ALIGN: center
}
.Nav-x .Links .Link .Left {
	DISPLAY: block; FONT-SIZE: 11px; BACKGROUND: =
url(images/template/nav-x/main_nav_background.gif) no-repeat right top; =
FLOAT: left; HEIGHT: 25px
}
.Nav-x .Links .Link A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; BACKGROUND: url(images/template/nav-x/main_nav_background.gif) =
no-repeat right top; FLOAT: left; PADDING-BOTTOM: 0px; COLOR: #fff; =
PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: center; TEXT-DECORATION: =
none
}
.Nav-x .Links .Link A:active {
	DISPLAY: block; FONT-WEIGHT: bold; BACKGROUND: #fff; FLOAT: left; =
COLOR: #000; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.Nav-x .Links .Link A:hover {
	DISPLAY: block; FONT-WEIGHT: bold; BACKGROUND: =
url(images/template/nav-x/main_nav_background_over.gif) no-repeat right =
top; FLOAT: left; COLOR: #fff; TEXT-ALIGN: center; TEXT-DECORATION: =
underline
}
.Nav-x .Links .LinkSelected {
	DISPLAY: block; FONT-WEIGHT: bold; BACKGROUND: #fff; FLOAT: left; =
COLOR: #000; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.Nav-x .Links .LinkSelected .Left {
	DISPLAY: block; FONT-SIZE: 11px; FLOAT: left; HEIGHT: 25px
}
.Nav-x .Links .LinkSelected .Left A {
	BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 10px; DISPLAY: block; =
PADDING-LEFT: 10px; FONT-WEIGHT: bold; FLOAT: left; PADDING-BOTTOM: 0px; =
COLOR: #000; PADDING-TOP: 4px; HEIGHT: 21px; TEXT-ALIGN: center; =
TEXT-DECORATION: none
}
.Nav-x .Links .LinkSelected .Left A:active {
	BORDER-RIGHT: #fff 1px solid; DISPLAY: block; FONT-WEIGHT: bold; =
BACKGROUND: #fff; FLOAT: left; COLOR: #000; TEXT-ALIGN: center; =
TEXT-DECORATION: none
}
.LeftPane .Nav-y {
	BORDER-TOP: #dedede 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 110%; =
MIN-HEIGHT: 300px; WIDTH: 170px
}
.LeftPane .Nav-y .Header {
	DISPLAY: none
}
.LeftPane .Nav-y .Body .Left {
	TEXT-ALIGN: left
}
.LeftPane .Nav-y .Body .Content {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/LHS_col/nav_ul_bottom.gif) repeat-x 50% bottom; =
PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.LeftPane .Nav-y .Body UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 2px; MARGIN: =
0px; WIDTH: 170px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.LeftPane .Nav-y .Body LI {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; BACKGROUND: =
url(images/template/LHS_col/nav-y_li_bac.gif) no-repeat 50% top; =
PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 5px; =
BORDER-BOTTOM: #fff 1px solid
}
.LeftPane .Nav-y .Body UL LI A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/LHS_col/bullet.gif) no-repeat right 50%; =
PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 0px; TEXT-DECORATION: =
none
}
.LeftPane .Nav-y .Body UL LI A:hover {
	COLOR: #fff; TEXT-DECORATION: underline
}
.LeftPane .Nav-y .Body UL LI.Selected {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #666; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL LI.Selected A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: =
none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 0px; COLOR: #666; =
PADDING-TOP: 5px; TEXT-DECORATION: none
}
.LeftPane .Nav-y .Body UL LI.Selected A:hover {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: =
0px; COLOR: #666; PADDING-TOP: 5px; TEXT-DECORATION: underline
}
.LeftPane .Nav-y .Body UL UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 8px =
0px 0px; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL UL LI {
	BACKGROUND: none transparent scroll repeat 0% 0%; MARGIN: 0px
}
.LeftPane .Nav-y .Body UL UL LI.Sub {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; MARGIN: =
0px; PADDING-TOP: 3px
}
.LeftPane .Nav-y .Body UL UL LI.Sub A {
	DISPLAY: block; MARGIN: 0px; COLOR: #666; BORDER-BOTTOM: #dedede 1px =
solid; TEXT-DECORATION: none
}
.LeftPane .Nav-y .Body UL UL LI.Sub A:hover {
	DISPLAY: block; MARGIN: 0px; COLOR: #666; BORDER-BOTTOM: #dedede 1px =
solid; TEXT-DECORATION: underline
}
.LeftPane .Nav-y .Body UL UL LI.Selected {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: #fff; PADDING-TOP: 5px
}
.LeftPane .Body.Nav-y UL UL LI.Selected A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; BACKGROUND: none =
transparent scroll repeat 0% 0%; PADDING-BOTTOM: 5px; MARGIN: 0px; =
COLOR: #666; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL UL LI.Selected A:hover {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; MARGIN: 0px; COLOR: #666; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL LI.Selected LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #f3f3f3; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL LI.Selected LI A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.LeftPane .Nav-y .Body UL LI.Selected LI A:hover {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/LHS_col/nav-y_li_bac.gif) no-repeat 50% top; =
PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #fff! important; PADDING-TOP: =
0px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: =
url(images/template/LHS_col/bullet.gif) no-repeat 158px 9px; =
PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 5px; TEXT-DECORATION: =
none
}
.LeftPane .Nav-y .Body UL LI.ParentSelected A:hover {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 10px; BACKGROUND: =
url(images/template/LHS_col/bullet.gif) no-repeat 158px 9px; =
PADDING-BOTTOM: 0px; COLOR: #fff; PADDING-TOP: 5px; TEXT-DECORATION: =
underline
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Sub {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #f3f3f3; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: =
#dedede 1px solid
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Sub A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 20px; BACKGROUND: =
#f3f3f3; PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: #666; PADDING-TOP: =
5px; TEXT-DECORATION: none
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Sub A:hover {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; MARGIN: 0px; COLOR: #666; PADDING-TOP: 5px; TEXT-DECORATION: =
underline
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Selected {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 0px; MARGIN: 0px; COLOR: #f3f3f3; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Selected A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; BACKGROUND: =
none transparent scroll repeat 0% 0%; PADDING-BOTTOM: 5px; MARGIN: 0px; =
COLOR: #666; PADDING-TOP: 5px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Selected A:hover {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; MARGIN: 0px; COLOR: #666; PADDING-TOP: 5px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Selected LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #f3f3f3; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Selected LI A {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.LeftPane .Nav-y .Body UL LI.ParentSelected UL LI.Selected LI A:hover {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 20px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.LeftPane .Nav-y .Footer {
	FLOAT: left; HEIGHT: 13px
}
.LeftPane .Nav-y .Footer .Left {
	FLOAT: left; WIDTH: 6px; HEIGHT: 13px; TEXT-ALIGN: left
}
.LeftPane .Footer.Nav-y .Right {
=09
}
.RightPane .Nav-y {
	CLEAR: both; BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px =
solid; BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) =
#dedede repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf =
1px solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.RightPane .Nav-y .Header {
	DISPLAY: none; FONT-SIZE: 120%; WIDTH: 100%; HEIGHT: 35px
}
.RightPane .Nav-y .Header .Left {
	FLOAT: left; WIDTH: auto; HEIGHT: 35px; TEXT-ALIGN: left
}
.RightPane .Nav-y .Header .Title {
	PADDING-LEFT: 10px; FONT-WEIGHT: bold; FLOAT: left; COLOR: #668504; =
LINE-HEIGHT: 32px
}
.RightPane .Nav-y .Header .Right {
	FLOAT: right; WIDTH: 6px; HEIGHT: 35px; TEXT-ALIGN: left
}
.RightPane .Nav-y .Body .Left {
	TEXT-ALIGN: left
}
.RightPane .Nav-y .Body .Right {
=09
}
.RightPane .Nav-y .Body .Content {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.RightPane .Nav-y .Body UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; WIDTH: 100%; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.RightPane .Nav-y .Body LI {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 5px; MARGIN: =
0px; PADDING-TOP: 5px; BORDER-BOTTOM: #cfcfcf 1px solid
}
.RightPane .Nav-y .Body UL LI A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 100%; PADDING-TOP: 0px
}
.RightPane .Nav-y .Body UL LI A:hover {
=09
}
.RightPane .Nav-y .Body UL LI.Selected {
	PADDING-RIGHT: 5px; PADDING-LEFT: 10px; BACKGROUND: #fff; =
PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px
}
.RightPane .Body.Nav-y UL LI.Selected A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 100%; PADDING-TOP: 0px; TEXT-DECORATION: none
}
.RightPane .Nav-y .Body UL LI.Selected A:hover {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 100%; PADDING-TOP: 0px; TEXT-DECORATION: none
}
.RightPane .Nav-y .Body UL UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 0px; MARGIN: 8px 0px 0px; PADDING-TOP: 0px
}
.RightPane .Nav-y .Body UL UL LI {
	PADDING-RIGHT: 10px; PADDING-LEFT: 27px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px
}
.RightPane .Nav-y .Body UL UL LI A {
=09
}
.RightPane .Nav-y .Body UL UL LI.Sub {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 3px; MARGIN: =
0px; PADDING-TOP: 3px
}
.RightPane .Nav-y .Body UL UL LI.Sub A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: normal; =
PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 0px
}
.RightPane .Nav-y .Body UL UL LI.Sub A:hover {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; MARGIN: =
0px; PADDING-TOP: 0px
}
.RightPane .Nav-y .Body UL UL LI.Selected {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: none transparent =
scroll repeat 0% 0%; PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px
}
.RightPane .Nav-y .Body UL UL LI.Selected A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; MARGIN: 0px 0px 0px 5px; PADDING-TOP: 0px
}
.RightPane .Nav-y .Body UL UL LI.Selected A:hover {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; MARGIN-LEFT: 5px; PADDING-TOP: 0px
}
.RightPane .Nav-y .Footer {
	DISPLAY: none; FLOAT: left; HEIGHT: 13px
}
.RightPane .Nav-y .Footer .Left {
	DISPLAY: none
}
.RightPane .Nav-y .Footer .Right {
	DISPLAY: none
}
.Search {
	PADDING-RIGHT: 2px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 20px
}
.Form {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Form LABEL {
	PADDING-RIGHT: 6px; DISPLAY: none; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FLOAT: left; PADDING-BOTTOM: 0px; PADDING-TOP: 3px
}
.Form INPUT.Text {
	FLOAT: left; WIDTH: 120px
}
.Form .Button {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 0px; CURSOR: pointer; PADDING-TOP: 0px
}
.Form .Option {
	DISPLAY: none
}
.Form INPUT.Text {
	FONT-SIZE: 90%
}
.Box-News {
	BORDER-RIGHT: #cfcfcf 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#cfcfcf 1px solid; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/RHS_col/rhs_box_background.gif) #dedede repeat-x; =
FLOAT: left; PADDING-BOTTOM: 4px; MARGIN: 5px 0px 3px 4px; BORDER-LEFT: =
#cfcfcf 1px solid; WIDTH: 275px; PADDING-TOP: 0px; BORDER-BOTTOM: =
#cfcfcf 1px solid
}
.Box-News .Banner {
	BORDER-RIGHT: #fff 5px solid; PADDING-RIGHT: 0px; DISPLAY: block; =
PADDING-LEFT: 0px; FONT-SIZE: 110%; BACKGROUND: =
url(images/template/webparts/news_events/header_bac.gif) #fff repeat-x; =
PADDING-BOTTOM: 0px; MARGIN: 4px 0px 0px 4px; BORDER-LEFT: #fff 5px =
solid; WIDTH: 257px; PADDING-TOP: 0px
}
.Box-News .Banner .Left {
=09
}
.Box-News .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; FONT-SIZE: 105%; PADDING-BOTTOM: 5px; WIDTH: 210px; COLOR: #fff; =
PADDING-TOP: 10px
}
.Box-News .Banner .Title A {
	COLOR: #fff
}
.Box-News .Banner .Right {
	DISPLAY: none
}
.Box-News .Footer {
	DISPLAY: none
}
.Box-News .Body {
	BORDER-RIGHT: #e6e6e6 4px solid; BACKGROUND: #fff; BORDER-LEFT: #e6e6e6 =
4px solid; TEXT-ALIGN: center
}
.Box-News .Body .Left {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.Box-News .Body .Left .Right .Content {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: 255px; PADDING-TOP: 0px; =
TEXT-ALIGN: left
}
.Box-News .Body .Left .Right .Content .Text {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.Box-News .Body .Left .Right .Content .Text A {
	TEXT-DECORATION: underline
}
.Box-News .Body .Left .Right .Content .Text DL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 1.1em; =
PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
.Box-News .Body .Left .Right .Content .Text DL DT {
	DISPLAY: none
}
.Box-News .Body .Left .Right .Content .Text DL DD {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 3px; WIDTH: 250px; =
PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid
}
.Box-News .Body .Left .Right .Content .Text DL DD IMG {
	FLOAT: left; MARGIN-RIGHT: 6px
}
.Box-News .Body .Left .Right .Content .Text DL DD A {
	PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left; TEXT-DECORATION: underline
}
.Box-News .Body .Left .Right .Content DL DD A:hover {
	TEXT-DECORATION: none
}
.Box-News .Body .Left .Right .Content .morelink {
	CLEAR: both; PADDING-RIGHT: 5px; BORDER-TOP: #fff 5px solid; =
PADDING-LEFT: 5px; FONT-WEIGHT: bold; BACKGROUND: #eff2e4; =
PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-TOP: 5px; BORDER-BOTTOM: #fff =
5px solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none
}
.Box-News .Body .Content .morelink A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; WIDTH: 240px; PADDING-TOP: 0px; HEIGHT: 16px; TEXT-ALIGN: right
}
.Box-News .Body .Content .morelink A:hover {
	TEXT-DECORATION: none
}
.Box-News .Body .Content IMG {
=09
}
.Box-Events {
	BORDER-RIGHT: #cfcfcf 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: =
#cfcfcf 1px solid; PADDING-LEFT: 0px; BACKGROUND: =
url(images/template/RHS_col/rhs_box_background.gif) #dedede repeat-x; =
FLOAT: left; PADDING-BOTTOM: 4px; MARGIN: 5px 0px 3px 4px; BORDER-LEFT: =
#cfcfcf 1px solid; WIDTH: 275px; PADDING-TOP: 0px; BORDER-BOTTOM: =
#cfcfcf 1px solid
}
.Box-Events .Banner {
	BORDER-RIGHT: #fff 5px solid; DISPLAY: block; FONT-SIZE: 110%; =
BACKGROUND: url(images/template/webparts/news_events/header_bac.gif) =
#fff repeat-x; MARGIN: 4px 0px 0px 3px; BORDER-LEFT: #fff 5px solid; =
WIDTH: 257px
}
.Box-Events .Banner .Left {
=09
}
.Box-Events .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; FONT-SIZE: 105%; FLOAT: left; PADDING-BOTTOM: 10px; WIDTH: 210px; =
COLOR: #fff; PADDING-TOP: 10px
}
.Box-Events .Banner .Title A {
	COLOR: #fff
}
.Box-Events .Banner .Right {
	PADDING-RIGHT: 8px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
LINE-HEIGHT: 18px; PADDING-TOP: 8px
}
.Box-Events .Footer {
	DISPLAY: none
}
.Box-Events .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; BORDER-LEFT: #e6e6e6 =
3px solid; WIDTH: 267px; TEXT-ALIGN: center
}
.Box-Events .Body .Left {
=09
}
.Box-Events .Body .Content {
	BACKGROUND: #fff; MARGIN: 0px; WIDTH: 264px; TEXT-ALIGN: left
}
.Box-Events .Body .Content .Text {
=09
}
.Box-Events .Body .Content A {
	TEXT-DECORATION: underline
}
.Box-Events .Body .Content DL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: =
0px; PADDING-TOP: 5px
}
.Box-Events .Body .Content DL DT {
	DISPLAY: block
}
.Box-Events .Body .Content DL DD {
	CLEAR: left; PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; =
MARGIN-BOTTOM: 3px; PADDING-BOTTOM: 2px; PADDING-TOP: 2px; =
BORDER-BOTTOM: #ccc 1px solid
}
.Box-Events .Body .Content DL DT IMG {
	FLOAT: left; MARGIN-RIGHT: 3px
}
.Box-Events .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-Events .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-Events .Body .Content UL LI A {
	FLOAT: left
}
.Box-Events .Body .Content DL DD A {
	PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px; TEXT-ALIGN: left; =
TEXT-DECORATION: underline
}
.Box-Events .Body .Content DL DD A:hover {
	TEXT-DECORATION: none
}
.Box-Events .Body .Content DL DT IMG {
	FLOAT: left; MARGIN-RIGHT: 3px
}
.Box-Events .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-Events .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-Events .Body .Content UL LI A {
	DISPLAY: inline; FLOAT: left
}
.Box-Events .Body .Content .Text {
=09
}
.Box-Events .Body .Content .morelink {
	BORDER-RIGHT: #fff 4px solid; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; =
FONT-WEIGHT: bold; BACKGROUND: #eff2e4; PADDING-BOTTOM: 0px; MARGIN: 5px =
0px 4px; BORDER-LEFT: #fff 4px solid; WIDTH: 258px; PADDING-TOP: 0px; =
BORDER-BOTTOM: #fff 3px solid
}
.Box-Events .Body .Content .morelink A {
	PADDING-RIGHT: 8px; DISPLAY: block; PADDING-LEFT: 8px; PADDING-BOTTOM: =
8px; PADDING-TOP: 8px; TEXT-ALIGN: left
}
.Box-Events .Body .Content .morelink A:hover {
	TEXT-DECORATION: none
}
.Box-Events .Body .Content IMG {
=09
}
.Box-Events .Body .Right {
=09
}
.Box-FocusOn {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-FocusOn .Banner {
	FONT-SIZE: 110%; WIDTH: 100%; COLOR: #668504
}
.Box-FocusOn .Banner .Left {
=09
}
.Box-FocusOn .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 8px; COLOR: #000; PADDING-TOP: 8px
}
.Box-FocusOn .Banner .Right {
=09
}
.Box-FocusOn .Footer {
	CLEAR: both; DISPLAY: block; MARGIN: 0px 3px; WIDTH: 147px; =
BORDER-BOTTOM: #dedede 3px solid; TEXT-ALIGN: center
}
* HTML .Box-FocusOn .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 154px; =
BORDER-BOTTOM: #dedede 3px solid; TEXT-ALIGN: center
}
.Box-FocusOn .Footer .Left {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FLOAT: left; =
PADDING-BOTTOM: 3px; PADDING-TOP: 0px; TEXT-ALIGN: center
}
.Box-FocusOn .Footer .Right {
=09
}
.Box-FocusOn .Footer .Left A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-SIZE: 90%; =
BACKGROUND: #fff; PADDING-BOTTOM: 6px; WIDTH: 131px; PADDING-TOP: 6px; =
TEXT-ALIGN: left
}
.Box-FocusOn .Footer .Left A:hover {
=09
}
.Box-FocusOn .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; FLOAT: left; =
BORDER-LEFT: #e6e6e6 3px solid
}
.Box-FocusOn .Body .Left {
=09
}
.Box-FocusOn .Body .Content {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; BACKGROUND: #fff; FLOAT: left; =
PADDING-BOTTOM: 3px; MARGIN: 0px 4px; WIDTH: 135px; PADDING-TOP: 8px
}
.Box-FocusOn .Body .Content .Text {
	TEXT-ALIGN: left
}
.Box-FocusOn .Body .Content A IMG {
	MARGIN: 0px 0px 0px 3px
}
.Box-FocusOn .Body .Content DL {
	WIDTH: 100%
}
.Box-FocusOn .Body .Content DL DT {
	DISPLAY: block; WIDTH: 90%
}
.Box-FocusOn .Body .Content DL DD {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; MARGIN-BOTTOM: =
3px; PADDING-BOTTOM: 2px; WIDTH: 100%; PADDING-TOP: 2px; BORDER-BOTTOM: =
#ccc 1px solid
}
.Box-FocusOn .Body .Content DL DT IMG {
	FLOAT: left; MARGIN-RIGHT: 3px
}
.Box-FocusOn .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.Box-FocusOn .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-FocusOn .Body .Content UL LI A {
=09
}
.Box-FocusOn .Body .Content .Text {
=09
}
.Box-FocusOn .Body .Content A {
=09
}
.Box-FocusOn .Body .Content IMG {
=09
}
.Box-FocusOn .Body .Right {
	FLOAT: right; WIDTH: 143px
}
.Box-Generic {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-Generic .Banner {
	FONT-SIZE: 110%; WIDTH: 100%
}
.Box-Generic .Banner .Left {
=09
}
.Box-Generic .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 8px; COLOR: #000; PADDING-TOP: 8px
}
.Box-Generic .Banner .Right {
=09
}
.Box-Generic .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 143px; =
BORDER-BOTTOM: #dedede 3px solid
}
* HTML .Box-Generic .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 154px; =
BORDER-BOTTOM: #dedede 3px solid
}
.Box-Generic .Footer .Left {
	FONT-WEIGHT: bold; FLOAT: left; TEXT-ALIGN: center
}
.Box-Generic .Footer .Right {
=09
}
.Box-Generic .Footer .Left A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-SIZE: 90%; =
BACKGROUND: #fff; PADDING-BOTTOM: 6px; MARGIN: 0px 3px 3px; WIDTH: auto; =
PADDING-TOP: 0px; TEXT-ALIGN: left
}
.Box-Generic .Footer .Left A:hover {
=09
}
.Box-Generic .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; FLOAT: left; =
BORDER-LEFT: #e6e6e6 3px solid; TEXT-ALIGN: center
}
.Box-Generic .Body .Left {
=09
}
.Box-Generic .Body .Content {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 3px; MARGIN: 0px 4px; WIDTH: 135px; PADDING-TOP: 8px; =
TEXT-ALIGN: left
}
.Box-Generic .Body .Content .Text {
	TEXT-ALIGN: left
}
.Box-Generic .Body .Content DL DT IMG {
	FLOAT: left; MARGIN-RIGHT: 3px
}
.Box-Generic .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-Generic .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-Generic .Body .Content UL LI A {
=09
}
.Box-Generic .Body .Content .Text {
=09
}
.Box-Generic .Body .Content A {
=09
}
.Box-Generic .Body .Content IMG {
=09
}
.Box-Generic .Body .Right {
	FLOAT: right; WIDTH: 143px
}
.Box-CrossPromo {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-CrossPromo .Banner {
	FONT-SIZE: 110%; WIDTH: 100%; COLOR: #668504
}
.Box-CrossPromo .Banner .Left {
=09
}
.Box-CrossPromo .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 8px; COLOR: #000; PADDING-TOP: 8px
}
.Box-CrossPromo .Banner .Right {
=09
}
.Box-CrossPromo .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 143px; =
BORDER-BOTTOM: #dedede 3px solid
}
* HTML .Box-CrossPromo .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 154px; =
BORDER-BOTTOM: #dedede 3px solid
}
.Box-CrossPromo .Footer .Left {
	FONT-WEIGHT: bold; FLOAT: left; TEXT-ALIGN: center
}
.Box-CrossPromo .Footer .Right {
=09
}
.Box-CrossPromo .Footer .Left A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-SIZE: 90%; =
BACKGROUND: #fff; PADDING-BOTTOM: 6px; PADDING-TOP: 6px; TEXT-ALIGN: =
left
}
.Box-CrossPromo .Footer .Left A:hover {
=09
}
.Box-CrossPromo .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; FLOAT: left; =
BORDER-LEFT: #e6e6e6 3px solid; TEXT-ALIGN: center
}
.Box-CrossPromo .Body .Left {
=09
}
.Box-CrossPromo .Body .Content {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 3px; MARGIN: 0px 4px; WIDTH: 135px; PADDING-TOP: 8px; =
TEXT-ALIGN: left
}
.Box-CrossPromo .Body .Content .Text {
	TEXT-ALIGN: left
}
.Box-CrossPromo .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-CrossPromo .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-CrossPromo .Body .Content UL LI A {
=09
}
.Box-CrossPromo .Body .Content .Text {
=09
}
.Box-CrossPromo .Body .Content A {
=09
}
.Box-CrossPromo .Body .Content IMG {
=09
}
.Box-CrossPromo .Body .Right {
	FLOAT: right; WIDTH: 143px
}
* HTML .Box-CrossPromo .Body .Right {
	FLOAT: right; WIDTH: 154px
}
.Box-PlacesToVisit {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-PlacesToVisit .Banner {
	FONT-SIZE: 110%; WIDTH: 100%; COLOR: #668504
}
.Box-PlacesToVisit .Banner .Left {
=09
}
.Box-PlacesToVisit .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 8px; COLOR: #000; PADDING-TOP: 8px
}
.Box-PlacesToVisit .Banner .Right {
=09
}
.Box-PlacesToVisit .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 143px; =
BORDER-BOTTOM: #dedede 3px solid
}
* HTML .Box-PlacesToVisit .Footer {
	DISPLAY: block; BACKGROUND: #fff; MARGIN: 0px 3px; WIDTH: 154px; =
BORDER-BOTTOM: #dedede 3px solid
}
.Box-PlacesToVisit .Footer .Left {
	FONT-WEIGHT: bold; FLOAT: left; TEXT-ALIGN: center
}
.Box-PlacesToVisit .Footer .Right {
=09
}
.Box-PlacesToVisit .Footer .Left A {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-SIZE: 90%; =
BACKGROUND: #fff; PADDING-BOTTOM: 6px; MARGIN: 0px 3px 3px; PADDING-TOP: =
0px; TEXT-ALIGN: left
}
.Box-PlacesToVisit .Footer .Left A:hover {
=09
}
.Box-PlacesToVisit .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; FLOAT: left; =
BORDER-LEFT: #e6e6e6 3px solid; TEXT-ALIGN: center
}
.Box-PlacesToVisit .Body .Left {
=09
}
.Box-PlacesToVisit .Body .Content {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; BACKGROUND: #fff; FLOAT: left; =
PADDING-BOTTOM: 3px; MARGIN: 0px 4px; PADDING-TOP: 3px; TEXT-ALIGN: left
}
.Box-PlacesToVisit .Body .Content .Text {
=09
}
.Box-PlacesToVisit .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-PlacesToVisit .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-PlacesToVisit .Body .Content UL LI A {
=09
}
.Box-PlacesToVisit .Body .Content .Text {
=09
}
.Box-PlacesToVisit .Body .Content A {
=09
}
.Box-PlacesToVisit .Body .Content IMG {
=09
}
.Box-PlacesToVisit .Body .Right {
	FLOAT: right; WIDTH: 143px
}
* HTML .Box-PlacesToVisit .Body .Right {
	FLOAT: right; WIDTH: 154px
}
.expandy {
=09
}
.expandx {
=09
}
.Comment {
	MARGIN: 4px 0px
}
.Comment .Name {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 5px; PADDING-TOP: 2px
}
.Comment .Name .Date {
	FONT-WEIGHT: normal
}
.Comment .Details {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 0px
}
.CommentForm {
=09
}
.CommentForm LABEL {
	FONT-WEIGHT: bold
}
.CommentRating {
	CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.CommentRating A:hover {
	TEXT-DECORATION: none
}
.CommentRating A {
	TEXT-DECORATION: none
}
.Socialbookmarks {
	CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; PADDING-TOP: 5px
}
.Socialbookmarks A {
	FONT-WEIGHT: bold
}
.ratingStar {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; WIDTH: 13px; CURSOR: pointer; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 14px
}
.filledRatingStar {
	BACKGROUND: url(images/template/webparts/filled_star.gif) no-repeat
}
.emptyRatingStar {
	BACKGROUND: url(images/template/webparts/empty_star.gif) no-repeat
}
.savedRatingStar {
	BACKGROUND: url(Images/SavedStar.png)
}
.paddingdiv {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 2px; =
PADDING-TOP: 2px
}

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/App_Themes/04/3_cms.css

.cms-heading H3 {
	PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-SIZE: 140%; PADDING-BOTTOM: =
5px; MARGIN: 0px 0px 6px; COLOR: #000; PADDING-TOP: 5px; FONT-FAMILY: =
Georgia, "Times New Roman", Times, serif
}
.cms-textandimage {
	CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; =
MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px
}
.cms-textandimage H3 {
	PADDING-LEFT: 0px; FONT-WEIGHT: bold; MARGIN: 0px; COLOR: #747474
}
.cms-textandimage H4 {
	PADDING-LEFT: 0px; FONT-WEIGHT: bold; MARGIN: 0px; COLOR: #747474
}
.cms-textandimage IMG {
	DISPLAY: block
}
.cms-textandimage P {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
.cms-text {
	CLEAR: both; PADDING-RIGHT: 7px; MARGIN-TOP: 0px; PADDING-LEFT: 7px; =
FONT-SIZE: 1.2em; PADDING-BOTTOM: 7px; PADDING-TOP: 7px
}
.cms-image {
	CLEAR: both; MARGIN: 0px 0px 4px
}
.image-box {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 2px; TEXT-ALIGN: center
}
.image-box-text {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 0px; FONT-STYLE: italic; TEXT-ALIGN: center
}
.cms-boxout {
	CLEAR: both; BORDER-RIGHT: #cfcfcf 1px solid; PADDING-RIGHT: 3px; =
BORDER-TOP: #cfcfcf 1px solid; DISPLAY: block; PADDING-LEFT: 3px; =
BACKGROUND: #f3f4ef; PADDING-BOTTOM: 3px; MARGIN: 0px 0px 6px; =
BORDER-LEFT: #cfcfcf 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: #cfcfcf =
1px solid
}
.cms-boxout .title {
	DISPLAY: none
}
.cms-boxout .body {
	PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; PADDING-BOTTOM: =
3px; COLOR: #787878; PADDING-TOP: 3px
}
.cms-boxout P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: =
0px; PADDING-TOP: 5px
}
.cms-links {
	MARGIN: 0px 0px 6px
}
.cms-links .Banner {
	BACKGROUND: url(images/template/webparts/cms_heading_bac.gif) #92ac49 =
repeat-x 50% top; HEIGHT: 15px
}
.cms-links P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px =
0px 0px 10px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.cms-links UL {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-TOP: 0px
}
.cms-links UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
* HTML .cms-links {
	MIN-HEIGHT: 3.8em; BACKGROUND: url(images/contentpage/linksbg.gif) =
#efefef repeat-x left top; FLOAT: left; MARGIN-LEFT: 2px; =
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; POSITION: relative; BORDER-BOTTOM-STYLE: none
}
.cms-documents {
	BORDER-RIGHT: #cfcfcf 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#cfcfcf 1px solid; DISPLAY: block; PADDING-LEFT: 5px; FONT-SIZE: 1.2em; =
PADDING-BOTTOM: 5px; MARGIN: 0px 0px 6px; BORDER-LEFT: #cfcfcf 1px =
solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cfcfcf 1px solid
}
.cms-flash {
=09
}
.cms-flash-text {
	DISPLAY: block; MARGIN: 0px 0px 6px
}
.cms-highlight {
	PADDING-RIGHT: 8px; DISPLAY: block; PADDING-LEFT: 8px; FONT-SIZE: =
1.2em; BACKGROUND: #e8edd9; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 6px; =
COLOR: #678501; PADDING-TOP: 5px
}
.cms-highlight P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; MARGIN: =
0px; PADDING-TOP: 5px
}
.cms-media {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
2px; PADDING-TOP: 2px
}
.cms-form {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; MARGIN: 0px 0px 6px; PADDING-TOP: 5px
}
.cms-form H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px =
0px 0px; PADDING-TOP: 0px
}
.cms-form SPAN.fieldlabel {
	CLEAR: left; DISPLAY: block; FONT-WEIGHT: bold
}
.cms-form LABEL.fieldlabel {
	CLEAR: left; DISPLAY: block; FONT-WEIGHT: bold
}
.cms-form SPAN.field {
	DISPLAY: block; FLOAT: left; MARGIN-BOTTOM: 10px; TEXT-ALIGN: left
}
.cms-form TEXTAREA.field {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 180px; BORDER-BOTTOM: #cfcfcf 1px =
solid
}
.cms-form INPUT.field {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
FONT-SIZE: 100%; BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 180px; =
BORDER-BOTTOM: #cfcfcf 1px solid
}
.cms-form SELECT.field {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
FONT-SIZE: 100%; BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 180px; =
BORDER-BOTTOM: #cfcfcf 1px solid
}
.cms-form TEXTAREA.field {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
FONT-SIZE: 100%; BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 180px; =
BORDER-BOTTOM: #cfcfcf 1px solid
}
.cms-form INPUT.hiddenfield {
	DISPLAY: none
}
.cms-form IMG.helpicon {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; CURSOR: pointer; PADDING-TOP: 3px
}
.cms-form SPAN.fielderror {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
0px; PADDING-TOP: 0px
}
.cms-form SPAN.fieldrequiredmarker {
=09
}
.cms-form INPUT.button {
	CLEAR: left
}
.cms-profile-a {
	CLEAR: both; BORDER-RIGHT: #cfcfcd 1px solid; PADDING-RIGHT: 5px; =
BORDER-TOP: #cfcfcd 1px solid; PADDING-LEFT: 5px; BACKGROUND: #f3f4ef; =
PADDING-BOTTOM: 5px; MARGIN: 0px 0px 6px; BORDER-LEFT: #cfcfcd 1px =
solid; PADDING-TOP: 5px; BORDER-BOTTOM: #cfcfcd 1px solid
}
.cms-profile-a .image {
	BORDER-RIGHT: #cfcfcd 1px solid; BORDER-TOP: #cfcfcd 1px solid; =
BACKGROUND: #fff; FLOAT: left; MARGIN: 0px 5px 0px 0px; BORDER-LEFT: =
#cfcfcd 1px solid; BORDER-BOTTOM: #cfcfcd 1px solid
}
.cms-profile-a .title {
	CLEAR: both; DISPLAY: block; FONT-WEIGHT: bold; MARGIN-BOTTOM: 4px
}
.cms-profile-a .body {
=09
}
.cms-profile-a .title A {
	FONT-WEIGHT: bold
}
.cms-profile-a .body .pullquote {
=09
}
.cms-profile-a .body .pullquote DIV.start {
=09
}
.cms-profile-a .body .pullquote DIV.end {
=09
}
.cms-profile-a .body .text {
=09
}
.cms-profile-a .footer {
	DISPLAY: none
}
.cms-profile-b {
	BORDER-RIGHT: #cfcfcd 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#cfcfcd 1px solid; PADDING-LEFT: 5px; BACKGROUND: #f3f4ef; FLOAT: left; =
PADDING-BOTTOM: 5px; MARGIN: 0px 0px 6px; BORDER-LEFT: #cfcfcd 1px =
solid; WIDTH: 131px; PADDING-TOP: 5px; BORDER-BOTTOM: #cfcfcd 1px solid; =
TEXT-ALIGN: center
}
.cms-profile-b .image {
	BORDER-RIGHT: #cfcfcd 1px solid; BORDER-TOP: #cfcfcd 1px solid; =
BORDER-LEFT: #cfcfcd 1px solid; WIDTH: 68px; BORDER-BOTTOM: #cfcfcd 1px =
solid; HEIGHT: 58px
}
.cms-profile-b .title {
	FONT-WEIGHT: bold
}
.cms-profile-b .body {
=09
}
.cms-profile-b .pullquote {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; WIDTH: =
120px; PADDING-TOP: 3px
}
.cms-profile-b .body .pullquote DIV.start {
=09
}
.cms-profile-b .body .pullquote DIV.end {
=09
}
.cms-profile-b .text {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; =
PADDING-TOP: 3px
}
.cms-profile-b .footer {
	DISPLAY: none
}
.cms-gmap {
	CLEAR: both; BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px =
solid; BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) =
#dedede repeat-x; MARGIN: 0px 0px 6px; BORDER-LEFT: #cfcfcf 1px solid; =
BORDER-BOTTOM: #cfcfcf 1px solid
}
.cms-gmap INPUT {
	FONT-SIZE: 100%
}
#map {
	CLEAR: both; HEIGHT: 340px! important
}
.cms-gmap .header {
=09
}
.cms-gmap .header .left {
=09
}
.cms-gmap .header .left H3 {
	PADDING-RIGHT: 5px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: =
120%; FLOAT: left; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 0px -1px; COLOR: =
#668504; PADDING-TOP: 5px; HEIGHT: 1%
}
.cms-gmap .header .right {
	FLOAT: right
}
.cms-gmap .header .right .form {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; =
PADDING-TOP: 4px
}
.cms-gmap .header .right .form LABEL {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; FLOAT: left; PADDING-BOTTOM: 0px; TEXT-TRANSFORM: capitalize; =
PADDING-TOP: 4px
}
.cms-gmap .header .right .form INPUT {
	FLOAT: left
}
.cms-gmap .header A {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; FLOAT: left; =
PADDING-BOTTOM: 2px; WIDTH: 25px; PADDING-TOP: 2px; TEXT-ALIGN: center
}
.cms-gmap .header A:hover {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; FLOAT: left; =
PADDING-BOTTOM: 2px; WIDTH: 25px; PADDING-TOP: 2px; TEXT-ALIGN: center
}
.cms-gmap .tipholder {
	Z-INDEX: 1500; LEFT: 0px; FLOAT: left; POSITION: relative; TOP: 0px; =
HEIGHT: 0px
}
.cms-gmap .tipholder .tip {
	DISPLAY: none; Z-INDEX: 1200; LEFT: 10px; FLOAT: left; WIDTH: 256px; =
BOTTOM: 10px; POSITION: relative; HEIGHT: 0px; BACKGROUND-COLOR: =
transparent
}
.cms-gmap .tipholder .tip .footer {
	DISPLAY: block; BACKGROUND: url(images/googlemaps/tipfooter.png) =
no-repeat; FLOAT: left; OVERFLOW: hidden; WIDTH: 266px; HEIGHT: 6px
}
.cms-gmap .tipholder .tip .header {
	DISPLAY: block; BACKGROUND: url(images/googlemaps/tipheader.png) =
no-repeat; FLOAT: left; OVERFLOW: hidden; WIDTH: 266px; HEIGHT: 13px
}
* HTML .cms-gmap .tipholder {
	Z-INDEX: 1500; LEFT: 120px; FLOAT: left; POSITION: relative; TOP: 0px; =
HEIGHT: 0px
}
* HTML .cms-gmap .tipholder .tip {
	DISPLAY: none; Z-INDEX: 1200; LEFT: -480px; FLOAT: left; WIDTH: 266px; =
POSITION: absolute; TOP: 20px; HEIGHT: 0px; BACKGROUND-COLOR: =
transparent
}
* HTML .cms-gmap .tipholder .tip .footer {
	DISPLAY: block; FLOAT: left; OVERFLOW: hidden; WIDTH: 266px; HEIGHT: =
6px; BACKGROUND-COLOR: transparent
}
* HTML .cms-gmap .tipholder .tip .header {
	DISPLAY: block; FLOAT: left; OVERFLOW: hidden; WIDTH: 266px; HEIGHT: =
13px
}
.cms-gmap .tipholder .tip .body {
	BORDER-RIGHT: #cfcfcf 1px solid; PADDING-RIGHT: 5px; MIN-WIDTH: 0px; =
DISPLAY: block; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: 0px; =
BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 254px; PADDING-TOP: 0px; HEIGHT: =
auto
}
.cms-gmap .body {
	BACKGROUND: #fff; MARGIN: 3px
}
.cms-gmap .body .left {
=09
}
.cms-gmap .body .right {
	TEXT-ALIGN: center
}
.cms-gmap .body .left .right .map {
=09
}
.cms-gmap .body .left .right .map DIV SPAN {
	DISPLAY: none
}
.cms-gmap .body .left .right .info {
	PADDING-RIGHT: 8px; PADDING-LEFT: 8px; FONT-SIZE: 1.2em; =
PADDING-BOTTOM: 10px; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.cms-gmap .body .left .right .info H3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
1em; PADDING-BOTTOM: 5px; MARGIN: 0px; COLOR: #668504; PADDING-TOP: 5px
}
.cms-gmap #directions {
=09
}
.cms-gmap .footer {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 1px; =
PADDING-TOP: 1px
}
.cms-gmap .footer .left {
=09
}
.cms-gmap .footer .right {
=09
}
.cms-importcontent {
	CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: =
5px; MARGIN: 0px 0px 6px; PADDING-TOP: 5px
}
.cms-importcontent IFRAME {
	BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; BORDER-BOTTOM-STYLE: none
}
.cms-importcontent .image-box {
	FLOAT: none
}
.cms-adbanner {
	MARGIN-RIGHT: 2px; TEXT-ALIGN: center
}
.Box-FocusOn-Group {
	CLEAR: both; FLOAT: left; WIDTH: 100%
}
.Box-FocusOn-Left {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN: 0px 3px 3px 0px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 48%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-FocusOn-Left .Banner {
	COLOR: #668504
}
.Box-FocusOn-Left .Banner .Left {
=09
}
.Box-FocusOn-Left .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; FONT-SIZE: 110%; PADDING-BOTTOM: 8px; COLOR: #668504; PADDING-TOP: =
8px
}
.Box-FocusOn-Left .Banner .Right {
=09
}
.Box-FocusOn-Left .Footer {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 3px 3px; BORDER-BOTTOM: =
#dedede 3px solid; TEXT-ALIGN: center
}
* HTML .Box-FocusOn-Left .Footer {
	DISPLAY: block; BACKGROUND: #fff; FLOAT: left; MARGIN: 0px 3px 3px 2px; =
BORDER-BOTTOM: #dedede 3px solid; TEXT-ALIGN: center
}
.Box-FocusOn-Left .Footer .Left {
	FONT-WEIGHT: bold; FLOAT: left; TEXT-ALIGN: center
}
.Box-FocusOn-Left .Footer .Right {
=09
}
.Box-FocusOn-Left .Footer .Left A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 3px; FONT-SIZE: 90%; =
BACKGROUND: #fff; PADDING-BOTTOM: 6px; MARGIN: 0px; WIDTH: 184px; =
PADDING-TOP: 6px; TEXT-ALIGN: left
}
.Box-FocusOn-Left .Footer .Left A:hover {
=09
}
.Box-FocusOn-Left .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; FLOAT: left; =
BORDER-LEFT: #e6e6e6 3px solid; TEXT-ALIGN: center
}
.Box-FocusOn-Left .Body .Left {
=09
}
.Box-FocusOn-Left .Body .Content {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 3px; MARGIN: 0px 4px; PADDING-TOP: 3px; TEXT-ALIGN: left
}
.Box-FocusOn-Left .Body .Content .Text {
=09
}
.Box-FocusOn-Left .Body .Content A {
=09
}
.Box-FocusOn-Left .Body .Content DL {
	WIDTH: 100%
}
.Box-FocusOn-Left .Body .Content DL DT {
	DISPLAY: block; WIDTH: 90%
}
.Box-FocusOn-Left .Body .Content DL DD {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; MARGIN-BOTTOM: =
3px; PADDING-BOTTOM: 2px; WIDTH: 100%; PADDING-TOP: 2px; BORDER-BOTTOM: =
#ccc 1px solid
}
.Box-FocusOn-Left .Body .Content DL DT IMG {
	FLOAT: left; MARGIN-RIGHT: 3px
}
.Box-FocusOn-Left .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-FocusOn-Left .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-FocusOn-Left .Body .Content UL LI A {
	FLOAT: left
}
.Box-FocusOn-Left .Body .Content .Text {
=09
}
.Box-FocusOn-Left .Body .Content DL DT A {
	TEXT-DECORATION: underline
}
.Box-FocusOn-Left .Body .Content DL DT A:hover {
	TEXT-DECORATION: none
}
.Box-FocusOn-Left .Body .Content A {
=09
}
.Box-FocusOn-Left .Body .Content IMG {
=09
}
.Box-FocusOn-Left .Body .Right {
	FLOAT: right; WIDTH: 187px
}
* HTML .Box-FocusOn-Left .Body .Right {
	FLOAT: right; WIDTH: 188px
}
.Box-FocusOn-Right {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 48%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-FocusOn-Right .Banner {
	COLOR: #668504
}
.Box-FocusOn-Right .Banner .Left {
=09
}
.Box-FocusOn-Right .Banner .Title {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-WEIGHT: =
bold; FONT-SIZE: 110%; PADDING-BOTTOM: 8px; COLOR: #668504; PADDING-TOP: =
8px
}
.Box-FocusOn-Right .Banner .Right {
=09
}
.Box-FocusOn-Right .Footer {
	DISPLAY: block; FLOAT: left; MARGIN: 0px 0px 3px; BORDER-BOTTOM: =
#dedede 3px solid; TEXT-ALIGN: center
}
.Box-FocusOn-Right .Footer .Left {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FLOAT: left; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px; TEXT-ALIGN: center
}
.Box-FocusOn-Right .Footer .Right {
=09
}
.Box-FocusOn-Right .Footer .Left A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 3px; FONT-SIZE: 90%; =
BACKGROUND: #fff; PADDING-BOTTOM: 6px; MARGIN: 0px; WIDTH: 184px; =
PADDING-TOP: 6px; TEXT-ALIGN: left
}
.Box-FocusOn-Right .Footer .Left A:hover {
=09
}
.Box-FocusOn-Right .Body {
	BORDER-RIGHT: #e6e6e6 3px solid; BACKGROUND: #fff; FLOAT: left; =
BORDER-LEFT: #e6e6e6 3px solid; TEXT-ALIGN: center
}
.Box-FocusOn-Right .Body .Left {
=09
}
.Box-FocusOn-Right .Body .Content {
	PADDING-RIGHT: 3px; PADDING-LEFT: 0px; BACKGROUND: #fff; =
PADDING-BOTTOM: 3px; MARGIN: 0px 4px; PADDING-TOP: 3px; TEXT-ALIGN: left
}
.Box-FocusOn-Right .Body .Content .Text {
=09
}
.Box-FocusOn-Right .Body .Content A {
=09
}
.Box-FocusOn-Right .Body .Content DL {
	WIDTH: 100%
}
.Box-FocusOn-Right .Body .Content DL DT {
	DISPLAY: block; WIDTH: 90%
}
.Box-FocusOn-Right .Body .Content DL DD {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; MARGIN-BOTTOM: =
3px; PADDING-BOTTOM: 2px; WIDTH: 100%; PADDING-TOP: 2px; BORDER-BOTTOM: =
#ccc 1px solid
}
.Box-FocusOn-Right .Body .Content DL DT IMG {
	FLOAT: left; MARGIN-RIGHT: 3px
}
.Box-FocusOn-Right .Body .Content UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.Box-FocusOn-Right .Body .Content UL LI {
	LIST-STYLE-TYPE: none
}
.Box-FocusOn-Right .Body .Content UL LI A {
	FLOAT: left
}
.Box-FocusOn-Right .Body .Content .Text {
=09
}
.Box-FocusOn-Right .Body .Content DL DT A {
	TEXT-DECORATION: underline
}
.Box-FocusOn-Rightt .Body .Content DL DT A:hover {
	TEXT-DECORATION: none
}
.Box-FocusOn-Right .Body .Content A {
=09
}
.Box-FocusOn-Right .Body .Content IMG {
=09
}
.Box-FocusOn-Right .Body .Right {
	FLOAT: right; WIDTH: 187px
}
* HTML .Box-FocusOn-Right .Body .Right {
	FLOAT: right; WIDTH: 188px
}
.weatherContainer {
	PADDING-TOP: 30px
}
.weatherMaster {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
5px; MARGIN: 0px 0px 3px; WIDTH: 100%; PADDING-TOP: 0px
}
.weatherContainer DIV {
	BORDER-RIGHT: #dedede 1px solid; BORDER-TOP: #dedede 1px solid; FLOAT: =
none! important; BORDER-LEFT: #dedede 1px solid; BORDER-BOTTOM: #dedede =
1px solid
}
.weatherStats {
	FLOAT: right; WIDTH: 200px; BORDER-TOP-STYLE: none! important; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}
.weatherStats STRONG {
	DISPLAY: block; FLOAT: left; BORDER-TOP-STYLE: none! important; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}
.weatherRow {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: =
2px; BORDER-TOP-STYLE: none! important; PADDING-TOP: 4px; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}
.weatherRow STRONG {
	DISPLAY: block; FLOAT: left; WIDTH: 40px; BORDER-TOP-STYLE: none! =
important; BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! =
important; BORDER-BOTTOM-STYLE: none! important
}
.weatherHeader {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; BACKGROUND: =
url(images/template/webparts/cms_heading_bac.gif) repeat-x 50% top; =
PADDING-BOTTOM: 4px; MARGIN: 2px; COLOR: #fff; BORDER-TOP-STYLE: none! =
important; PADDING-TOP: 4px; BORDER-RIGHT-STYLE: none! important; =
BORDER-LEFT-STYLE: none! important; BORDER-BOTTOM-STYLE: none! important
}
.weatherContainer {
=09
}
.weatherForecast {
	PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: =
2px; BORDER-TOP-STYLE: none! important; PADDING-TOP: 4px; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}
.weatherForecast DIV {
	FLOAT: right! important; BORDER-TOP-STYLE: none! important; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/App_Themes/04/4_components.css

.foo {
=09
}
.News-Form {
	CLEAR: right; DISPLAY: block; FLOAT: left; WIDTH: 100%
}
.News-Form SPAN.fieldlabel {
	CLEAR: left; DISPLAY: block; FLOAT: left; MARGIN-LEFT: 10px; WIDTH: =
200px; PADDING-TOP: 3px; HEIGHT: 20px
}
.News-Form SPAN.field {
	PADDING-RIGHT: 13px; DISPLAY: inline; PADDING-LEFT: 0px; MIN-HEIGHT: =
20px; FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 200px; PADDING-TOP: 3px; =
TEXT-ALIGN: left
}
.News-Form SELECT.listbox {
	DISPLAY: inline; FLOAT: left; WIDTH: 190px
}
.News-Form TEXTAREA.field {
	FLOAT: left; WIDTH: 200px; PADDING-TOP: 0px
}
.News-Form INPUT.field {
	FLOAT: left; VERTICAL-ALIGN: middle; WIDTH: 200px; PADDING-TOP: 0px
}
.News-Form SELECT.field {
	FLOAT: left; VERTICAL-ALIGN: middle; WIDTH: 200px; PADDING-TOP: 0px
}
.News-Form INPUT.hiddenfield {
	DISPLAY: none
}
.News-Form SPAN.fielderror {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 10px; =
PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.News-Form SPAN.fieldrequiredmarker {
	COLOR: #ff9900
}
.News-Form A.CommandBtn {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BACKGROUND: =
url(images/CommandBtn.gif) no-repeat 0px -1px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; VERTICAL-ALIGN: middle; =
WIDTH: 105px; COLOR: #fff; PADDING-TOP: 4px; HEIGHT: 18px; TEXT-ALIGN: =
center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:link {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BACKGROUND: =
url(images/CommandBtn.gif) no-repeat 0px -1px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; VERTICAL-ALIGN: middle; =
WIDTH: 105px; COLOR: #fff; PADDING-TOP: 4px; HEIGHT: 18px; TEXT-ALIGN: =
center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:active {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BACKGROUND: =
url(images/CommandBtn.gif) no-repeat 0px -1px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; VERTICAL-ALIGN: middle; =
WIDTH: 105px; COLOR: #fff; PADDING-TOP: 4px; HEIGHT: 18px; TEXT-ALIGN: =
center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:visited {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; BACKGROUND: =
url(images/CommandBtn.gif) no-repeat 0px -1px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; VERTICAL-ALIGN: middle; =
WIDTH: 105px; COLOR: #fff; PADDING-TOP: 4px; HEIGHT: 18px; TEXT-ALIGN: =
center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:hover {
	BACKGROUND-POSITION: 0px -22px; COLOR: #333; TEXT-DECORATION: none
}
.News-Form A.CommandBtnSlim {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; BACKGROUND: =
url(images/CommandBtnSlim.gif) no-repeat 0px -23px; FLOAT: right; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: middle; WIDTH: 70px; COLOR: #333; =
PADDING-TOP: 4px; HEIGHT: 19px; TEXT-ALIGN: center; TEXT-DECORATION: =
none
}
.News-Form A.CommandBtnSlim:link {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; BACKGROUND: =
url(images/CommandBtnSlim.gif) no-repeat 0px -23px; FLOAT: right; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: middle; WIDTH: 70px; COLOR: #333; =
PADDING-TOP: 4px; HEIGHT: 19px; TEXT-ALIGN: center; TEXT-DECORATION: =
none
}
.News-Form A.CommandBtnSlim:active {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; BACKGROUND: =
url(images/CommandBtnSlim.gif) no-repeat 0px -23px; FLOAT: right; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: middle; WIDTH: 70px; COLOR: #333; =
PADDING-TOP: 4px; HEIGHT: 19px; TEXT-ALIGN: center; TEXT-DECORATION: =
none
}
.News-Form A.CommandBtnSlim:visited {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; BACKGROUND: =
url(images/CommandBtnSlim.gif) no-repeat 0px -23px; FLOAT: right; =
PADDING-BOTTOM: 0px; VERTICAL-ALIGN: middle; WIDTH: 70px; COLOR: #333; =
PADDING-TOP: 4px; HEIGHT: 19px; TEXT-ALIGN: center; TEXT-DECORATION: =
none
}
.News-Form A.CommandBtnSlim:hover {
	BACKGROUND-POSITION: 0px 0px
}
.TopNewsFlash {
	BORDER-RIGHT: #dedede 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#dedede 1px solid; MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 8px; =
FLOAT: left; PADDING-BOTTOM: 8px; BORDER-LEFT: #dedede 1px solid; WIDTH: =
350px; PADDING-TOP: 8px; BORDER-BOTTOM: #dedede 1px solid
}
.TopNewsFlash .Image {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
5px; FLOAT: left; MAX-WIDTH: 100px; MARGIN-LEFT: 5px; BORDER-LEFT: #ccc =
1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.TopNewsFlash .Text {
	DISPLAY: block; FLOAT: left
}
.TopNewsFlash .Text .Headline {
	MARGIN-TOP: 0px; DISPLAY: block; FONT-WEIGHT: bold; MARGIN-LEFT: 10px
}
.TopNewsFlash .Text .Date {
	DISPLAY: block; MARGIN: 0px 0px 0px 10px; FONT-STYLE: italic
}
.TopNewsFlash .Text .Summary {
	MARGIN-LEFT: 10px
}
.TopNewsFlash A {
=09
}
.TopNewsFlash A:hover {
=09
}
.TopNews {
	BORDER-RIGHT: #dedede 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#dedede 1px solid; MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 8px; =
FLOAT: left; PADDING-BOTTOM: 8px; BORDER-LEFT: #dedede 1px solid; WIDTH: =
350px; PADDING-TOP: 8px; BORDER-BOTTOM: #dedede 1px solid
}
.TopNews .Image {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
5px; FLOAT: left; MAX-WIDTH: 100px; MARGIN-LEFT: 5px; BORDER-LEFT: #ccc =
1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.TopNews .Text {
	DISPLAY: block; FLOAT: left
}
.TopNews .Text .Headline {
	MARGIN-TOP: 0px; DISPLAY: block; FONT-WEIGHT: bold; MARGIN-LEFT: 10px
}
.TopNews .Text .Date {
	DISPLAY: block; MARGIN: 0px 0px 0px 10px; FONT-STYLE: italic
}
.TopNews .Text .Summary {
	MARGIN-LEFT: 10px
}
.TopNews A {
=09
}
.TopNews A:hover {
=09
}
.NewsFlash {
	BORDER-RIGHT: #dedede 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#dedede 1px solid; MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 8px; =
FLOAT: left; PADDING-BOTTOM: 8px; BORDER-LEFT: #dedede 1px solid; WIDTH: =
350px; PADDING-TOP: 8px; BORDER-BOTTOM: #dedede 1px solid
}
.NewsFlash .Image {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
5px; FLOAT: left; MAX-WIDTH: 100px; MARGIN-LEFT: 5px; BORDER-LEFT: #ccc =
1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.NewsFlash .Text {
	DISPLAY: block; FLOAT: left
}
.NewsFlash .Text .Headline {
	MARGIN-TOP: 0px; DISPLAY: block; FONT-WEIGHT: bold; MARGIN-LEFT: 10px
}
.NewsFlash .Text .Date {
	DISPLAY: block; MARGIN: 0px 0px 0px 10px; FONT-STYLE: italic
}
.NewsFlash .Text .Summary {
	MARGIN-LEFT: 10px
}
.NewsFlash A {
=09
}
.NewsFlash A:hover {
=09
}
.News {
	BORDER-RIGHT: #dedede 1px solid; PADDING-RIGHT: 8px; BORDER-TOP: =
#dedede 1px solid; MARGIN-TOP: 10px; DISPLAY: block; PADDING-LEFT: 8px; =
FLOAT: left; PADDING-BOTTOM: 8px; BORDER-LEFT: #dedede 1px solid; WIDTH: =
350px; PADDING-TOP: 8px; BORDER-BOTTOM: #dedede 1px solid
}
.News .Image {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; MARGIN-TOP: =
5px; FLOAT: left; MAX-WIDTH: 100px; MARGIN-LEFT: 5px; BORDER-LEFT: #ccc =
1px solid; BORDER-BOTTOM: #ccc 1px solid
}
.News .Text {
	DISPLAY: block; FLOAT: left
}
.News .Text .Headline {
	DISPLAY: block; FONT-WEIGHT: bold; MARGIN-LEFT: 10px
}
.News .Text .Date {
	DISPLAY: block; MARGIN: 0px 0px 0px 10px; FONT-STYLE: italic
}
.News .Text .Summary {
	MARGIN: 0px 0px 0px 10px
}
.News A {
=09
}
.News A:hover {
=09
}
.news-imagebox {
	CLEAR: right; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; =
PADDING-BOTTOM: 5px; MARGIN: 0px 5px 5px 0px; PADDING-TOP: 5px; =
BACKGROUND-COLOR: #efefef
}
.news-imagebox IMG {
	BORDER-RIGHT: #fff 2px solid; BORDER-TOP: #fff 2px solid; BORDER-LEFT: =
#fff 2px solid; BORDER-BOTTOM: #fff 2px solid
}
.TopArticle {
	BACKGROUND: url(images/news/toparticle_bac.gif) repeat-x 50% top; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 5px
}
.TopArticle .topleft {
	BACKGROUND-REPEAT: no-repeat; HEIGHT: 5px
}
.TopArticle .topright {
	BACKGROUND-REPEAT: no-repeat; HEIGHT: 5px
}
.TopArticle .bottomleft {
	BACKGROUND-REPEAT: no-repeat; HEIGHT: 5px
}
.TopArticle .bottomright {
	BACKGROUND-REPEAT: no-repeat; HEIGHT: 5px
}
.TopArticle .topleft {
=09
}
.TopArticle .bottomleft {
=09
}
.TopArticle .topright {
=09
}
.TopArticle .bottomright {
=09
}
.TopArticle .topright {
	BACKGROUND-POSITION: 100% 0px; DISPLAY: none
}
.TopArticle .bottomleft {
	BACKGROUND-POSITION: 0px -10px; HEIGHT: 5px
}
.TopArticle .bottomright {
	BACKGROUND-POSITION: 100% -10px; DISPLAY: none
}
.TopArticle .Holder {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: =
100%; PADDING-TOP: 5px
}
.TopArticle .Holder SPAN {
	FONT-SIZE: 110%; COLOR: #000; FONT-FAMILY: Georgia, "Times New Roman", =
Times, serif
}
.TopArticle .inner {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #fff; MARGIN-LEFT: =
5px; MARGIN-RIGHT: 5px; TEXT-ALIGN: left
}
.TopArticle .contentleft {
	BACKGROUND: url(images/news/2.gif) repeat-y
}
.TopArticle .contentright {
	BACKGROUND: url(images/news/2.gif) repeat-y
}
.TopArticle .contentright {
	BACKGROUND-POSITION: 100% 0px
}
.TopArticle A {
	TEXT-DECORATION: none
}
.TopArticle A:hover {
	TEXT-DECORATION: underline
}
.TopArticle A:active {
	TEXT-DECORATION: underline
}
.TopArticle .Title {
	CLEAR: right; COLOR: #000; TEXT-DECORATION: none
}
.TopArticle .Image {
	FLOAT: left; MARGIN: 5px 8px 0px 0px; BORDER-TOP-STYLE: none! =
important; BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! =
important; BORDER-BOTTOM-STYLE: none! important
}
.TopArticle .Image IMG {
	FLOAT: left; MARGIN: 5px 8px 0px 0px; BORDER-TOP-STYLE: none! =
important; BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! =
important; BORDER-BOTTOM-STYLE: none! important
}
.TopArticle IMG {
	FLOAT: left; MARGIN: 0px
}
.TopArticle .Flash {
	CLEAR: left; DISPLAY: block
}
.TopArticle .Body {
	PADDING-RIGHT: 10px; DISPLAY: block; PADDING-LEFT: 8px; PADDING-BOTTOM: =
10px; PADDING-TOP: 8px
}
.TopArticle .Body A:hover {
	TEXT-DECORATION: underline
}
.TopArticle .More {
	FONT-WEIGHT: bold; MARGIN-LEFT: 8px; TEXT-ALIGN: right; =
TEXT-DECORATION: none
}
.TopArticle .Date {
	CLEAR: both; DISPLAY: block; FONT-WEIGHT: normal; FONT-SIZE: 80%! =
important; MARGIN-LEFT: 8px; COLOR: #000! important; FONT-FAMILY: Arial, =
Helvetica, sans-serif! important; TEXT-ALIGN: right
}
.SubArticles {
	CLEAR: both; PADDING-RIGHT: 0px; MARGIN-TOP: 10px; PADDING-LEFT: 0px; =
FLOAT: left; PADDING-BOTTOM: 0px; WIDTH: 100%; PADDING-TOP: 0px
}
.SubArticle {
	BACKGROUND: url(images/news/toparticle_bac.gif) #dedede repeat-x 50% =
top; FLOAT: left; MARGIN: 5px 5px 3px 0px; WIDTH: 24%
}
.SubArticle P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.SubArticles SPAN {
	FONT-SIZE: 150%; COLOR: #000; FONT-FAMILY: Georgia, "Times New Roman", =
Times, serif
}
.SubArticle .topleft {
	BACKGROUND-IMAGE: url(images/news/1.png); BACKGROUND-REPEAT: no-repeat; =
HEIGHT: 5px
}
.SubArticle .topright {
	BACKGROUND-IMAGE: url(images/news/1.png); BACKGROUND-REPEAT: no-repeat; =
HEIGHT: 5px
}
.SubArticle .bottomleft {
	BACKGROUND-IMAGE: url(images/news/1.png); BACKGROUND-REPEAT: no-repeat; =
HEIGHT: 5px
}
.SubArticle .bottomright {
	BACKGROUND-IMAGE: url(images/news/1.png); BACKGROUND-REPEAT: no-repeat; =
HEIGHT: 5px
}
.SubArticle .topleft {
	HEIGHT: 5px
}
.SubArticle .bottomleft {
	HEIGHT: 5px
}
.SubArticle .topright {
	DISPLAY: none
}
.SubArticle .bottomright {
	DISPLAY: none
}
.SubArticle .topright {
	BACKGROUND-POSITION: 100% 0px; DISPLAY: none
}
.SubArticle .bottomleft {
=09
}
.SubArticle .bottomright {
=09
}
.SubArticle .Holder {
	MIN-HEIGHT: 120px; MARGIN: 0px
}
.SubArticle .Holder IMG {
	FLOAT: left
}
.SubArticle .inner {
	PADDING-RIGHT: 3px; PADDING-LEFT: 3px; MIN-HEIGHT: 170px; BACKGROUND: =
#fff; PADDING-BOTTOM: 3px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 5px; =
PADDING-TOP: 3px; TEXT-ALIGN: left
}
* HTML .SubArticle .inner {
	HEIGHT: 15em
}
.SubArticle .contentleft {
	BACKGROUND-IMAGE: url(images/news/2.png); BACKGROUND-REPEAT: repeat-y
}
.SubArticle .contentright {
	BACKGROUND-IMAGE: url(images/news/2.png); BACKGROUND-REPEAT: repeat-y
}
.SubArticle .contentright {
	BACKGROUND-POSITION: 100% 0px
}
.SubArticle A {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px; TEXT-DECORATION: none! important
}
.SubArticle A:hover {
	TEXT-DECORATION: underline! important
}
.SubArticle A:active {
	TEXT-DECORATION: underline! important
}
.SubArticle .Title {
	CLEAR: both; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
.SubArticle .Image {
	DISPLAY: block; FLOAT: left; BORDER-TOP-STYLE: none! important; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}
.SubArticle .Image IMG {
	DISPLAY: block; FLOAT: left; BORDER-TOP-STYLE: none! important; =
BORDER-RIGHT-STYLE: none! important; BORDER-LEFT-STYLE: none! important; =
BORDER-BOTTOM-STYLE: none! important
}
.SubArticle .Flash {
	CLEAR: left; DISPLAY: block
}
.SubArticle .Body {
	WIDTH: auto
}
.SubArticle .Body A {
	DISPLAY: block; FLOAT: none
}
.SubArticle .More {
	FONT-WEIGHT: bold; MARGIN-LEFT: 8px; TEXT-ALIGN: right; =
TEXT-DECORATION: none
}
.SubArticle .Date {
	CLEAR: both; PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; =
FONT-WEIGHT: normal; FONT-SIZE: 90%! important; PADDING-BOTTOM: 3px; =
COLOR: #000! important; PADDING-TOP: 3px; FONT-FAMILY: Arial, Helvetica, =
sans-serif! important; TEXT-ALIGN: left
}
.ArticleList {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
10px; MARGIN: 5px 0px; PADDING-TOP: 10px
}
.ArticleList SPAN {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 10px; =
PADDING-TOP: 0px
}
.ArticleList UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
10px 0px 0px 10px; PADDING-TOP: 0px
}
.ArticleList UL LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 15px; BACKGROUND: =
url(images/template/bullet.gif) no-repeat 0px 5px; PADDING-BOTTOM: 0px; =
MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.ArticleList UL LI A {
	TEXT-DECORATION: none
}
.ArticleList UL LI A:hover {
	TEXT-DECORATION: underline
}
.StandardNewsList {
	PADDING-RIGHT: 4px; DISPLAY: block; PADDING-LEFT: 4px; MARGIN-BOTTOM: =
4px; PADDING-BOTTOM: 4px; WIDTH: 500px; PADDING-TOP: 4px; BORDER-BOTTOM: =
#dedede 1px solid
}
.StandardNewsList-Title {
=09
}
.StandardNewsList-Summary {
=09
}
.StandardNewsList-Date {
	FONT-SIZE: 80%; COLOR: #000
}
.StandardNewsList-Flash {
	FONT-WEIGHT: bold
}
.Box-EventsDiary {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-EventsDiary .Banner {
	FONT-SIZE: 120%; WIDTH: 100%; HEIGHT: 35px
}
.Box-EventsDiary .Banner .Left {
	FLOAT: left; WIDTH: auto; HEIGHT: 35px; TEXT-ALIGN: left
}
.Box-EventsDiary .Banner .Title {
	PADDING-LEFT: 10px; FONT-WEIGHT: bold; FLOAT: left; COLOR: #668504; =
LINE-HEIGHT: 32px
}
.Box-EventsDiary .Banner .Right {
	FLOAT: right; WIDTH: 6px; HEIGHT: 35px; TEXT-ALIGN: left
}
.Box-EventsDiary .Footer {
	DISPLAY: block; BACKGROUND: #fff; FLOAT: left; MARGIN: 0px 3px 3px; =
WIDTH: 143px; BORDER-BOTTOM: #dedede 3px solid; TEXT-ALIGN: center
}
.Box-EventsDiary .Footer .Left {
	DISPLAY: none
}
.Box-EventsDiary .Footer .Right {
	DISPLAY: none
}
.Box-EventsDiary .Body {
	LINE-HEIGHT: 1.4em
}
.Box-EventsDiary .Body .Left {
	FLOAT: left; HEIGHT: auto; TEXT-ALIGN: left
}
.Box-EventsDiary .Body .Content {
	PADDING-RIGHT: 4px; BORDER-TOP: #fff 1px solid; DISPLAY: inline; =
PADDING-LEFT: 4px; BACKGROUND: #fff; FLOAT: left; PADDING-BOTTOM: 4px; =
MARGIN: 0px 3px; WIDTH: 135px; PADDING-TOP: 4px; HEIGHT: auto; =
TEXT-ALIGN: left
}
.Box-EventsDiary .Body .Content .Text {
	FLOAT: left
}
.Box-EventsDiary .Body .Content A {
	FLOAT: left
}
.Box-EventsDiary .Body .Content IMG {
=09
}
.Box-EventsDiary .Body .Content .Calender {
	MARGIN-TOP: 6px; BACKGROUND: none transparent scroll repeat 0% 0%; =
BORDER-TOP-STYLE: none! important; BORDER-RIGHT-STYLE: none! important; =
BORDER-LEFT-STYLE: none! important; HEIGHT: 145px; TEXT-ALIGN: center; =
BORDER-BOTTOM-STYLE: none! important
}
.Box-EventsDiary .Body .Content .Calender TD {
	BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; BORDER-LEFT: =
#fff 1px solid; BORDER-BOTTOM: #fff 1px solid
}
.Box-EventsDiary .Body .Content .Calender TH {
	BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; BORDER-LEFT: =
#fff 1px solid; BORDER-BOTTOM: #fff 1px solid
}
.Box-EventsDiary .Body .Content .Calender .Title {
	FONT-WEIGHT: bold; BACKGROUND-COLOR: #fff
}
.Box-EventsDiary .Body .Content .Calender .DayHeader {
	BACKGROUND: #595959; COLOR: #fff
}
Box-EventsDiary .Body .Content .Calender .DayHeader .Box-EventsDiary =
.Body .Content .Calender .SelectedDay {
	BACKGROUND: #fff; COLOR: #668504
}
.Box-EventsDiary .Body .Content .Calender .SelectedDay A {
	FONT-WEIGHT: bold! important; BACKGROUND: #668504; COLOR: #fff
}
.Box-EventsDiary .Body .Content .Calender .SelectedDay A:hover {
	TEXT-DECORATION: underline! important
}
.Box-EventsDiary .Body .Content .Calender .EventDay {
	BACKGROUND: #ccc
}
.Box-EventsDiary .Body .Content .Calender .WeekDay {
	BACKGROUND: #e5e5e5; COLOR: #668504! important
}
.Box-EventsDiary .Body .Content .Calender .WeekDay A {
	COLOR: #668504! important
}
.Box-EventsDiary .Body .Content .Calender .WeekEnd {
	BACKGROUND: #e5e5e5; COLOR: #668504! important
}
.Box-EventsDiary .Body .Content .Calender .WeekEnd A {
	COLOR: #668504! important
}
.Box-EventsDiary .Body .Content .Calender .WeekEnd A:hover {
=09
}
.Box-EventsDiary .Body .Content .Calender .Today {
	BACKGROUND: #fff
}
.Box-EventsDiary .Body .Content .Calender .OtherDaysofMonth {
	BACKGROUND: #f8f8f8; COLOR: #333
}
.Box-EventsDiary .Body .Content .Calender .OtherDaysofMonth A {
	COLOR: #999! important
}
.Box-EventsDiary .Body .Content .Calender .OtherDaysofMonth A:hover {
	TEXT-DECORATION: underline
}
.Box-EventsDiary .Body .Content .Calender TD A {
	WIDTH: 18px
}
.Box-EventsDiary .Body .Content .Calender TD A:hover {
	COLOR: #fff! important; BACKGROUND-COLOR: #668504; TEXT-DECORATION: =
underline
}
.Box-EventsDiary .Body .Content DIV {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/button_bac.gif) repeat-x; BORDER-LEFT: =
#cfcfcf 1px solid; BORDER-BOTTOM: #cfcfcf 1px solid; HEIGHT: 15px; =
TEXT-DECORATION: none
}
.Box-EventsDiary A.CommandBtn {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; WIDTH: 105px; PADDING-TOP: =
4px; HEIGHT: 18px; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:link {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; WIDTH: 105px; PADDING-TOP: =
4px; HEIGHT: 18px; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:active {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; WIDTH: 105px; PADDING-TOP: =
4px; HEIGHT: 18px; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.News-Form A.CommandBtn:visited {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: right; =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px 0px 6px; WIDTH: 105px; PADDING-TOP: =
4px; HEIGHT: 18px; TEXT-ALIGN: center; TEXT-DECORATION: none
}
.Box-EventsDiary A.CommandBtn:hover {
	BACKGROUND-POSITION: 0px -22px; COLOR: #333333; TEXT-DECORATION: none
}
.Box-EventsDiary A.CommandBtnSlim {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; VERTICAL-ALIGN: middle; WIDTH: 60px; COLOR: #668504; PADDING-TOP: =
0px; HEIGHT: 16px; TEXT-ALIGN: center
}
.News-Form A.CommandBtnSlim:link {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; VERTICAL-ALIGN: middle; WIDTH: 60px; COLOR: #668504; PADDING-TOP: =
0px; HEIGHT: 16px; TEXT-ALIGN: center
}
.News-Form A.CommandBtnSlim:active {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; VERTICAL-ALIGN: middle; WIDTH: 60px; COLOR: #668504; PADDING-TOP: =
0px; HEIGHT: 16px; TEXT-ALIGN: center
}
.News-Form A.CommandBtnSlim:visited {
	PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; PADDING-BOTTOM: =
0px; VERTICAL-ALIGN: middle; WIDTH: 60px; COLOR: #668504; PADDING-TOP: =
0px; HEIGHT: 16px; TEXT-ALIGN: center
}
.Box-EventsDiary A.CommandBtnSlim:hover {
	BACKGROUND-POSITION: 0px 0px
}
.Box-EventsDiary .Body .Right {
	FLOAT: right
}
.Box-EventsSearch {
	BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #cfcfcf 1px solid; =
BACKGROUND: url(images/template/RHS_col/rhs_box_background.gif) #dedede =
repeat-x; FLOAT: left; MARGIN-BOTTOM: 3px; BORDER-LEFT: #cfcfcf 1px =
solid; WIDTH: 100%; BORDER-BOTTOM: #cfcfcf 1px solid
}
.Box-EventsSearch .Banner {
	FONT-SIZE: 120%; WIDTH: 100%; HEIGHT: 35px
}
.Box-EventsSearch .Banner .Left {
	BACKGROUND: url(images/appbanner_chamleft.gif) no-repeat left top; =
FLOAT: left; WIDTH: auto; HEIGHT: 35px; TEXT-ALIGN: left
}
.Box-EventsSearch .Banner .Title {
	PADDING-LEFT: 10px; FONT-WEIGHT: bold; FLOAT: left; COLOR: #668504; =
LINE-HEIGHT: 32px
}
.Box-EventsSearch .Banner .Right {
	FLOAT: right; WIDTH: 6px; HEIGHT: 35px; TEXT-ALIGN: left
}
.Box-EventsSearch .Footer {
	DISPLAY: block; BACKGROUND: #fff; FLOAT: left; MARGIN: 0px 3px 3px; =
WIDTH: 143px; BORDER-BOTTOM: #dedede 3px solid; TEXT-ALIGN: center
}
.Box-EventsSearch .Footer .Left {
	FLOAT: left; WIDTH: 6px; HEIGHT: 13px; TEXT-ALIGN: left
}
.Box-EventsSearch .Footer .Right {
	FLOAT: right; WIDTH: 6px; HEIGHT: 13px; TEXT-ALIGN: left
}
.Box-EventsSearch .Body {
	FONT-SIZE: 0.9em; LINE-HEIGHT: 1.4em
}
.Box-EventsSearch .Body .Left {
	FLOAT: left; HEIGHT: auto; TEXT-ALIGN: left
}
.Box-EventsSearch .Body .Content {
	PADDING-RIGHT: 4px; BORDER-TOP: #fff 1px solid; DISPLAY: inline; =
PADDING-LEFT: 4px; BACKGROUND: #fff; FLOAT: left; PADDING-BOTTOM: 4px; =
MARGIN: 0px 3px; WIDTH: 135px; PADDING-TOP: 4px; HEIGHT: auto; =
TEXT-ALIGN: left
}
.Box-EventsSearch .Body .Content .Text {
	FLOAT: left
}
.Box-EventsSearch .Body .Content INPUT {
=09
}
.Box-EventsSearch .Body .Content SELECT {
=09
}
.Box-EventsSearch .Body .Right {
	FLOAT: right
}
.EventSearchButton {
	MARGIN: 5px 0px 0px
}
.EventList {
	PADDING-RIGHT: 5px; DISPLAY: block; PADDING-LEFT: 5px; BACKGROUND: =
url(images/news/toparticle_bac.gif) repeat-x 50% top; PADDING-BOTTOM: =
5px; WIDTH: 100%; PADDING-TOP: 5px
}
.GridView {
=09
}
.EventList TABLE {
	WIDTH: 100%
}
.EventList TABLE TBODY {
	MARGIN: 5px
}
.EventList TABLE TBODY TD {
	BACKGROUND: #fff; BORDER-BOTTOM: #dedede 1px solid
}
.EventList .Event {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
.EventList .Event .Image {
	FLOAT: left; MARGIN-BOTTOM: 10px; MAX-WIDTH: 100px; MARGIN-RIGHT: 6px
}
.EventList .Event .Text {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; =
PADDING-BOTTOM: 5px; PADDING-TOP: 0px
}
.EventList .Event .Text .Title {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-SIZE: 130%; =
PADDING-BOTTOM: 10px; PADDING-TOP: 0px
}
.EventList .Event .Text .FieldLabel {
	DISPLAY: block; FONT-WEIGHT: bold; FLOAT: left; MARGIN-LEFT: 5px; =
COLOR: #668504
}
.EventList .Event .Text .Field {
	DISPLAY: block; FLOAT: left; WIDTH: 120px
}
.Event {
	PADDING-RIGHT: 8px; DISPLAY: block; PADDING-LEFT: 8px; PADDING-BOTTOM: =
8px; MARGIN: 10px 0px; WIDTH: 100%; PADDING-TOP: 8px
}
.Event .Image {
=09
}
.Event .Text {
=09
}
.Event .Title {
=09
}
.Event A {
=09
}
.Event A:hover {
=09
}
.Event .FieldLabel {
	DISPLAY: block; FONT-WEIGHT: bold; FLOAT: left
}
.Event .Field {
	DISPLAY: block; FLOAT: left
}
.post {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: =
4px; MARGIN: 0px 0px 10px; WIDTH: 500px; PADDING-TOP: 4px
}
.postfoot {
	FONT-SIZE: 80%; COLOR: #000
}
.postsummary {
	DISPLAY: block
}
.postsummary A {
	MARGIN: 0px 0px 5px
}
.postsummary .title {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 10px; PADDING-TOP: 5px
}
.postsummary .date {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 10px; PADDING-TOP: 5px
}
.postsummary .date {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
TEXT-TRANSFORM: uppercase; PADDING-TOP: 0px
}
.postseparator {
	BACKGROUND: #dedede; HEIGHT: 1px
}
.postsummary IMG {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: =
10px; PADDING-TOP: 10px
}
.postcomment {
	PADDING-RIGHT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 80%; FLOAT: right; =
TEXT-TRANSFORM: uppercase; WIDTH: 80px
}
.postthanks {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 4px; FONT-WEIGHT: bold; PADDING-BOTTOM: 4px; =
BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 4px; BORDER-BOTTOM: #ccc 1px =
solid
}
.TagCollection {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 90%; PADDING-BOTTOM: =
0px; MARGIN: 0px; LINE-HEIGHT: 200%; PADDING-TOP: 0px; LIST-STYLE-TYPE: =
none
}
.TagCollection UL {
	DISPLAY: block
}
.TagCollection LI {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: center
}
.Tag1 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left! important
}
.Tag1 A {
	FONT-WEIGHT: 900; FONT-SIZE: 160%; MARGIN: 0px 0.2em; WHITE-SPACE: =
nowrap; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Tag2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left! important
}
.Tag2 A {
	FONT-WEIGHT: 800; FONT-SIZE: 145%; MARGIN: 0px 0.2em; WHITE-SPACE: =
nowrap; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Tag3 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left! important
}
.Tag3 A {
	FONT-WEIGHT: 600; FONT-SIZE: 130%; MARGIN: 0px 0.2em; WHITE-SPACE: =
nowrap; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Tag4 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left! important
}
.Tag4 A {
	FONT-WEIGHT: 500; FONT-SIZE: 120%; MARGIN: 0px 0.2em; WHITE-SPACE: =
nowrap; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Tag5 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; TEXT-ALIGN: left! important
}
.Tag5 A {
	FONT-WEIGHT: 300; FONT-SIZE: 110%; MARGIN: 0px 0.2em; WHITE-SPACE: =
nowrap; TEXT-ALIGN: left; TEXT-DECORATION: none
}
.Tag1 A:hover {
	TEXT-DECORATION: underline! important
}
.Tag2 A:hover {
	TEXT-DECORATION: underline! important
}
.Tag3 A:hover {
	TEXT-DECORATION: underline! important
}
.Tag4 A:hover {
	TEXT-DECORATION: underline! important
}
.Tag5 A:hover {
	TEXT-DECORATION: underline! important
}

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/App_Themes/04/5_banner.css

#bannerImage {
	CLEAR: both; DISPLAY: block; MARGIN: 0px; WIDTH: 756px; HEIGHT: 206px
}
.flashholder {
	CLEAR: both; DISPLAY: block; MARGIN: 0px; WIDTH: 756px; HEIGHT: 206px
}
#footerBannerImage {
	CLEAR: both; DISPLAY: block; BACKGROUND: =
url(images/template/footer/footer_banner.gif) no-repeat 50% top; MARGIN: =
0px auto; WIDTH: 756px; HEIGHT: 67px
}
#footerBannerImage A {
	DISPLAY: block; WIDTH: 100%; HEIGHT: 67px
}
.flashholder {
	BACKGROUND: url(images/template/pagebanner/flashimage.jpg) no-repeat; =
WIDTH: 756px; HEIGHT: 208px
}

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/Scripts/stats.js

=EF=BB=BF// JScript File

function GetUserResolution(el_stats){
//alert(window.screen.availHeight +',' +window.screen.availWidth);
     el_stats.innerText =3D window.screen.availHeight +',' =
+window.screen.availWidth;
}


------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/Scripts/Panel.js

=EF=BB=BF// JScript File

function stripCharacters(str, obj) {
     document.getElementById(obj).value =3D =
filterNum(document.getElementById(str).value)

     document.getElementById(obj).value =3D =
document.getElementById(obj).value.replace( /[ ]/g, '_');
     function filterNum(str) {
          re =3D =
/\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=3D|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|=
\<|\>|\?|\||\\|\!|\=C2=A3|\=C2=AC|\/|\$|\./g;
          // remove special characters like "$" and "," etc...
	=09
		  str =3D str.substring(0,20);

          return  str.replace(re, "_");
     }
}

function stripCharactersReplaceWithSpace(str, obj) {
     document.getElementById(obj).value =3D =
filterNum(document.getElementById(str).value)

     document.getElementById(obj).value =3D =
document.getElementById(obj).value.replace( /[ ]/g, ' ');
     function filterNum(str) {
          re =3D =
/\$|,|@|#|~|`|\%|\*|\^|\&|\(|\)|\+|\=3D|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|=
\<|\>|\?|\||\\|\!|\=C2=A3|\=C2=AC|\/|\$|\./g;
          // remove special characters like "$" and "," etc...
	=09
		  str =3D str.substring(0,20);

          return  str.replace(re, " ");
     }
}

// toggle a panel to show or hide on a web form
function ToggleDisplay(ID)
{
    var elem =3D document.getElementById(ID);
    =20
    if (elem !=3D null)
    {
        if (elem.style.display !=3D 'block')
        {
            elem.style.display =3D 'block';
            elem.style.visibility =3D 'visible';
        }
        else
        {
            elem.style.display =3D 'none'
            elem.style.visibility =3D 'hidden';
        }
    }
}

// toggle calendar displays show/hide
function ToggleCalendarDisplays(ID1, ID2, ID3)
{
    var elem1 =3D document.getElementById(ID1);
    =20
    if (elem1 !=3D null)
    {
        if (elem1.style.display !=3D 'block')
        {
            elem1.style.display =3D 'block';
            elem1.style.visibility =3D 'visible';
        }
        else
        {
            elem1.style.display =3D 'none'
            elem1.style.visibility =3D 'hidden';
        }
    }

    var elem2 =3D document.getElementById(ID2);
    =20
    if (elem2 !=3D null)
    {
        elem2.style.display =3D 'none'
        elem2.style.visibility =3D 'hidden';
    }   =20

    var elem3 =3D document.getElementById(ID3);
    =20
    if (elem3 !=3D null)
    {
        elem3.style.display =3D 'none'
        elem3.style.visibility =3D 'hidden';
    }=20
}

// toggle a panel to show or hide on a web form
function ToggleDisplayInline(ID)
{
    var elem =3D document.getElementById(ID);
    =20
    if (elem)
    {
        if (elem.style.display !=3D 'block')
        {
            elem.style.display =3D 'inline';
            elem.style.visibility =3D 'visible';
        }
        else
        {
            elem.style.display =3D 'none'
            elem.style.visibility =3D 'hidden';
        }
    }
}

function collapseAll(treeViewId)
    {
         var treeView =3D document.getElementById(treeViewId);
         var treeLinks =3D treeView.getElementsByTagName("a");
         var j =3D true;
         for(i=3D0;i<treeLinks.length;i++)
         {
              if(treeLinks[i].firstChild.tagName =3D=3D "IMG")
              {
                var node =3D treeLinks[i];
                var level =3D =
parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
                var childContainer =3D =
document.getElementById(treeLinks[i].id + "Nodes");
               =20
               if(j)
                {
                    if(childContainer.style.display =3D=3D "block")
                    TreeView_ToggleNode(eval(treeViewId =
+"_Data"),level,node,'r',childContainer);
                    j =3D false;
                }
                else
                {
                    if(childContainer.style.display =3D=3D "block")
                    TreeView_ToggleNode(eval(treeViewId =
+"_Data"),level,node,'l',childContainer);
                }
              }
          }
   }    =20

             =20


function expandAll(treeViewId)
    {
         var treeView =3D document.getElementById(treeViewId);
         var treeLinks =3D treeView.getElementsByTagName("a");
         var j =3D true;
         for(i=3D0;i<treeLinks.length;i++)
         {
              if(treeLinks[i].firstChild.tagName =3D=3D "IMG")
              {
                var node =3D treeLinks[i];
                var level =3D =
parseInt(treeLinks[i].id.substr(treeLinks[i].id.length - 1),10);
                var childContainer =3D =
document.getElementById(treeLinks[i].id + "Nodes");
               =20
               if(j)
                {
                    if(childContainer.style.display =3D=3D "none")
                    TreeView_ToggleNode(eval(treeViewId =
+"_Data"),level,node,'r',childContainer);
                    j =3D false;
                }
                else
                {
                    if(childContainer.style.display =3D=3D "none")
                    TreeView_ToggleNode(eval(treeViewId =
+"_Data"),level,node,'l',childContainer);
                }
              }
          }
   }              =20

//function expandAll()
//{
//    var myPanelBar =3D <%=3D tvPages.ClientID %>;
//    var i;
//    for (i=3D0; i < myPanelBar.PanelItems.length; i++)
//    {
//        myPanelBar.PanelItems[i].Expand();
//    }
//}
//function collapseAll()
//{
//    var myPanelBar =3D <%=3D tvPages.ClientID %>;
//    var i;
//    for (i=3D0; i < myPanelBar.PanelItems.length; i++)
//    {
//        myPanelBar.PanelItems[i].Collapse();
//    }
//}

//TreeView_ToggleNode(ctl00_MainContent_TreeView1_Da =
ta,0,ctl00_MainContent_TreeView1n0,'-',ctl00_MainContent_TreeView1n0Nodes=
);




------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/WebResource.axd?d=oY1rU9QItRr_sZfjkptmJA2&t=633441225737656250

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, =
validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget =3D eventTarget;
    this.eventArgument =3D eventArgument;
    this.validation =3D validation;
    this.validationGroup =3D validationGroup;
    this.actionUrl =3D actionUrl;
    this.trackFocus =3D trackFocus;
    this.clientSubmit =3D clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
    var validationResult =3D true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) =3D=3D 'function') {
            validationResult =3D =
Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) !=3D "undefined") && =
(options.actionUrl !=3D null) && (options.actionUrl.length > 0)) {
            theForm.action =3D options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus =3D theForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D =
null)) {
                if (typeof(document.activeElement) =3D=3D "undefined") {
                    lastFocus.value =3D options.eventTarget;
                }
                else {
                    var active =3D document.activeElement;
                    if ((typeof(active) !=3D "undefined") && (active =
!=3D null)) {
                        if ((typeof(active.id) !=3D "undefined") && =
(active.id !=3D null) && (active.id.length > 0)) {
                            lastFocus.value =3D active.id;
                        }
                        else if (typeof(active.name) !=3D "undefined") {
                            lastFocus.value =3D active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}
var __pendingCallbacks =3D new Array();
var __synchronousCallBackIndex =3D -1;
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, =
context, errorCallback, useAsync) {
    var postData =3D __theFormPostData +
                "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) =
+
                "&__CALLBACKPARAM=3D" + =
WebForm_EncodeCallback(eventArgument);
    if (theForm["__EVENTVALIDATION"]) {
        postData +=3D "&__EVENTVALIDATION=3D" + =
WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest =3D new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists =3D true;
    try {
        setRequestHeaderMethodExists =3D (xmlRequest && =
xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback =3D new Object();
    callback.eventCallback =3D eventCallback;
    callback.context =3D context;
    callback.errorCallback =3D errorCallback;
    callback.async =3D useAsync;
    var callbackIndex =3D =
WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
    if (!useAsync) {
        if (__synchronousCallBackIndex !=3D -1) {
            __pendingCallbacks[__synchronousCallBackIndex] =3D null;
        }
        __synchronousCallBackIndex =3D callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange =3D WebForm_CallbackComplete;
        callback.xmlRequest =3D xmlRequest;
        xmlRequest.open("POST", theForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded");
        xmlRequest.send(postData);
        return;
    }
    callback.xmlRequest =3D new Object();
    var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame =3D document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame =3D document.createElement("IFRAME");
        xmlRequestFrame.width =3D "1";
        xmlRequestFrame.height =3D "1";
        xmlRequestFrame.frameBorder =3D "0";
        xmlRequestFrame.id =3D callbackFrameID;
        xmlRequestFrame.name =3D callbackFrameID;
        xmlRequestFrame.style.position =3D "absolute";
        xmlRequestFrame.style.top =3D "-100px"
        xmlRequestFrame.style.left =3D "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src =3D callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval =3D window.setInterval(function() {
        xmlRequestFrame =3D document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form =
method=3D"post"><input type=3D"hidden" name=3D"__CALLBACKLOADSCRIPT" =
value=3D"t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action =3D theForm.action;
            var count =3D __theFormPostCollection.length;
            var element;
            for (var i =3D 0; i < count; i++) {
                element =3D __theFormPostCollection[i];
                if (element) {
                    var fieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type =3D "hidden";
                    fieldElement.name =3D element.name;
                    fieldElement.value =3D element.value;
                    =
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type =3D "hidden";
            callbackIdFieldElement.name =3D "__CALLBACKID";
            callbackIdFieldElement.value =3D eventTarget;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type =3D "hidden";
            callbackParamFieldElement.name =3D "__CALLBACKPARAM";
            callbackParamFieldElement.value =3D eventArgument;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);=

            if (theForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type =3D "hidden";
                callbackValidationFieldElement.name =3D =
"__EVENTVALIDATION";
                callbackValidationFieldElement.value =3D =
theForm["__EVENTVALIDATION"].value;
                =
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem=
ent);
            }
            var callbackIndexFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type =3D "hidden";
            callbackIndexFieldElement.name =3D "__CALLBACKINDEX";
            callbackIndexFieldElement.value =3D callbackIndex;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);=

            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function WebForm_CallbackComplete() {
    for (i =3D 0; i < __pendingCallbacks.length; i++) {
        callbackObject =3D __pendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && =
(callbackObject.xmlRequest.readyState =3D=3D 4)) {
            WebForm_ExecuteCallback(callbackObject);
            if (!__pendingCallbacks[i].async) {
                __synchronousCallBackIndex =3D -1;
            }
            __pendingCallbacks[i] =3D null;
            var callbackFrameID =3D "__CALLBACKFRAME" + i;
            var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function WebForm_ExecuteCallback(callbackObject) {
    var response =3D callbackObject.xmlRequest.responseText;
    if (response.charAt(0) =3D=3D "s") {
        if ((typeof(callbackObject.eventCallback) !=3D "undefined") && =
(callbackObject.eventCallback !=3D null)) {
            callbackObject.eventCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else if (response.charAt(0) =3D=3D "e") {
        if ((typeof(callbackObject.errorCallback) !=3D "undefined") && =
(callbackObject.errorCallback !=3D null)) {
            callbackObject.errorCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else {
        var separatorIndex =3D response.indexOf("|");
        if (separatorIndex !=3D -1) {
            var validationFieldLength =3D parseInt(response.substring(0, =
separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField =3D =
response.substring(separatorIndex + 1, separatorIndex + =
validationFieldLength + 1);
                if (validationField !=3D "") {
                    var validationFieldElement =3D =
theForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement =3D =
document.createElement("INPUT");
                        validationFieldElement.type =3D "hidden";
                        validationFieldElement.name =3D =
"__EVENTVALIDATION";
                        theForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value =3D validationField;
                }
                if ((typeof(callbackObject.eventCallback) !=3D =
"undefined") && (callbackObject.eventCallback !=3D null)) {
                    =
callbackObject.eventCallback(response.substring(separatorIndex + =
validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}
function WebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i =3D 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] =3D element;
    return i;
}
var __nonMSDOMBrowser =3D =
(window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1);
var __theFormPostData =3D "";
var __theFormPostCollection =3D new Array();
function WebForm_InitCallback() {
    var count =3D theForm.elements.length;
    var element;
    for (var i =3D 0; i < count; i++) {
        element =3D theForm.elements[i];
        var tagName =3D element.tagName.toLowerCase();
        if (tagName =3D=3D "input") {
            var type =3D element.type;
            if ((type =3D=3D "text" || type =3D=3D "hidden" || type =
=3D=3D "password" ||
                ((type =3D=3D "checkbox" || type =3D=3D "radio") && =
element.checked)) &&
                (element.id !=3D "__EVENTVALIDATION")) {
                WebForm_InitCallbackAddField(element.name, =
element.value);
            }
        }
        else if (tagName =3D=3D "select") {
            var selectCount =3D element.options.length;
            for (var j =3D 0; j < selectCount; j++) {
                var selectChild =3D element.options[j];
                if (selectChild.selected =3D=3D true) {
                    WebForm_InitCallbackAddField(element.name, =
element.value);
                }
            }
        }
        else if (tagName =3D=3D "textarea") {
            WebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function WebForm_InitCallbackAddField(name, value) {
    var nameValue =3D new Object();
    nameValue.name =3D name;
    nameValue.value =3D value;
    __theFormPostCollection[__theFormPostCollection.length] =3D =
nameValue;
    __theFormPostData +=3D name + "=3D" + WebForm_EncodeCallback(value) =
+ "&";
}
function WebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray =3D new Array();
function WebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) =3D=3D 'undefined') {
        return false;
    }
    var disabledIndex =3D 0;
    for (var i =3D 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__nonMSDOMBrowser) {
            c =3D document.getElementById(__enabledControlArray[i]);
        }
        else {
            c =3D document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled =
=3D=3D true)) {
            c.disabled =3D false;
            __disabledControlArray[disabledIndex++] =3D c;
        }
    }
    setTimeout("WebForm_ReDisableControls()", 0);
    return true;
}
function WebForm_ReDisableControls() {
    for (var i =3D 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled =3D true;
    }
}
function WebForm_FireDefaultButton(event, target) {
        if (event.keyCode =3D=3D 13 && !(event.srcElement && =
(event.srcElement.tagName.toLowerCase() =3D=3D "textarea"))) {
        var defaultButton;
        if (__nonMSDOMBrowser) {
            defaultButton =3D document.getElementById(target);
        }
        else {
            defaultButton =3D document.all[target];
        }
        if (defaultButton && typeof(defaultButton.click) !=3D =
"undefined") {
            defaultButton.click();
            event.cancelBubble =3D true;
            if (event.stopPropagation) event.stopPropagation();
            return false;
        }
    }
    return true;
}
function WebForm_GetScrollX() {
    if (__nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function WebForm_GetScrollY() {
    if (__nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function WebForm_SaveScrollPositionSubmit() {
    if (__nonMSDOMBrowser) {
        theForm.elements['__SCROLLPOSITIONY'].value =3D =
window.pageYOffset;
        theForm.elements['__SCROLLPOSITIONX'].value =3D =
window.pageXOffset;
    }
    else {
        theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
        theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit =
!=3D null)) {
        return this.oldSubmit();
    }
    return true;
}
function WebForm_SaveScrollPositionOnSubmit() {
    theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
    theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit =
!=3D null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function WebForm_RestoreScrollPosition() {
    if (__nonMSDOMBrowser) {
        window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, =
theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theForm.__SCROLLPOSITIONX.value, =
theForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theForm.oldOnLoad) !=3D "undefined") && =
(theForm.oldOnLoad !=3D null)) {
        return theForm.oldOnLoad();
    }
    return true;
}
function WebForm_TextBoxKeyHandler(event) {
    if (event.keyCode =3D=3D 13) {
        var target;
        if (__nonMSDOMBrowser) {
            target =3D event.target;
        }
        else {
            target =3D event.srcElement;
        }
        if ((typeof(target) !=3D "undefined") && (target !=3D null)) {
            if (typeof(target.onchange) !=3D "undefined") {
                target.onchange();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_AppendToClassName(element, className) {
    var current =3D element.className;
    if (current) {
        if (current.charAt(current.length - 1) !=3D ' ') {
            current +=3D ' ';
        }
        current +=3D className;
    }
    else {
        current =3D className;
    }
    element.className =3D current;
}
function WebForm_RemoveClassName(element, className) {
    var current =3D element.className;
    if (current) {
        if (current.substring(current.length - className.length - 1, =
current.length) =3D=3D ' ' + className) {
            element.className =3D current.substring(0, current.length - =
className.length - 1);
            return;
        }
        if (current =3D=3D className) {
            element.className =3D "";
            return;
        }
        var index =3D current.indexOf(' ' + className + ' ');
        if (index !=3D -1) {
            element.className =3D current.substring(0, index) + =
current.substring(index + className.length + 2, current.length);
            return;
        }
        if (current.substring(0, className.length) =3D=3D className + ' =
') {
            element.className =3D current.substring(className.length + =
1, current.length);
        }
    }
}
function WebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function WebForm_GetElementByTagName(element, tagName) {
    var elements =3D WebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function WebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function WebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return WebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function WebForm_GetElementPosition(element) {
    var result =3D new Object();
    result.x =3D 0;
    result.y =3D 0;
    result.width =3D 0;
    result.height =3D 0;
    if (element.offsetParent) {
        result.x =3D element.offsetLeft;
        result.y =3D element.offsetTop;
        var parent =3D element.offsetParent;
        while (parent) {
            result.x +=3D parent.offsetLeft;
            result.y +=3D parent.offsetTop;
            var parentTagName =3D parent.tagName.toLowerCase();
            if (parentTagName !=3D "table" &&
                parentTagName !=3D "body" &&=20
                parentTagName !=3D "html" &&=20
                parentTagName !=3D "div" &&=20
                parent.clientTop &&=20
                parent.clientLeft) {
                result.x +=3D parent.clientLeft;
                result.y +=3D parent.clientTop;
            }
            parent =3D parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x =3D element.left;
        result.y =3D element.top;
    }
    else {
        if (element.x) {
            result.x =3D element.x;
        }
        if (element.y) {
            result.y =3D element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width =3D element.offsetWidth;
        result.height =3D element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && =
element.style.pixelHeight) {
        result.width =3D element.style.pixelWidth;
        result.height =3D element.style.pixelHeight;
    }
    return result;
}
function WebForm_GetParentByTagName(element, tagName) {
    var parent =3D element.parentNode;
    var upperTagName =3D tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) {
        parent =3D parent.parentNode ? parent.parentNode : =
parent.parentElement;
    }
    return parent;
}
function WebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height =3D height + "px";
    }
}
function WebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width =3D width + "px";
    }
}
function WebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left =3D x + "px";
    }
}
function WebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top =3D y + "px";
    }
}

------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/ScriptResource.axd?d=6VwuPCwYSKIa6nimHdWfAkAwhElmCYbDmiwSFG1H8etH80u0YF-EMi-YSOQlYQdMXJIgXgyqAtutEW4Mbl8wQuPhtO_F8r-fIObRGiMrCBM1&t=633449729323280000

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.


Function.__typeName =3D 'Function';
Function.__class =3D true;

Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;


       =20
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
                        var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}

Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;


       =20
    return function() {
        return method.apply(instance, arguments);
    }
}

Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}

Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
                                                                         =
                                                          =20
    var e;

    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }

    for (var i=3D0; i < params.length; i++) {
                                var expectedParam =3D =
expectedParams[Math.min(i, expectedParams.length - 1)];

        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
                        paramName +=3D "[" + (i - expectedParams.length =
+ 1) + "]";
        }

        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }


    return null;
}

Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }

    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }

    return null;
}

Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;

    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;

    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }

        var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }

    return null;
}

Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;

    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }

                    if (expectedDomElement && (param !=3D=3D window) && =
(param !=3D=3D document) &&
        !(window.HTMLElement && (param instanceof HTMLElement)) &&
        (typeof(param.nodeName) !=3D=3D 'string')) {

        e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
        e.popStackFrame();
        return e;
    }

        if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }

    if (expectedType =3D=3D=3D Number && expectedInteger) {
                        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }

    return null;
}
Error.__typeName =3D 'Error';
Error.__class =3D true;

Error.create =3D function Error$create(message, errorInfo) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


            var e =3D new Error(message);
    e.message =3D message;

    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }

    e.popStackFrame();
    return e;
}

Error.argument =3D function Error$argument(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

                if (typeof(actualValue) !=3D=3D "undefined" && =
actualValue !=3D=3D null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}

Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }

    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}

Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.format =3D function Error$format(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}

Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);

    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}

Error.notImplemented =3D function Error$notImplemented(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);

    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}

Error.parameterCount =3D function Error$parameterCount(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}

Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

                           =20
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }

    var stackFrames =3D this.stack.split("\n");

                var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }

    var nextFrame =3D stackFrames[1];

        if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =
=3D=3D=3D null) {
        return;
    }

        var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }

    this.fileName =3D nextFrameParts[1];

        this.lineNumber =3D parseInt(nextFrameParts[2]);

    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
if (!window) this.window =3D this;

window.Type =3D Function;

window.__rootNamespaces =3D [];
window.__registeredTypes =3D {};

Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");

Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}

Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }

    return null;
}

Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}

Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}

Type.prototype.getName =3D function Type$getName() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}

Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();

    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }

    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }

        baseType =3D baseType.__baseType;
    }

    return cache[interfaceName] =3D false;
}

Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }

    return false;
}

Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);

    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }

    return instance;
}

Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    if (instance instanceof this) return true;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));

            if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);

    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
        if (!window.__classes) window.__classes =3D {};
    window.__classes[typeName.toUpperCase()] =3D this;

                if (interfaceTypes) {
        this.__interfaces =3D [];
        for (var i =3D 2; i < arguments.length; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            this.resolveInheritance();
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;

        baseType.resolveInheritance();

        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}

Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(window.__rootNamespaces);
}

Type.isClass =3D function Type$isClass(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}

Type.isInterface =3D function Type$isInterface(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}

Type.isNamespace =3D function Type$isNamespace(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}

Type.parse =3D function Type$parse(typeName, ns) {
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var fn;
    if (ns) {
        if (!window.__classes) return null;
        fn =3D window.__classes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}

Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');

    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {};
            if (i =3D=3D=3D 0) {
                window.__rootNamespaces[window.__rootNamespaces.length] =
=3D ns;
            }
            ns.__namespace =3D true;
            ns.__typeName =3D namespaceParts.slice(0, i + 1).join('.');
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
Object.__typeName =3D 'Object';
Object.__class =3D true;

Object.getType =3D function Object$getType(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}

Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    return Object.getType(instance).getName();
}
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;

Boolean.parse =3D function Boolean$parse(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
Date.__typeName =3D 'Date';
Date.__class =3D true;

Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
                var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}

Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
        if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}

Date._expandYear =3D function Date$_expandYear(dtf, year) {
        if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}

Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
                if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }

        var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");

    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;

        while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;

                quoteCount +=3D Date._appendPreOrPostMatch(preMatch, =
regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }

                switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
        var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
        dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}

Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
        return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g;
}

Date.parseLocale =3D function Date$parseLocale(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}

Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}

Date._parse =3D function Date$_parse(value, cultureInfo, args) {
            var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
        if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}

Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
            value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;

            var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
        if (match !=3D=3D null) {
        var groups =3D parseInfo.groups;
        var year =3D null, month =3D null, date =3D null, weekDay =3D =
null;
        var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =
=3D null;
        var pmHour =3D false;
                for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
            var matchGroup =3D match[j+1];
            if (matchGroup) {
                switch (groups[j]) {
                    case 'dd': case 'd':
                                                date =3D =
Date._parseInt(matchGroup);
                                                if ((date < 1) || (date =
> 31)) return null;
                        break;
                    case 'MMMM':
                                                month =3D =
cultureInfo._getMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'MMM':
                                                month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'M': case 'MM':
                                                var month =3D =
Date._parseInt(matchGroup) - 1;
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'y': case 'yy':
                                                year =3D =
Date._expandYear(dtf,Date._parseInt(matchGroup));
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'yyyy':
                                                year =3D =
Date._parseInt(matchGroup);
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'h': case 'hh':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if (hour =3D=3D=3D 12) hour =3D 0;
                        if ((hour < 0) || (hour > 11)) return null;
                        break;
                    case 'H': case 'HH':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if ((hour < 0) || (hour > 23)) return null;
                        break;
                    case 'm': case 'mm':
                                                min =3D =
Date._parseInt(matchGroup);
                        if ((min < 0) || (min > 59)) return null;
                        break;
                    case 's': case 'ss':
                                                sec =3D =
Date._parseInt(matchGroup);
                        if ((sec < 0) || (sec > 59)) return null;
                        break;
                    case 'tt': case 't':
                                                var upperToken =3D =
matchGroup.toUpperCase();
                        pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                        if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                        break;
                    case 'f':
                                                msec =3D =
Date._parseInt(matchGroup) * 100;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'ff':
                                                msec =3D =
Date._parseInt(matchGroup) * 10;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'fff':
                                                msec =3D =
Date._parseInt(matchGroup);
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'dddd':
                                                weekDay =3D =
cultureInfo._getDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'ddd':
                                                weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'zzz':
                                                var offsets =3D =
matchGroup.split(/:/);
                        if (offsets.length !=3D=3D 2) return null;
                        var hourOffset =3D Date._parseInt(offsets[0]);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        var minOffset =3D Date._parseInt(offsets[1]);
                        if ((minOffset < 0) || (minOffset > 59)) return =
null;
                        tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                        break;
                    case 'z': case 'zz':
                                                var hourOffset =3D =
Date._parseInt(matchGroup);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        tzMinOffset =3D hourOffset * 60;
                        break;
                }
            }
        }
        var result =3D new Date();
        if (year =3D=3D=3D null) {
            year =3D result.getFullYear();
        }
        if (month =3D=3D=3D null) {
            month =3D result.getMonth();
        }
        if (date =3D=3D=3D null) {
            date =3D result.getDate();
        }
                result.setFullYear(year, month, date);
                if (result.getDate() !=3D=3D date) return null;
                if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D =
weekDay)) {
            return null;
        }
                if (pmHour && (hour < 12)) {
            hour +=3D 12;
        }
        result.setHours(hour, min, sec, msec);
        if (tzMinOffset !=3D=3D null) {
                        var adjustedMin =3D result.getMinutes() - =
(tzMinOffset + result.getTimezoneOffset());
                                                =
result.setHours(result.getHours() + parseInt(adjustedMin/60), =
adjustedMin%60);
        }
        return result;
    }
}

Date._parseInt =3D function Date$_parseInt(value) {
        return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));
}

Date.prototype.format =3D function Date$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}

Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}

Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);

        var ret =3D new Sys.StringBuilder();
    var hour;

    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }

    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }

    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {

                var index =3D tokenRegExp.lastIndex;

                var ar =3D tokenRegExp.exec(format);

                var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);

        if (!ar) break;

                if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }

        switch (ar[0]) {
        case "dddd":
                        ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
                        =
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
                        ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
                        ret.append(this.getDate());
            break;
        case "MMMM":
                        ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
                        =
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
                        ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
                        ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
                        ret.append(this.getFullYear());
            break;
        case "yy":
                        ret.append(addLeadingZero(this.getFullYear() % =
100));
            break;
        case "y":
                        ret.append(this.getFullYear() % 100);
            break;
        case "hh":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
                        ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
                        ret.append(this.getHours());
            break;
        case "mm":
                        ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
                        ret.append(this.getMinutes());
            break;
        case "ss":
                        ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
                        ret.append(this.getSeconds());
            break;
        case "tt":
                        ret.append((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator);
            break;
        case "t":
                        ret.append(((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator).charAt(0));
            break;
        case "f":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2));
            break;
        case "fff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
Number.__typeName =3D 'Number';
Number.__class =3D true;

Number.parseLocale =3D function Number$parseLocale(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
            var valueStr =3D value.trim();
    if (valueStr.match(/infinity/i) !=3D=3D null) {
        return parseFloat(valueStr);
    }
    if (valueStr.match(/^0x[a-f0-9]+$/i) !=3D=3D null) {
        return parseInt(valueStr);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var decSeparator =3D numFormat.NumberDecimalSeparator;
    var grpSeparator =3D numFormat.NumberGroupSeparator;

            var numberFormatRegex =3D new RegExp("^[+-]?[\\d\\" + =
grpSeparator + "]*\\" + decSeparator + "?\\d*([eE][+-]?\\d+)?$");
    if (!valueStr.match(numberFormatRegex)) {
        return Number.NaN;
    }

        valueStr =3D valueStr.split(grpSeparator).join("");

        valueStr =3D valueStr.replace(decSeparator, ".");

    return parseFloat(valueStr);
}

Number.prototype.format =3D function Number$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

        var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];

        function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;

                var numberString =3D number.toString();
        var right =3D "";
        var exponent =3D "";
                var decimalSplit =3D numberString.split('.');
        if (decimalSplit.length > 1) {
            numberString =3D decimalSplit[0];
            right =3D decimalSplit[1];
                        var exponentSplit =3D right.split(/e/i);
            if (exponentSplit.length > 1) {
                right =3D exponentSplit[0];
                exponent =3D "e" + exponentSplit[1];
            }
        }

                if (precision > 0) {
                        var rightDifference =3D right.length - =
precision;
            if (rightDifference > 0) {
                right =3D right.slice(0, precision);
            } else if (rightDifference < 0) {
                for (var i=3D0; i<Math.abs(rightDifference); i++) {
                    right +=3D '0';
                }
            }

                        right =3D decimalChar + right;
        }
        else {             right =3D "";
        }
        right +=3D exponent;

        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {

                        if (curSize =3D=3D=3D 0 || curSize > =
stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }

            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);

            stringIndex -=3D curSize;

            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;

        var number =3D Math.abs(this);

        if (!format)
        format =3D "D";

    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1));

    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';

                if (precision !=3D=3D -1) {
            var numberStr =3D ""+number;
            var zerosToAdd =3D precision - numberStr.length;
            if (zerosToAdd > 0) {
                for (var i=3D0; i<zerosToAdd; i++) {
                    numberStr =3D '0'+numberStr;
                }
            }
            number =3D numberStr;
        }

                if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }

    var regex =3D /n|\$|-|%/g;

        var ret =3D "";

    for (;;) {

                var index =3D regex.lastIndex;

                var ar =3D regex.exec(pattern);

                ret +=3D pattern.slice(index, ar ? ar.index : =
pattern.length);

        if (!ar)
            break;

        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }

    return ret;
}
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
Array.__typeName =3D 'Array';
Array.__class =3D true;

Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;


        array[array.length] =3D item;
}

Array.addRange =3D function Array$addRange(array, items) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;


        array.push.apply(array, items);
}

Array.clear =3D function Array$clear(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    array.length =3D 0;
}

Array.clone =3D function Array$clone(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
                        return Array.apply(null, array);
    }
}

Array.contains =3D function Array$contains(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    return (Array.indexOf(array, item) >=3D 0);
}

Array.dequeue =3D function Array$dequeue(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    return array.shift();
}

Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}

Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
                start =3D start - 0;
                if (isNaN(start)) {
            start =3D 0;
        }
        else {
                                    if (isFinite(start)) {
                                start =3D start - (start % 1);
            }
                        if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }

                for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}

Array.insert =3D function Array$insert(array, index, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 0, item);
}

Array.parse =3D function Array$parse(value) {
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}

Array.remove =3D function Array$remove(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}

Array.removeAt =3D function Array$removeAt(array, index) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 1);
}
String.__typeName =3D 'String';
String.__class =3D true;

String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}

String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}

String.prototype.trim =3D function String$trim() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}

String.prototype.trimEnd =3D function String$trimEnd() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}

String.prototype.trimStart =3D function String$trimStart() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}

String.format =3D function String$format(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(false, arguments);
}

String.localeFormat =3D function String$localeFormat(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(true, arguments);
}

String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];

    for (var i=3D0;;) {
                var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
                        result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
                        if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }

                result +=3D format.slice(i, open);
        i =3D open + 1;

                if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }

                if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);

       =20
                var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex)) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);

        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }

                if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();

        i =3D close + 1;
    }

    return result;
}

Type.registerNamespace('Sys');
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}

    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}


    function Sys$StringBuilder$append(text) {
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D text;
    }

    function Sys$StringBuilder$appendLine(text) {
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }

    function Sys$StringBuilder$clear() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }

    function Sys$StringBuilder$isEmpty() {
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }



    function Sys$StringBuilder$toString(separator) {
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
                        if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,

    appendLine: Sys$StringBuilder$appendLine,

    clear: Sys$StringBuilder$clear,

    isEmpty: Sys$StringBuilder$isEmpty,

            toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];
	   =20
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlHttp =3D new ActiveXObject(progIDs[i]);
                return xmlHttp;
            }
            catch (ex) {
            }
        }
	   =20
        return null;
    }
}

Sys.Browser =3D {};

Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};

Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);

if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Safari\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}


Type.registerNamespace('Sys.UI');

Sys._Debug =3D function Sys$_Debug() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}


    function Sys$_Debug$_appendConsole(text) {
                if ((typeof(Debug) !=3D=3D 'undefined') && =
Debug.writeln) {
            Debug.writeln(text);
        }
                if (window.console && window.console.log) {
            window.console.log(text);
        }
                if (window.opera) {
            window.opera.postError(text);
        }
                if (window.debugService) {
            window.debugService.trace(text);
        }
    }

    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }

    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;

        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);

            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }

    function Sys$_Debug$clearTrace() {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }

    function Sys$_Debug$fail(message) {
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;

        this._appendConsole(message);

                if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }

    function Sys$_Debug$trace(text) {
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;

        this._appendConsole(text);
        this._appendTrace(text);
    }

    function Sys$_Debug$traceDump(object, name) {
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        var text =3D this._traceDump(object, name, true);
    }

    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);

                                                                if =
((object =3D=3D window) || (object =3D=3D=3D document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {

    _appendConsole: Sys$_Debug$_appendConsole,

    _appendTrace: Sys$_Debug$_appendTrace,

    assert: Sys$_Debug$assert,

    clearTrace: Sys$_Debug$clearTrace,

    fail: Sys$_Debug$fail,

    trace: Sys$_Debug$trace,

    traceDump: Sys$_Debug$traceDump,

    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');

Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
function Sys$Enum$parse(value, ignoreCase) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;

        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}

function Sys$Enum$toString(value) {
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

            if ((typeof(value) =3D=3D=3D 'undefined') || (value =
=3D=3D=3D null)) return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}

Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (window.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    window.__registeredTypes[name] =3D true;
}

Type.isEnum =3D function Type$isEnum(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}

Type.isFlags =3D function Type$isFlags(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}


    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        if (!evt._handler) {
            evt._handler =3D function(source, args) {
                for (var i =3D 0, l =3D evt.length; i < l; i++) {
                    evt[i](source, args);
                }
            };
        }
        return evt._handler;
    }

    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,

    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.EventArgs =3D function Sys$EventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');

Sys.EventArgs.Empty =3D new Sys.EventArgs();
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);

    this._cancel =3D false;
}


    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}

Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;

    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyDisposing$add_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
Sys.Component =3D function Sys$Component() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}





    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;

        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);

function Sys$Component$_setProperties(target, properties) {
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;

    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
                        var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}

function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}

var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();

    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }

    app._createdComponents[app._createdComponents.length] =3D component;
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }

    return component;
}
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}




Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}















Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton"></field>
    /// <field name=3D"charCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean"></field>
    /// <field name=3D"keyCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean"></field>
    /// <field name=3D"target" domElement=3D"true"></field>
    /// <field name=3D"type" type=3D"String"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;

    var e =3D eventObject;
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (e.type =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (this.target) {
        var loc =3D Sys.UI.DomElement.getLocation(this.target);
        this.offsetX =3D (typeof(e.offsetX) !=3D=3D 'undefined') ? =
e.offsetX : window.pageXOffset + (e.clientX || 0) - loc.x;
        this.offsetY =3D (typeof(e.offsetY) !=3D=3D 'undefined') ? =
e.offsetY : window.pageYOffset + (e.clientY || 0) - loc.y;
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
    this.type =3D e.type;
}

    function Sys$UI$DomEvent$preventDefault() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            window.event.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            window.event.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');

var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            return handler.call(element, new =
Sys.UI.DomEvent(window.event));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}

var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;

    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}

var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}

var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var browserHandler =3D null;
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}

    function Sys$IContainer$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");


Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}

    function Sys$_ScriptLoader$dispose() {
        this._stopLoading();
        if(this._events) {
            delete this._events;
        }
        this._scriptLoadedDelegate =3D null;       =20
    }

    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;

        if(this._loading) {
            throw =
Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);
        }
        this._loading =3D true;
        this._allScriptsLoadedCallback =3D allScriptsLoadedCallback;
        this._scriptLoadFailedCallback =3D scriptLoadFailedCallback;
        this._scriptLoadTimeoutCallback =3D scriptLoadTimeoutCallback;
       =20
        this._loadScriptsInternal();
    }

    function Sys$_ScriptLoader$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
                        if(!this._loading) {
                                    return;
        }

        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                                                                         =
                                       =
window.setTimeout(Function.createDelegate(this, function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }

                            }

    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }

    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }

    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }

    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('SCRIPT');

                        scriptElement.type =3D 'text/javascript';

                for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }

    function Sys$_ScriptLoader$_loadScriptsInternal() {
                if (this._scriptsToLoad && this._scriptsToLoad.length > =
0) {
            var nextScript =3D Array.dequeue(this._scriptsToLoad);
                        var scriptElement =3D =
this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                                scriptElement.innerHTML =3D =
scriptElement.text;
                delete scriptElement.text;
            }           =20

                                                            if =
(typeof(nextScript.src) =3D=3D=3D "string") {
                                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                                                                         =
       this._currentTask.execute();
            }
            else {
                                                =
document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
               =20
                                =
Sys._ScriptLoader._clearScript(scriptElement);

                                                                =
this._loadScriptsInternal();
            }
        }
        else {
                        var callback =3D this._allScriptsLoadedCallback;
            this._stopLoading();
            if(callback) {
                callback(this);
            }
        }
    }

    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
                var callback =3D this._scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopLoading();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
        }
        else {
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
                                if(loaded && =
this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                                this._raiseError(true);
            }
            else {
                                =
Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
                        this._raiseError(false);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._scriptLoadTimeoutCallback;
        this._stopLoading();

        if(callback) {
            callback(this);
        }
    }

    function Sys$_ScriptLoader$_stopLoading() {
        if(this._timeoutCookie) {
            window.clearTimeout(this._timeoutCookie);
            this._timeoutCookie =3D null;
        }

        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }

        this._scriptsToLoad =3D null;
        this._loading =3D null;
       =20
        this._allScriptsLoadedCallback =3D null;
        this._scriptLoadFailedCallback =3D null;
        this._scriptLoadTimeoutCallback =3D null;
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
   =20
    loadScripts: Sys$_ScriptLoader$loadScripts,
   =20
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
   =20
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,

    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,

    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
   =20
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,  =20

    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
   =20
    _raiseError: Sys$_ScriptLoader$_raiseError,
   =20
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
   =20
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
   =20
    _stopLoading: Sys$_ScriptLoader$_stopLoading   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);

Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}

Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
                    var dummyScript =3D =
document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}

Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
        if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];

        var existingScripts =3D document.getElementsByTagName('SCRIPT');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}

Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
                        =
scriptElement.parentNode.removeChild(scriptElement);
    }
}

Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
                errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }

    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}

Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}


Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;

    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}

    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }

    function Sys$_ScriptLoaderTask$dispose() {
                if(this._disposed) {
                        return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
                Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }

    function Sys$_ScriptLoaderTask$execute() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        =
document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement)=
;
    }

    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
                this._scriptLoadDelegate =3D =
Function.createDelegate(this, this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
                        this._scriptErrorDelegate =3D =
Function.createDelegate(this, this._scriptErrorHandler);
        $addHandler(this._scriptElement, 'error', =
this._scriptErrorDelegate);
    }

    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
                if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            $removeHandler(scriptElement, 'error', =
this._scriptErrorDelegate);
            this._scriptErrorDelegate =3D null;
            this._scriptLoadDelegate =3D null;
        }
    }

    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
                if(this._disposed) {
            return;
        }
       =20
                this._completedCallback(this.get_scriptElement(), =
false);
    }

    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
                if(this._disposed) {
            return;
        }

        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
                                        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
   =20
    dispose: Sys$_ScriptLoaderTask$dispose,
       =20
    execute: Sys$_ScriptLoaderTask$execute,
      =20
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20

    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
          =20
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;

    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys._Application =3D function Sys$_Application() {
    Sys._Application.initializeBase(this);

    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];

    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);

    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}




    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$add_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$beginCreateComponents() {
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        if (!this._disposing) {
            this._disposing =3D true;
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);

            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }

            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }

            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
                                                =
window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }

        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');

        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_loadHandler() {
                        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,

    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _doInitialize: Sys$_Application$_doInitialize,   =20
    _loadHandler: Sys$_Application$_loadHandler,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);

Sys.Application =3D new Sys._Application();

var $find =3D Sys.Application.findComponent;

Type.registerNamespace('Sys.Net');

Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}


    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }

    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }

        this._webRequest =3D value;
    }


    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }


    function Sys$Net$WebRequestExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,

    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,

        get_started: Sys$Net$WebRequestExecutor$get_started,

    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,

    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,

        executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
window.XMLDOM =3D function window$XMLDOM(markup) {
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
        return null;
    }
        else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        } catch (ex) {
            return null;
        }
    }
    return null;
    }

Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    Sys.Net.XMLHttpExecutor.initializeBase(this);

    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;

    this._onReadyStateChange =3D function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {

            _this._clearTimer();
            _this._responseAvailable =3D true;
            _this._webRequest.completed(Sys.EventArgs.Empty);
            if (_this._xmlHttpRequest !=3D null) {
                _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                _this._xmlHttpRequest =3D null;
            }
        }
    }

    this._clearTimer =3D function this$_clearTimer() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    }

    this._onTimeout =3D function this$_onTimeout() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    }

}



    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }

    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this._responseAvailable;
    }

    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }

    function Sys$Net$XMLHttpExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();

        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }

        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }

        if (verb.toLowerCase() =3D=3D=3D "post") {
                        if ((headers =3D=3D=3D null) || =
!headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded');
            }

                        if (!body) {
                body =3D "";
            }
        }

        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }

    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }

        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }

    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }

        return this._xmlHttpRequest.getAllResponseHeaders();
    }

    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }

        return this._xmlHttpRequest.responseText;
    }

    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }

        return this._xmlHttpRequest.status;
    }

    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }

        return this._xmlHttpRequest.statusText;
    }

    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }

        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {

                        xml =3D new =
XMLDOM(this._xmlHttpRequest.responseText);

                        if (!xml || !xml.documentElement)
                return null;
        }
                else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) =
{
            xml.setProperty('SelectionLanguage', 'XPath');
        }

                if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
                if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }

    function Sys$Net$XMLHttpExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }

                if (this._aborted || this._responseAvailable || =
this._timedOut)
            return;

        this._aborted =3D true;

        this._clearTimer();

        if (this._xmlHttpRequest && !this._responseAvailable) {

                        this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();

            this._xmlHttpRequest =3D null;
            var handler =3D =
this._webRequest._get_eventHandlerList().getHandler("completed");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {

    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,

    get_started: Sys$Net$XMLHttpExecutor$get_started,

    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,

    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,

    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,

    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,

    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,

    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,

    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,

    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,

    get_xml: Sys$Net$XMLHttpExecutor$get_xml,

    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    this._this =3D this;
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}


    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._defaultTimeout =3D value;
    }

    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._defaultExecutorType =3D value;
    }

    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;

        var executor =3D webRequest.get_executor();
                if (!executor) {
           =20
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }

            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }

            webRequest.set_executor(executor);
        }

                if (executor.get_aborted()) {
            return;
        }

        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }

        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,

    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,

    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,

    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,

    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,

    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}

Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');

Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;

    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}


    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}

Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}


    function Sys$Net$WebRequest$add_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }

    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }

        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }

    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._url =3D value;
    }

    function Sys$Net$WebRequest$get_headers() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }

    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
                if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }

        this._httpVerb =3D value;
    }

    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._body =3D value;
    }

    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._userContext =3D value;
    }

    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;

        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }

        this._executor =3D value;
        this._executor._set_webRequest(this);
    }

    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._timeout =3D value;
    }

    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }

    function Sys$Net$WebRequest$invoke() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }

        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,

    completed: Sys$Net$WebRequest$completed,

    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,

    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,

    get_headers: Sys$Net$WebRequest$get_headers,

    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,

    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,

    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,

    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,

    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,

    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,

    invoke: Sys$Net$WebRequest$invoke
}

Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
        if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }

        if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }

        var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);

        if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }

        if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }

        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }

        return baseUrl.substr(0, nextSlash) + url;
    }
            else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }

        return baseUrl.substr(0, lastSlash+1) + url;
    }
}

Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
        if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;

    var sb =3D new Sys.StringBuilder();

    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }

        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));

        i++;
    }

    return sb.toString();
}

Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }

    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}

Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}


    function Sys$Net$WebServiceProxy$set_timeout(value) {
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }

    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;


                if (onSuccess =3D=3D=3D null || typeof onSuccess =
=3D=3D=3D 'undefined') onSuccess =3D =
this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_path: Sys$Net$WebServiceProxy$get_path,

    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');

Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;


        var request =3D new Sys.Net.WebRequest();

    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
        if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+methodName,=
 urlParams));

    var body =3D null;
        if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);

                if (body =3D=3D=3D "{}") body =3D "";
    }

        request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();

    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;

            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }

            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                                        var error;
                    if (result && errorObj) {
                                                error =3D =
result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                                                                        =
error =3D response.get_responseData();
                    }
                    alert(String.format(Sys.Res.webServiceFailed, =
methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                                alert(msg);
            }
        }
    }

    return request;
}

Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
                if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}


    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }

    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }

    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }

    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype =3D {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,

    get_statusCode: Sys$Net$WebServiceError$get_statusCode,

    get_message: Sys$Net$WebServiceError$get_message,

    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,

    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');

Type.registerNamespace('Sys.Services');

Sys.Services._ProfileService =3D function Sys$Services$_ProfileService() =
{
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';








    function Sys$Services$_ProfileService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoadCompletedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultSaveCompletedCallback =3D value;
    }


    function Sys$Services$_ProfileService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_ProfileService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_ProfileService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_ProfileService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        var parameters =3D {};
        var methodName;
        if(!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames) };
        }
                this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, =
this._onLoadComplete),
                                        Function.createDelegate(this, =
this._onLoadFailed),                                         =
[loadCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_ProfileService$save(propertyNames, =
saveCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"saveCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "saveCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        var flattenedProperties =3D =
this._flattenProperties(propertyNames, this.properties);
                this._invoke(this._get_path(),
                                        "SetPropertiesForCurrentUser",
                                        false,
                                        { values: flattenedProperties },
                                        Function.createDelegate(this, =
this._onSaveComplete),
                                        Function.createDelegate(this, =
this._onSaveFailed),
                                        [saveCompletedCallback, =
failedCallback, userContext]);
    }


    function Sys$Services$_ProfileService$_clonePropertyNames(arr) {
        var nodups =3D [];
        var seen =3D {};
        for(var i=3D0; i < arr.length; i++) {
            var prop =3D arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); =
seen[prop]=3Dtrue; };
        }
        return nodups;
    }





    function =
Sys$Services$_ProfileService$_flattenProperties(propertyNames, =
properties, groupName) {
        var flattenedProperties =3D {};
        var val;
        var key;
        if(propertyNames && propertyNames.length =3D=3D=3D 0) {
            return flattenedProperties;
        }

        for (var property in properties) {
            val =3D properties[property];
            key =3D groupName ? groupName + "." + property : property;
                        =
if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var groupProperties =3D =
this._flattenProperties(propertyNames, val, key);
                                                                         =
                                       for(var subKey in =
groupProperties) {
                    var subVal =3D groupProperties[subKey];
                    flattenedProperties[subKey] =3D subVal;
                }
            }
            else {
                                if(!propertyNames || =
Array.indexOf(propertyNames, key) !=3D=3D -1) {
                    flattenedProperties[key] =3D val;
                }
            }
        }
        return flattenedProperties;
    }

    function Sys$Services$_ProfileService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D Sys.Services._ProfileService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function Sys$Services$_ProfileService$_onLoadComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "object") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Object"));
        }

        var unflattened =3D this._unflattenProperties(result);
        for(var name in unflattened) {
            this.properties[name] =3D unflattened[name];
        }
       =20
        var userCallback =3D context[0];
        var callback =3D userCallback ? userCallback : =
this._defaultLoadCompletedCallback;
        if(callback) {
            callback(result.length, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onLoadFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onSaveComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "number") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Number"));
        }
       =20
        var userCallback =3D context[0];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultSaveCompletedCallback;
        if(callback) {
            callback(result, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function Sys$Services$_ProfileService$_onSaveFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function =
Sys$Services$_ProfileService$_unflattenProperties(properties) {
        var unflattenedProperties =3D {};
        var dotIndex;
        var val;
        var count =3D 0;
        for(var key in properties) {
            count++;
            val =3D properties[key];

            dotIndex =3D key.indexOf('.');
            if(dotIndex !=3D=3D -1) {
                var groupName =3D key.substr(0, dotIndex);
                key =3D key.substr(dotIndex+1);
                var group =3D unflattenedProperties[groupName];
                if((!group) || =
(!Sys.Services.ProfileGroup.isInstanceOfType(group))) {
                    group =3D new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] =3D group;
                }
                group[key] =3D val;
            }
            else {
                unflattenedProperties[key] =3D val;
            }
        }
        properties.length =3D count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,

    get_defaultFailedCallback: =
Sys$Services$_ProfileService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_ProfileService$set_defaultFailedCallback,

    get_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,

    get_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
    set_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
   =20
   =20
    get_path: Sys$Services$_ProfileService$get_path,
    set_path: Sys$Services$_ProfileService$set_path,
       =20
    get_timeout: Sys$Services$_ProfileService$get_timeout,
    set_timeout: Sys$Services$_ProfileService$set_timeout,
       =20
    load: Sys$Services$_ProfileService$load,

    save: Sys$Services$_ProfileService$save,
   =20
        _clonePropertyNames: =
Sys$Services$_ProfileService$_clonePropertyNames,   =20

                    _flattenProperties: =
Sys$Services$_ProfileService$_flattenProperties,
   =20
    _get_path: Sys$Services$_ProfileService$_get_path,   =20

    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
   =20
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
   =20
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
   =20
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
   =20
    _unflattenProperties: =
Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService'=
, Sys.Net.WebServiceProxy);
Sys.Services.ProfileService =3D new Sys.Services._ProfileService();

Sys.Services.ProfileGroup =3D function =
Sys$Services$ProfileGroup(properties) {
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if(properties) {
        for(var property in properties) {
            this[property] =3D properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');








Sys.Services._AuthenticationService =3D function =
Sys$Services$_AuthenticationService() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath =3D '';








    function =
Sys$Services$_AuthenticationService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(val=
ue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoginCompletedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(va=
lue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLogoutCompletedCallback =3D value;
    }

    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._authenticated;
    }

    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_AuthenticationService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_AuthenticationService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_AuthenticationService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_AuthenticationService$login(username, =
password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext) {
        /// <param name=3D"username" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <param name=3D"password" type=3D"String" =
mayBeNull=3D"true"></param>
        /// <param name=3D"isPersistent" type=3D"Boolean" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"customInfo" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"loginCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "username", type: String},
            {name: "password", type: String, mayBeNull: true},
            {name: "isPersistent", type: Boolean, mayBeNull: true, =
optional: true},
            {name: "customInfo", type: String, mayBeNull: true, =
optional: true},
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "loginCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Login", false,
                                        { userName: username, password: =
password, createPersistentCookie: isPersistent },
                                        Function.createDelegate(this, =
this._onLoginComplete),
                                        Function.createDelegate(this, =
this._onLoginFailed),
                                        [username, password, =
isPersistent, redirectUrl, loginCompletedCallback, failedCallback, =
userContext]);
    }

    function Sys$Services$_AuthenticationService$logout(redirectUrl, =
logoutCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"logoutCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "logoutCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Logout", false, {},=20
                                        Function.createDelegate(this, =
this._onLogoutComplete),
                                        Function.createDelegate(this, =
this._onLogoutFailed),
                                        [redirectUrl, =
logoutCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_AuthenticationService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D =
Sys.Services._AuthenticationService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function =
Sys$Services$_AuthenticationService$_onLoginComplete(result, context, =
methodName) {
        if(typeof(result) !=3D=3D "boolean") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Boolean"));
        }
       =20
        var redirectUrl =3D context[3];
        var userCallback =3D context[4];
        var userContext =3D context[6];
        var callback =3D userCallback ? userCallback : =
this._defaultLoginCompletedCallback;
       =20
        if(result) {
            this._authenticated =3D true;

            if(callback) {
                callback(true, userContext, =
"Sys.Services.AuthenticationService.login");
            }
           =20
            if(typeof(redirectUrl) !=3D=3D "undefined" && redirectUrl =
!=3D=3D null) {
                                window.location.href =3D redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, =
"Sys.Services.AuthenticationService.login");
        }
    }

    function Sys$Services$_AuthenticationService$_onLoginFailed(err, =
context, methodName) {
        var userCallback =3D context[5];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[6], =
"Sys.Services.AuthenticationService.login");
        }
    }

    function =
Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, =
methodName) {
        if(result !=3D=3D null) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "null"));
        }
       =20
        var redirectUrl =3D context[0];
        var userCallback =3D context[1];
        var userContext =3D context[3];
        var callback =3D userCallback ? userCallback : =
this._defaultLogoutCompletedCallback;

        this._authenticated =3D false;
       =20
        if (callback) {
            callback(null, userContext, =
"Sys.Services.AuthenticationService.logout");
        }
       =20
                if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href =3D redirectUrl;
        }
    }

    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, =
context, methodName) {
        var userCallback =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[3], =
"Sys.Services.AuthenticationService.logout");
        }
    }

    function =
Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated =3D authenticated;
    }
Sys.Services._AuthenticationService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
   =20
    get_defaultFailedCallback: =
Sys$Services$_AuthenticationService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_AuthenticationService$set_defaultFailedCallback,

    get_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
    set_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,

    get_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
    set_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,

    get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,

    get_path: Sys$Services$_AuthenticationService$get_path,
    set_path: Sys$Services$_AuthenticationService$set_path,
   =20
    get_timeout: Sys$Services$_AuthenticationService$get_timeout,
    set_timeout: Sys$Services$_AuthenticationService$set_timeout,   =20
   =20
    login: Sys$Services$_AuthenticationService$login,
   =20
    logout: Sys$Services$_AuthenticationService$logout,
   =20
    _get_path: Sys$Services$_AuthenticationService$_get_path,
   =20
    _onLoginComplete: =
Sys$Services$_AuthenticationService$_onLoginComplete,
   =20
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
   =20
    _onLogoutComplete: =
Sys$Services$_AuthenticationService$_onLogoutComplete,
   =20
    _onLogoutFailed: =
Sys$Services$_AuthenticationService$_onLogoutFailed,
   =20
    _setAuthenticated: =
Sys$Services$_AuthenticationService$_setAuthenticated   =20
}

Sys.Services._AuthenticationService.registerClass('Sys.Services._Authenti=
cationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService =3D new =
Sys.Services._AuthenticationService();

Type.registerNamespace('Sys.Serialization');


Sys.Serialization.JavaScriptSerializer =3D function =
Sys$Serialization$JavaScriptSerializer() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.J=
avaScriptSerializer');

Sys.Serialization.JavaScriptSerializer._stringRegEx =3D new =
RegExp('["\b\f\n\r\t\\\\\x00-\x1F]', 'i');

Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, =
stringBuilder, sort) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
                        if (Array.isInstanceOfType(object)) {
                stringBuilder.append('[');
                for (i =3D 0; i < object.length; ++i) {
                    if (i > 0) {
                        stringBuilder.append(',');
                    }
                    =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], =
stringBuilder);
                }
                stringBuilder.append(']');
            }
            else {
                                                                if =
(Date.isInstanceOfType(object)) {
                    stringBuilder.append('"\\/Date(');
                    stringBuilder.append(object.getTime());
                    stringBuilder.append(')\\/"');
                    break;
                }

                var properties =3D [];
                var propertyCount =3D 0;
                for (var name in object) {
                                        if (name.startsWith('$')) {
                        continue;
                    }
                    properties[propertyCount++] =3D name;
                }
                if (sort) properties.sort();

                stringBuilder.append('{');
                var needComma =3D false;
                for (i=3D0; i<propertyCount; i++) {
                    var value =3D object[properties[i]];
                    if (typeof value !=3D=3D 'undefined' && typeof value =
!=3D=3D 'function') {
                        if (needComma) {
                            stringBuilder.append(',');
                        }
                        else {
                            needComma =3D true;
                        }

                                                =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i=
], stringBuilder, sort);
                        stringBuilder.append(':');
                        =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, =
stringBuilder, sort);
                    }
                }
                stringBuilder.append('}');
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;

    case 'number':
        if (isFinite(object)) {
            stringBuilder.append(String(object));
        }
        else {
            throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
        }
        break;

    case 'string':
        stringBuilder.append('"');

                if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari || =
Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)) {
            var length =3D object.length;
            for (i =3D 0; i < length; ++i) {
                var curChar =3D object.charAt(i);
                                if (curChar >=3D ' ') {
                                        if (curChar =3D=3D=3D '\\' || =
curChar =3D=3D=3D '"') {
                        stringBuilder.append('\\');
                    }
                    stringBuilder.append(curChar);
                }
                else {
                    switch (curChar) {
                        case '\b':
                            stringBuilder.append('\\b');
                            break;
                        case '\f':
                            stringBuilder.append('\\f');
                            break;
                        case '\n':
                            stringBuilder.append('\\n');
                            break;
                        case '\r':
                            stringBuilder.append('\\r');
                            break;
                        case '\t':
                            stringBuilder.append('\\t');
                            break;
                        default:
                                                        =
stringBuilder.append('\\u00');
                            if (curChar.charCodeAt() < 16) =
stringBuilder.append('0');
                            =
stringBuilder.append(curChar.charCodeAt().toString(16));
                    }
                }
            }
        } else {
            stringBuilder.append(object);
        }
        stringBuilder.append('"');
        break;

    case 'boolean':
        stringBuilder.append(object.toString());
        break;

    default:
        stringBuilder.append('null');
        break;
    }
}

Sys.Serialization.JavaScriptSerializer.serialize =3D function =
Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    var stringBuilder =3D new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, =
stringBuilder, false);
    return stringBuilder.toString();
}

Sys.Serialization.JavaScriptSerializer.deserialize =3D function =
Sys$Serialization$JavaScriptSerializer$deserialize(data) {
    /// <param name=3D"data" type=3D"String"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "data", type: String}
    ]);
    if (e) throw e;

    if (data.length =3D=3D=3D 0) throw Error.argument('data', =
Sys.Res.cannotDeserializeEmptyString);
                                                           =20
    try {   =20
        var exp =3D data.replace(new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"', 'g'), "$1new =
Date($2)");
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', =
Sys.Res.cannotDeserializeInvalidJson);
    }
}

Sys.CultureInfo =3D function Sys$CultureInfo(name, numberFormat, =
dateTimeFormat) {
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"numberFormat" type=3D"Object"></param>
    /// <param name=3D"dateTimeFormat" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;

    this.name =3D name;
    this.numberFormat =3D numberFormat;
    this.dateTimeFormat =3D dateTimeFormat;
}

    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf =3D this.dateTimeFormat;
            this._dateTimeFormats =3D
              [ dtf.MonthDayPattern,
                dtf.YearMonthPattern,
                dtf.ShortDatePattern,
                dtf.ShortTimePattern,
                dtf.LongDatePattern,
                dtf.LongTimePattern,
                dtf.FullDateTimePattern,
                dtf.RFC1123Pattern,
                dtf.SortableDateTimePattern,
                dtf.UniversalSortableDateTimePattern ];
        }
        return this._dateTimeFormats;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths =3D =
this._toUpperArray(this.dateTimeFormat.MonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays =3D =
this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result =3D [];
        for (var i =3D 0, il =3D arr.length; i < il; i++) {
            result[i] =3D this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
                        return value.split("\u00A0").join(' =
').toUpperCase();
    }
Sys.CultureInfo.prototype =3D {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getMonthIndex: Sys$CultureInfo$_getMonthIndex,
    _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,
    _getDayIndex: Sys$CultureInfo$_getDayIndex,
    _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,
    _toUpperArray: Sys$CultureInfo$_toUpperArray,
    _toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse =3D function Sys$CultureInfo$_parse(value) {
    var cultureInfo =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(value);
    return new Sys.CultureInfo(cultureInfo.name, =
cultureInfo.numberFormat, cultureInfo.dateTimeFormat);
}
Sys.CultureInfo.registerClass('Sys.CultureInfo');

Sys.CultureInfo.InvariantCulture =3D =
Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits=
":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes"=
:[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparat=
or":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePatt=
ern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegat=
ivePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","Nu=
mberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":=
",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","Posi=
tiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","Per=
centGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","Na=
tiveDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution"=
:1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTi=
me":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","Algor=
ithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnl=
y":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"Ful=
lDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, =
dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","Sort=
ableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSepar=
ator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd =
HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy =
MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":true,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}');

if (typeof(__cultureInfo) =3D=3D=3D 'undefined') {
    var __cultureInfo =3D =
'{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecim=
alSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroup=
Sizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","Currency=
Symbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegative=
Pattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"Negativ=
eInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"=
NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositiveP=
attern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","Percent=
DecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",=
","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","=
2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{=
"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@=
","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarT=
ype":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparat=
or":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dd=
dd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, =
yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm =
tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","=
TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd=
 HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, =
yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":false,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}';
}
Sys.CultureInfo.CurrentCulture =3D =
Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;

Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;

    this.x =3D x;
    this.y =3D y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"height" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"width" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;

    this.x =3D x;
    this.y =3D y;
    this.height =3D height;
    this.width =3D width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');

Sys.UI.DomElement.addCssClass =3D function =
Sys$UI$DomElement$addCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className =3D=3D=3D '') {
            element.className =3D className;
        }
        else {
            element.className +=3D ' ' + className;
        }
    }
}

Sys.UI.DomElement.containsCssClass =3D function =
Sys$UI$DomElement$containsCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    return Array.contains(element.className.split(' '), className);
}

Sys.UI.DomElement.getBounds =3D function =
Sys$UI$DomElement$getBounds(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.Bounds"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    var offset =3D Sys.UI.DomElement.getLocation(element);

    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || =
0, element.offsetHeight || 0);
}

var $get =3D Sys.UI.DomElement.getElementById =3D function =
Sys$UI$DomElement$getElementById(id, element) {
    /// <param name=3D"id" type=3D"String"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns domElement=3D"true" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);

        var nodeQueue =3D [];
    var childNodes =3D element.childNodes;
    for (var i =3D 0; i < childNodes.length; i++) {
        var node =3D childNodes[i];
        if (node.nodeType =3D=3D 1) {
            nodeQueue[nodeQueue.length] =3D node;
        }
    }

    while (nodeQueue.length) {
        node =3D nodeQueue.shift();
        if (node.id =3D=3D id) {
            return node;
        }
        childNodes =3D node.childNodes;
        for (i =3D 0; i < childNodes.length; i++) {
            node =3D childNodes[i];
            if (node.nodeType =3D=3D 1) {
                nodeQueue[nodeQueue.length] =3D node;
            }
        }
    }

    return null;
}



switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if (element.self || element.nodeType =3D=3D=3D =
9) return new Sys.UI.Point(0,0);

                                                var clientRects =3D =
element.getClientRects();
            if (!clientRects || !clientRects.length) {
                return new Sys.UI.Point(0,0);
            }

            var w =3D element.ownerDocument.parentWindow;
                                                var offsetL =3D =
w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft =
+ 2;
            var offsetT =3D w.screenTop - top.screenTop - =
top.document.documentElement.scrollTop + 2;

                                                                        =
var f =3D w.frameElement || null;
            if (f) {
                                                                         =
       var fstyle =3D f.currentStyle;
                offsetL +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingLeft) || 0) +
                    (parseInt(fstyle.borderLeftWidth) || 0) -
                    element.ownerDocument.documentElement.scrollLeft;
                offsetT +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingTop) || 0) +
                    (parseInt(fstyle.borderTopWidth) || 0) -
                    element.ownerDocument.documentElement.scrollTop;
            }

            var clientRect =3D clientRects[0];

            return new Sys.UI.Point(
                clientRect.left - offsetL,
                clientRect.top - offsetT);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

                                                var offsetX =3D 0;
            var offsetY =3D 0;

            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName =3D parent.tagName;

                                                                         =
       if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !=3D=3D "BODY") || (!previousStyle || =
previousStyle.position !=3D=3D "absolute"))) {

                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
            }

            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                for (var parent =3D element.parentNode; =
parent; parent =3D parent.parentNode) {
                    tagName =3D parent.tagName;

                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                    }
                    currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition =3D currentStyle ? =
currentStyle.position : null;

                                        if (parentPosition && =
(parentPosition =3D=3D=3D "absolute")) break;
                }
            }

            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

                                                var offsetX =3D 0;
            var offsetY =3D 0;

            var previous =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
parent =3D parent.offsetParent) {

                var tagName =3D parent.tagName;

                offsetX +=3D parent.offsetLeft || 0;
                offsetY +=3D parent.offsetTop || 0;
            }

                        var elementPosition =3D element.style.position;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");

                        for (var parent =3D element.parentNode; parent; =
parent =3D parent.parentNode) {
                tagName =3D parent.tagName;

                if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D "HTML") =
&& (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow =3D=3D=3D "scroll") || =
(parent.style.overflow =3D=3D=3D "auto"))))) {
                                       =20
                    offsetX -=3D (parent.scrollLeft || 0);
                    offsetY -=3D (parent.scrollTop || 0);
                }
                var parentPosition =3D (parent && parent.style) ? =
parent.style.position : null;

                                elementPositioned =3D elementPositioned =
|| (parentPosition && (parentPosition !=3D=3D "static"));
            }


            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName;
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);

                                                if ((parent.offsetLeft =
|| parent.offsetTop) &&
                    !((tagName =3D=3D=3D "BODY") &&
                    (!previousStyle || previousStyle.position !=3D=3D =
"absolute"))) {

                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }

                                                if (previous !=3D=3D =
null && currentStyle) {
                                                                         =
                                                                   if =
((tagName !=3D=3D "TABLE") && (tagName !=3D=3D "TD") && (tagName !=3D=3D =
"HTML")) {
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName =3D=3D=3D "TABLE" &&
                        (currentStyle.position =3D=3D=3D "relative" || =
currentStyle.position =3D=3D=3D "absolute")) {
                        offsetX +=3D parseInt(currentStyle.marginLeft) =
|| 0;
                        offsetY +=3D parseInt(currentStyle.marginTop) || =
0;
                    }
                }
            }

            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                                                         =
       for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                                                                         =
       tagName =3D parent.tagName;

                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {

                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);

                        currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                }
            }

            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;

}


Sys.UI.DomElement.removeCssClass =3D function =
Sys$UI$DomElement$removeCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    var currentClassName =3D ' ' + element.className + ' ';
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length)).trim();
    }
}

Sys.UI.DomElement.setLocation =3D function =
Sys$UI$DomElement$setLocation(element, x, y) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;

    var style =3D element.style;
    style.position =3D 'absolute';
    style.left =3D x + "px";
    style.top =3D y + "px";
}

Sys.UI.DomElement.toggleCssClass =3D function =
Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}

Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    var w =3D (element.ownerDocument ? element.ownerDocument : =
element.documentElement).defaultView;
    return ((w && (element !=3D=3D w) && w.getComputedStyle) ? =
w.getComputedStyle(element, null) : element.style);
}
Sys.UI.Behavior =3D function Sys$UI$Behavior(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    Sys.UI.Behavior.initializeBase(this);

    this._element =3D element;

    var behaviors =3D element._behaviors;
    if (!behaviors) {
        element._behaviors =3D [this];
    }
    else {
        behaviors[behaviors.length] =3D this;
    }
}


    function Sys$UI$Behavior$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var baseId =3D Sys.UI.Behavior.callBaseMethod(this, 'get_id');
        if (baseId) return baseId;
        if (!this._element || !this._element.id) return '';
        return this._element.id + '$' + this.get_name();
    }
    function Sys$UI$Behavior$get_name() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name =3D Object.getTypeName(this);
        var i =3D name.lastIndexOf('.');
        if (i !=3D -1) name =3D name.substr(i + 1);
        if (!this.get_isInitialized()) this._name =3D name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        if ((value =3D=3D=3D '') || (value.charAt(0) =3D=3D=3D ' ') || =
(value.charAt(value.length - 1) =3D=3D=3D ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !=3D=3D 'undefined')
            throw =
Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, =
value));
        if (this.get_isInitialized()) throw =
Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name =3D value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name =3D this.get_name();
        if (name) this._element[name] =3D this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        if (this._element) {
            var name =3D this.get_name();
            if (name) {
                this._element[name] =3D null;
            }
            Array.remove(this._element._behaviors, this);
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype =3D {
    _name: null,
    get_element: Sys$UI$Behavior$get_element,
    get_id: Sys$UI$Behavior$get_id,
    get_name: Sys$UI$Behavior$get_name,
    set_name: Sys$UI$Behavior$set_name,
    initialize: Sys$UI$Behavior$initialize,
    dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component);

Sys.UI.Behavior.getBehaviorByName =3D function =
Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Sys.UI.Behavior" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    var b =3D element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}

Sys.UI.Behavior.getBehaviors =3D function =
Sys$UI$Behavior$getBehaviors(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}

Sys.UI.Behavior.getBehaviorsByType =3D function =
Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"type" type=3D"Type"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;

    var behaviors =3D element._behaviors;
    var results =3D [];
    if (behaviors) {
        for (var i =3D 0, l =3D behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] =3D behaviors[i];
            }
        }
    }
    return results;
}
Sys.UI.VisibilityMode =3D function Sys$UI$VisibilityMode() {
    /// <field name=3D"hide" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"collapse" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}



Sys.UI.VisibilityMode.prototype =3D {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");

Sys.UI.Control =3D function Sys$UI$Control(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (typeof(element.control) !=3D 'undefined') throw =
Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);

    this._element =3D element;
    element.control =3D this;

    this._oldDisplayMode =3D this._element.style.display;
    if (!this._oldDisplayMode || (this._oldDisplayMode =3D=3D 'none')) {
        this._oldDisplayMode =3D '';
    }
}




    function Sys$UI$Control$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        throw Error.invalidOperation(Sys.Res.cantSetId);
    }
    function Sys$UI$Control$get_parent() {
        /// <value type=3D"Sys.UI.Control"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parent) {
            return this._parent;
        }
        else {
            var parentElement =3D this._element.parentNode;
            while (parentElement) {
                if (parentElement.control) {
                    return parentElement.control;
                }
                parentElement =3D parentElement.parentNode;
            }
            return null;
        }
    }
    function Sys$UI$Control$set_parent(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.Control}]);
        if (e) throw e;

        var parents =3D [this];
        var current =3D value;
        while (current) {
            if (Array.contains(parents, current)) throw =
Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] =3D current;
            current =3D current.get_parent();
        }
        this._parent =3D value;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type=3D"Sys.UI.VisibilityMode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._visibilityMode;
    }
    function Sys$UI$Control$set_visibilityMode(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.VisibilityMode}]);
        if (e) throw e;

        if (this._visibilityMode !=3D=3D value) {
            this._visibilityMode =3D value;
            if (this.get_visible() =3D=3D=3D false) {
                if (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                    this._element.style.display =3D =
this._oldDisplayMode;
                }
                else {
                    this._element.style.display =3D 'none';
                }
            }
        }
        this._visibilityMode =3D value;
    }
    function Sys$UI$Control$get_visible() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return (this._element.style.visibility !=3D 'hidden');
    }
    function Sys$UI$Control$set_visible(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        if (value !=3D this.get_visible()) {
            this._element.style.visibility =3D value ? 'visible' : =
'hidden';
            if (value || (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
                this._element.style.display =3D this._oldDisplayMode;
            }
            else {
                this._element.style.display =3D 'none';
            }
        }
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.addCssClass(this._element, className);
    }
    function Sys$UI$Control$dispose() {
        Sys.UI.Control.callBaseMethod(this, 'dispose');
        if (this._element) {
            this._element.control =3D undefined;
            delete this._element;
        }
    }
    function Sys$UI$Control$initialize() {
        Sys.UI.Control.callBaseMethod(this, 'initialize');
        var elt =3D this._element;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        return false;
    }
    function Sys$UI$Control$raiseBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var currentTarget =3D this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget =3D currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.toggleCssClass(this._element, className);
    }
Sys.UI.Control.prototype =3D {
    _parent: null,
    _visibilityMode: Sys.UI.VisibilityMode.hide,

    get_element: Sys$UI$Control$get_element,
    get_id: Sys$UI$Control$get_id,
    set_id: Sys$UI$Control$set_id,
    get_parent: Sys$UI$Control$get_parent,
    set_parent: Sys$UI$Control$set_parent,
    get_visibilityMode: Sys$UI$Control$get_visibilityMode,
    set_visibilityMode: Sys$UI$Control$set_visibilityMode,
    get_visible: Sys$UI$Control$get_visible,
    set_visible: Sys$UI$Control$set_visible,
    addCssClass: Sys$UI$Control$addCssClass,
    dispose: Sys$UI$Control$dispose,
    initialize: Sys$UI$Control$initialize,
    onBubbleEvent: Sys$UI$Control$onBubbleEvent,
    raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);

Type.registerNamespace('Sys');
Sys.Res=3D{
"argumentTypeName":"Value is not the name of an existing type.",
"methodRegisteredTwice":"Method {0} has already been registered.",
"cantSetIdAfterInit":"The id property can\u0027t be set on this object =
after initialization.",
"componentCantSetIdAfterAddedToApp":"The id property of a component =
can\u0027t be set after it\u0027s been added to the Application =
object.",
"behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already =
exists or it is the name of an existing property on the target =
element.",
"notATypeName":"Value is not a valid type name.",
"typeShouldBeTypeOrString":"Value is not a valid type or a valid type =
name.",
"boolTrueOrFalse":"Value must be \u0027true\u0027 or =
\u0027false\u0027.",
"stringFormatInvalid":"The format string is invalid.",
"referenceNotFound":"Component \u0027{0}\u0027 was not found.",
"enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t =
be used as an enum value name.",
"eventHandlerNotFound":"Handler not found.",
"circularParentChain":"The chain of control parents can\u0027t have =
circular references.",
"undefinedEvent":"\u0027{0}\u0027 is not an event.",
"notAMethod":"{0} is not a method.",
"propertyUndefined":"\u0027{0}\u0027 is not a property or an existing =
field.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. =
Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable =
\u0027Display a notification about every script error\u0027 under =
advanced settings.\r\n Missing call to =
Sys.Application.notifyScriptLoaded().",
"propertyNotWritable":"\u0027{0}\u0027 is not a writable property.",
"enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum =
value.",
"controlAlreadyDefined":"A control is already associated with the =
element.",
"namespaceContainsObject":"Object {0} already exists and is not a =
namespace.",
"cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a =
function.",
"scriptLoaderAlreadyLoading":"ScriptLoader.loadScripts cannot be called =
while the ScriptLoader is already loading scripts.",
"invalidNameSpace":"Value is not a valid namespace identifier.",
"notAnInterface":"Value is not a valid interface.",
"eventHandlerNotFunction":"Handler must be a function.",
"propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.",
"typeRegisteredTwice":"Type {0} has already been registered.",
"cantSetNameAfterInit":"The name property can\u0027t be set on this =
object after initialization.",
"appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 =
can\u0027t be added to the application.",
"appComponentMustBeInitialized":"Components must be initialized before =
they are added to the Application object.",
"baseNotAClass":"Value is not a class.",
"methodNotFound":"No method found with name \u0027{0}\u0027.",
"arrayParseBadFormat":"Value must be a valid string representation for =
an array. It must start with a \u0027[\u0027 and end with a =
\u0027]\u0027.",
"cantSetId":"The id property can\u0027t be set on this object.",
"stringFormatBraceMismatch":"The format string contains an unmatched =
opening or closing brace.",
"enumValueNotInteger":"An enumeration definition can only contain =
integer values.",
"propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 =
because it returned a null value.",
"componentCantSetIdTwice":"The id property of a component can\u0027t be =
set more than once.",
"createComponentOnDom":"Value must be null for Components that are not =
Controls or Behaviors.",
"createNotComponent":"{0} does not derive from Sys.Component.",
"createNoDom":"Value must not be null for Controls and Behaviors.",
"cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an =
id.",
"badTypeName":"Value is not the name of the type being registered or the =
name is a reserved word.",
"argumentInteger":"Value must be an integer.",
"scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains =
multiple calls to Sys.Application.notifyScriptLoaded(). Only one is =
allowed.",
"invokeCalledTwice":"Cannot call invoke more than once.",
"webServiceFailed":"The server method \u0027{0}\u0027 failed with the =
following error: {1}",
"argumentType":"Object cannot be converted to the required type.",
"argumentNull":"Value cannot be null.",
"controlCantSetId":"The id property can\u0027t be set on a control.",
"formatBadFormatSpecifier":"Format specifier was invalid.",
"webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.",
"argumentDomElement":"Value must be a DOM element.",
"invalidExecutorType":"Could not create a valid =
Sys.Net.WebRequestExecutor from: {0}.",
"cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is =
false.",
"actualValue":"Actual value was {0}.",
"enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.",
"scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.",
"parameterCount":"Parameter count mismatch.",
"cannotDeserializeEmptyString":"Cannot deserialize empty string.",
"formatInvalidString":"Input string was not in a correct format.",
"invalidTimeout":"Value must be greater than or equal to zero.",
"cannotAbortBeforeStart":"Cannot abort when executor has not started.",
"argument":"Value does not fall within the expected range.",
"cannotDeserializeInvalidJson":"Cannot deserialize. The data does not =
correspond to valid JSON.",
"invalidHttpVerb":"httpVerb cannot be set to an empty or null string.",
"nullWebRequest":"Cannot call executeRequest with a null webRequest.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"cannotSerializeNonFiniteNumbers":"Cannot serialize non finite =
numbers.",
"argumentUndefined":"Value cannot be undefined.",
"webServiceInvalidReturnType":"The server method \u0027{0}\u0027 =
returned an invalid type. Expected type: {1}",
"servicePathNotSet":"The path to the web service has not been set.",
"argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be =
converted to type \u0027{1}\u0027.",
"cannotCallOnceStarted":"Cannot call {0} once started.",
"badBaseUrl1":"Base URL does not contain ://.",
"badBaseUrl2":"Base URL does not contain another /.",
"badBaseUrl3":"Cannot find last / in base URL.",
"setExecutorAfterActive":"Cannot set executor after it has become =
active.",
"paramName":"Parameter name: {0}",
"cannotCallOutsideHandler":"Cannot call {0} outside of a completed event =
handler.",
"format":"One of the identified items was in an invalid format.",
"assertFailedCaller":"Assertion Failed: {0}\r\nat {1}",
"argumentOutOfRange":"Specified argument was out of the range of valid =
values.",
"webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.",
"notImplemented":"The method or operation is not implemented.",
"assertFailed":"Assertion Failed: {0}",
"invalidOperation":"Operation is not valid due to the current state of =
the object.",
"breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/ScriptResource.axd?d=6VwuPCwYSKIa6nimHdWfAkAwhElmCYbDmiwSFG1H8etH80u0YF-EMi-YSOQlYQdMXJIgXgyqAtutEW4Mbl8wQmATm90WG-5hVcbqIflLgJ5boKN9qOQUbb9IQ_iW4d_V0&t=633449729323280000

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjaxWebForms.js
// Microsoft AJAX ASP.NET WebForms Framework.


Type.registerNamespace('Sys.WebForms');


Sys.WebForms.BeginRequestEventArgs =3D function =
Sys$WebForms$BeginRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.BeginRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function Sys$WebForms$BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$BeginRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.BeginRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$BeginRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$BeginRequestEventArgs$get_request
}

Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginReque=
stEventArgs', Sys.EventArgs);

Sys.WebForms.EndRequestEventArgs =3D function =
Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <param name=3D"error" type=3D"Error" mayBeNull=3D"true"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    /// <param name=3D"response" =
type=3D"Sys.Net.WebRequestExecutor"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "error", type: Error, mayBeNull: true},
        {name: "dataItems", type: Object, mayBeNull: true},
        {name: "response", type: Sys.Net.WebRequestExecutor}
    ]);
    if (e) throw e;


    Sys.WebForms.EndRequestEventArgs.initializeBase(this);
    this._errorHandled =3D false;
    this._error =3D error;
        this._dataItems =3D dataItems || new Object();
    this._response =3D response;
}


    function Sys$WebForms$EndRequestEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type=3D"Error"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._error;
    }

    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._errorHandled;
    }
    function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._errorHandled =3D value;
    }

    function Sys$WebForms$EndRequestEventArgs$get_response() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._response;
    }
Sys.WebForms.EndRequestEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$EndRequestEventArgs$get_dataItems,

    get_error: Sys$WebForms$EndRequestEventArgs$get_error,

    get_errorHandled: Sys$WebForms$EndRequestEventArgs$get_errorHandled,
    set_errorHandled: Sys$WebForms$EndRequestEventArgs$set_errorHandled,

    get_response: Sys$WebForms$EndRequestEventArgs$get_response
}

Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEv=
entArgs', Sys.EventArgs);

Sys.WebForms.InitializeRequestEventArgs =3D function =
Sys$WebForms$InitializeRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.InitializeRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$InitializeRequestEventArgs$get_request
}

Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.Initi=
alizeRequestEventArgs', Sys.CancelEventArgs);

Sys.WebForms.PageLoadedEventArgs =3D function =
Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, =
dataItems) {
    /// <param name=3D"panelsUpdated" type=3D"Array"></param>
    /// <param name=3D"panelsCreated" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);

    this._panelsUpdated =3D panelsUpdated;
    this._panelsCreated =3D panelsCreated;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadedEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsCreated;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdated;
    }
Sys.WebForms.PageLoadedEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadedEventArgs$get_dataItems,

    get_panelsCreated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,

    get_panelsUpdated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated
}

Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEv=
entArgs', Sys.EventArgs);

Sys.WebForms.PageLoadingEventArgs =3D function =
Sys$WebForms$PageLoadingEventArgs(panelsUpdating, panelsDeleting, =
dataItems) {
    /// <param name=3D"panelsUpdating" type=3D"Array"></param>
    /// <param name=3D"panelsDeleting" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdating", type: Array},
        {name: "panelsDeleting", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadingEventArgs.initializeBase(this);

    this._panelsUpdating =3D panelsUpdating;
    this._panelsDeleting =3D panelsDeleting;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadingEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdating;
    }
Sys.WebForms.PageLoadingEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadingEventArgs$get_dataItems,

    get_panelsDeleting: =
Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,

    get_panelsUpdating: =
Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating
}

Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoading=
EventArgs', Sys.EventArgs);
Sys.WebForms.PageRequestManager =3D function =
Sys$WebForms$PageRequestManager() {
    this._form =3D null;
    this._updatePanelIDs =3D null;
    this._updatePanelClientIDs =3D null;
    this._oldUpdatePanelIDs =3D null;
    this._childUpdatePanelIDs =3D null;
    this._panelsToRefreshIDs =3D null;
    this._updatePanelHasChildrenAsTriggers =3D null;
    this._asyncPostBackControlIDs =3D null;
    this._asyncPostBackControlClientIDs =3D null;
    this._postBackControlIDs =3D null;
    this._postBackControlClientIDs =3D null;
    this._scriptManagerID =3D null;
    this._pageLoadedHandler =3D null;

    this._additionalInput =3D null;
    this._onsubmit =3D null;
    this._onSubmitStatements =3D [];
    this._originalDoPostBack =3D null;
    this._postBackSettings =3D null;
    this._request =3D null;
    this._onFormSubmitHandler =3D null;
    this._onFormElementClickHandler =3D null;
    this._onWindowUnloadHandler =3D null;
    this._asyncPostBackTimeout =3D null;

    this._controlIDToFocus =3D null;
    this._scrollPosition =3D null;
    this._dataItems =3D null;
    this._response =3D null;
    this._processingRequest =3D false;
    this._scriptDisposes =3D {};
}



    function Sys$WebForms$PageRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request !=3D=3D null;
    }


    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("beginRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("beginRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_endRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_endRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("endRequest", =
handler);
    }

    function =
Sys$WebForms$PageRequestManager$add_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("initializeRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("initializeRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoaded(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoaded", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoading(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoading(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoading", =
handler);
    }

    function Sys$WebForms$PageRequestManager$abortPostBack() {
        if (!this._processingRequest && this._request) {
            this._request.get_executor().abort();
            this._request =3D null;
        }
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError() =
{
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerTimeoutException: " + =
Sys.WebForms.Res.PRM_TimeoutError;
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerTimeoutException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(http=
StatusCode, message) {
                var displayMessage =3D message || =
("Sys.WebForms.PageRequestManagerServerErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode));
        var e =3D Error.create(displayMessage, {
            name: 'Sys.WebForms.PageRequestManagerServerErrorException',
            httpStatusCode: httpStatusCode
        });
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(pars=
erErrorMessage) {
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerParserErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage);
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerParserErrorException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPostBackSettings(async, panelID, =
sourceElement) {

        return { async:async, panelID:panelID, =
sourceElement:sourceElement };
    }

    function Sys$WebForms$PageRequestManager$_convertToClientIDs(source, =
destinationIDs, destinationClientIDs) {
        if (source) {
            for (var i =3D 0; i < source.length; i++) {
                Array.add(destinationIDs, source[i]);
                Array.add(destinationClientIDs, =
this._uniqueIDToClientID(source[i]));
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_decodeString(encodedValue) =
{
        return encodedValue.replace(/\\\u00FF\\/g, =
"\u0000").replace(/\u00FF\u00FF/g, "\u00FF");
    }

    function Sys$WebForms$PageRequestManager$_destroyTree(element) {
                if (element.nodeType =3D=3D=3D 1) {
                                    var childNodes =3D =
element.childNodes;
            for (var i =3D childNodes.length - 1; i >=3D 0; i--) {
                var node =3D childNodes[i];
                if (node.nodeType =3D=3D=3D 1) {
                    if (node.dispose && typeof(node.dispose) =3D=3D=3D =
"function") {
                        node.dispose();
                    }
                    else if (node.control && =
typeof(node.control.dispose) =3D=3D=3D "function") {
                        node.control.dispose();
                    }
                    var behaviors =3D =
Sys.UI.Behavior.getBehaviors(node);
                    for (var j =3D behaviors.length - 1; j >=3D 0; j--) =
{
                        behaviors[j].dispose();
                    }
                    this._destroyTree(node);
                }
            }
        }
    }

    function Sys$WebForms$PageRequestManager$dispose() {
        if (this._form) {
            Sys.UI.DomEvent.removeHandler(this._form, 'submit', =
this._onFormSubmitHandler);
            Sys.UI.DomEvent.removeHandler(this._form, 'click', =
this._onFormElementClickHandler);
            Sys.UI.DomEvent.removeHandler(window, 'unload', =
this._onWindowUnloadHandler);
            Sys.UI.DomEvent.removeHandler(window, 'load', =
this._pageLoadedHandler);
        }

        if (this._originalDoPostBack) {
            window.__doPostBack =3D this._originalDoPostBack;
            this._originalDoPostBack =3D null;
        }

        this._form =3D null;
        this._updatePanelIDs =3D null;
        this._oldUpdatePanelIDs =3D null;
        this._childUpdatePanelIDs =3D null;
        this._updatePanelClientIDs =3D null;
        this._asyncPostBackControlIDs =3D null;
        this._asyncPostBackControlClientIDs =3D null;
        this._postBackControlIDs =3D null;
        this._postBackControlClientIDs =3D null;
        this._asyncPostBackTimeout =3D null;
        this._scrollPosition =3D null;
        this._dataItems =3D null;
    }


    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, =
eventArgument) {
        this._additionalInput =3D null;

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
        }
        else {
                        var clientID =3D =
this._uniqueIDToClientID(eventTarget);
            var postBackElement =3D document.getElementById(clientID);
            if (!postBackElement) {
                                                                         =
       if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) {
                                        this._postBackSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
eventTarget, null);
                }
                else {
                    if (Array.contains(this._postBackControlIDs, =
eventTarget)) {
                                                this._postBackSettings =
=3D this._createPostBackSettings(false, null, null);
                    }
                    else {
                                                                         =
                       var nearestUniqueIDMatch =3D =
this._findNearestElement(eventTarget);
                        if (nearestUniqueIDMatch) {
                                                                         =
           this._postBackSettings =3D =
this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                        }
                        else {
                                                                         =
           this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
                        }
                    }
                }
            }
            else {
                                                this._postBackSettings =
=3D this._getPostBackSettings(postBackElement, eventTarget);
            }
        }

        if (!this._postBackSettings.async) {
                                    form.onsubmit =3D this._onsubmit;
            this._originalDoPostBack(eventTarget, eventArgument);
            form.onsubmit =3D null;
            return;
        }

        form.__EVENTTARGET.value =3D eventTarget;
        form.__EVENTARGUMENT.value =3D eventArgument;
        this._onFormSubmit();
    }

    function Sys$WebForms$PageRequestManager$_elementContains(container, =
element) {
        while (element) {
            if (element =3D=3D=3D container) {
                return true;
            }
            element =3D element.parentNode;
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_endPostBack(error, =
response) {
        this._processingRequest =3D false;

        this._request =3D null;
        this._additionalInput =3D null;

        var handler =3D =
this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled =3D false;
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.EndRequestEventArgs(error, this._dataItems, response);
            handler(this, eventArgs);
            errorHandled =3D eventArgs.get_errorHandled();
        }
        this._dataItems =3D null;
        if (error && !errorHandled) {
            alert(error.message);
        }
    }



    function =
Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID) {
        while (uniqueID.length > 0) {
            var clientID =3D this._uniqueIDToClientID(uniqueID);
            var element =3D document.getElementById(clientID);
            if (element) {
                return element;
            }
            var indexOfLastDollar =3D uniqueID.lastIndexOf('$');
            if (indexOfLastDollar =3D=3D=3D -1) {
                return null;
            }
            uniqueID =3D uniqueID.substring(0, indexOfLastDollar);
        }
        return null;
    }

    function Sys$WebForms$PageRequestManager$_findText(text, location) {
        var startIndex =3D Math.max(0, location - 20);
        var endIndex =3D Math.min(text.length, location + 20);
        return text.substring(startIndex, endIndex);
    }

    function =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad) {
                                                                         =
                                                              =20
        var updated =3D [];
        var created =3D [];

                var oldIDs =3D this._oldUpdatePanelIDs || [];         =
var newIDs =3D this._updatePanelIDs;         var childIDs =3D =
this._childUpdatePanelIDs || [];         var refreshedIDs =3D =
this._panelsToRefreshIDs || [];=20
                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                        for (var i =3D 0; i < newIDs.length; i++) {
            if (initialLoad || Array.indexOf(childIDs, newIDs[i]) =
!=3D=3D -1) {
                Array.add(created, =
document.getElementById(this._uniqueIDToClientID(newIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadedEventArgs(updated, created, =
this._dataItems);
    }

    function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs() =
{
                                                                         =
                                                              =20
        var updated =3D [];
        var deleted =3D [];

        var oldIDs =3D this._oldUpdatePanelIDs;
        var newIDs =3D this._updatePanelIDs;
        var childIDs =3D this._childUpdatePanelIDs;
        var refreshedIDs =3D this._panelsToRefreshIDs;

                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                for (var i =3D 0; i < oldIDs.length; i++) {
            if (Array.indexOf(refreshedIDs, oldIDs[i]) =3D=3D=3D -1 &&
                (Array.indexOf(newIDs, oldIDs[i]) =3D=3D=3D -1 || =
Array.indexOf(childIDs, oldIDs[i]) > -1)) {
                Array.add(deleted, =
document.getElementById(this._uniqueIDToClientID(oldIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, =
this._dataItems);
    }

    function =
Sys$WebForms$PageRequestManager$_getPostBackSettings(element, =
elementUniqueID) {


        var originalElement =3D element;

                        var proposedSettings =3D null;

                        while (element) {
            if (element.id) {
                                if (!proposedSettings && =
Array.contains(this._asyncPostBackControlClientIDs, element.id)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
Array.contains(this._postBackControlClientIDs, element.id)) {
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                    else {
                        var indexOfPanel =3D =
Array.indexOf(this._updatePanelClientIDs, element.id);
                        if (indexOfPanel !=3D=3D -1) {
                                                        if =
(this._updatePanelHasChildrenAsTriggers[indexOfPanel]) {
                                                               =20
                                                                         =
                                                       return =
this._createPostBackSettings(true, this._updatePanelIDs[indexOfPanel] + =
'|' + elementUniqueID, originalElement);
                            }
                            else {
                                                                         =
                       return this._createPostBackSettings(true, =
this._scriptManagerID + '|' + elementUniqueID, originalElement);
                            }
                        }
                    }
                }

                                if (!proposedSettings && =
this._matchesParentIDInList(element.id, =
this._asyncPostBackControlClientIDs)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) =
{
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                }
            }

            element =3D element.parentNode;
        }

                                                if (!proposedSettings) {
                        return this._createPostBackSettings(false, null, =
null);
        }
        else {
            return proposedSettings;
        }
    }

    function Sys$WebForms$PageRequestManager$_getScrollPosition() {
        var d =3D document.documentElement;
        if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
            return {
                x: d.scrollLeft,
                y: d.scrollTop
            };
        }
        else {
            d =3D document.body;
            if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
                return {
                    x: d.scrollLeft,
                    y: d.scrollTop
                };
            }
            else {
                if (this._validPosition(window.pageXOffset) || =
this._validPosition(window.pageYOffset)) {
                    return {
                        x: window.pageXOffset,
                        y: window.pageYOffset
                    };
                }
                else {
                    return {
                        x: 0,
                        y: 0
                    };
                }
            }
        }
    }

    function =
Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID, =
formElement) {
        this._scriptManagerID =3D scriptManagerID;

        this._form =3D formElement;

       =20
                this._form._initialAction =3D this._form.action;

        this._onsubmit =3D this._form.onsubmit;
        this._form.onsubmit =3D null;
        this._onFormSubmitHandler =3D Function.createDelegate(this, =
this._onFormSubmit);
        this._onFormElementClickHandler =3D =
Function.createDelegate(this, this._onFormElementClick);
        this._onWindowUnloadHandler =3D Function.createDelegate(this, =
this._onWindowUnload);
        Sys.UI.DomEvent.addHandler(this._form, 'submit', =
this._onFormSubmitHandler);
        Sys.UI.DomEvent.addHandler(this._form, 'click', =
this._onFormElementClickHandler);
        Sys.UI.DomEvent.addHandler(window, 'unload', =
this._onWindowUnloadHandler);

        this._originalDoPostBack =3D window.__doPostBack;
                if (this._originalDoPostBack) {
            window.__doPostBack =3D Function.createDelegate(this, =
this._doPostBack);
        }

        this._pageLoadedHandler =3D Function.createDelegate(this, =
this._pageLoadedInitialLoad);
        Sys.UI.DomEvent.addHandler(window, 'load', =
this._pageLoadedHandler);
    }

    function =
Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID, =
parentIDList) {
        for (var i =3D 0; i < parentIDList.length; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        var element =3D evt.target;
        if (element.disabled) {
            return;
        }

                this._postBackSettings =3D =
this._getPostBackSettings(element, element.name);


        if (element.name) {
            if (element.tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if (type =3D=3D=3D 'submit') {
                    this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
                }
                else if (type =3D=3D=3D 'image') {
                    var x =3D evt.offsetX;
                    var y =3D evt.offsetY;
                    this._additionalInput =3D element.name + '.x=3D' + x =
+ '&' + element.name + '.y=3D' + y;
                }
            }
            else if ((element.tagName =3D=3D=3D 'BUTTON') && =
(element.name.length !=3D=3D 0) && (element.type =3D=3D=3D 'submit')) {
                this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var continueSubmit =3D true;

                if (this._onsubmit) {
            continueSubmit =3D this._onsubmit();
        }

                if (continueSubmit) {
            for (var i =3D 0; i < this._onSubmitStatements.length; i++) =
{
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit =3D false;
                    break;
                }
            }
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    return;
        }

                        if (!this._postBackSettings.async) {
            return;
        }

                var formBody =3D new Sys.StringBuilder();
        formBody.append(this._scriptManagerID + '=3D' + =
this._postBackSettings.panelID + '&');

        var count =3D form.elements.length;
        for (var i =3D 0; i < count; i++) {
            var element =3D form.elements[i];
            var name =3D element.name;
            if (typeof(name) =3D=3D=3D "undefined" || (name =3D=3D=3D =
null) || (name.length =3D=3D=3D 0)) {
                continue;
            }

            var tagName =3D element.tagName;

            if (tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if ((type =3D=3D=3D 'text') ||
                    (type =3D=3D=3D 'password') ||
                    (type =3D=3D=3D 'hidden') ||
                    (((type =3D=3D=3D 'checkbox') || (type =3D=3D=3D =
'radio')) && element.checked)) {
                    formBody.append(name);
                    formBody.append('=3D');
                    formBody.append(encodeURIComponent(element.value));
                    formBody.append('&');
                }
            }
            else if (tagName =3D=3D=3D 'SELECT') {
                var optionCount =3D element.options.length;
                for (var j =3D 0; j < optionCount; j++) {
                    var option =3D element.options[j];
                    if (option.selected) {
                        formBody.append(name);
                        formBody.append('=3D');
                        =
formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName =3D=3D=3D 'TEXTAREA') {
                formBody.append(name);
                formBody.append('=3D');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }

        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput =3D null;
        }

        var request =3D new Sys.Net.WebRequest();
        request.set_url(form.action);
        request.get_headers()['X-MicrosoftAjax'] =3D 'Delta=3Dtrue';
        request.get_headers()['Cache-Control'] =3D 'no-cache';
        request.set_timeout(this._asyncPostBackTimeout);
        request.add_completed(Function.createDelegate(this, =
this._onFormSubmitCompleted));
        request.set_body(formBody.toString());

        var handler =3D =
this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.InitializeRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
            continueSubmit =3D !eventArgs.get_cancel();
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

                this._scrollPosition =3D this._getScrollPosition();


                                this.abortPostBack();

        handler =3D =
this._get_eventHandlerList().getHandler("beginRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.BeginRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
        }

        this._request =3D request;
        request.invoke();

                if (evt) {
            evt.preventDefault();
        }
    }

    function =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, =
eventArgs) {
        this._processingRequest =3D true;

        var delimitByLengthDelimiter =3D '|';
       =20
        if (sender.get_timedOut()) {
            =
this._endPostBack(this._createPageRequestManagerTimeoutError(), sender);
            return;
        }

        if (sender.get_aborted()) {
            this._endPostBack(null, sender);
            return;
        }

                if (!this._request || sender.get_webRequest() !=3D=3D =
this._request) {
            return;
        }

        var errorMessage;
        var delta =3D [];

                if (sender.get_statusCode() !=3D=3D 200) {
            =
this._endPostBack(this._createPageRequestManagerServerError(sender.get_st=
atusCode()), sender);
            return;
        }

                        var reply =3D sender.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex =3D 0;
        var parserErrorDetails =3D null;

        while (replyIndex < reply.length) {
                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            len =3D parseInt(reply.substring(replyIndex, =
delimiterIndex), 10);
            if ((len % 1) !=3D=3D 0) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            type =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            id =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        if ((replyIndex + len) >=3D reply.length) {
                parserErrorDetails =3D this._findText(reply, =
reply.length);
                break;
            }
            content =3D this._decodeString(reply.substr(replyIndex, =
len));
            replyIndex +=3D len;

                        if (reply.charAt(replyIndex) !=3D=3D =
delimitByLengthDelimiter) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }

            replyIndex++;

            Array.add(delta, {type: type, id: id, content: content});
        }

                if (parserErrorDetails) {
            =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), sender);
            return;
        }


        var updatePanelNodes =3D [];
        var hiddenFieldNodes =3D [];
        var arrayDeclarationNodes =3D [];
        var scriptBlockNodes =3D [];
        var expandoNodes =3D [];
        var onSubmitNodes =3D [];
        var dataItemNodes =3D [];
        var dataItemJsonNodes =3D [];
        var scriptDisposeNodes =3D [];
        var asyncPostBackControlIDsNode, postBackControlIDsNode,
            updatePanelIDsNode, asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode, panelsToRefreshNode, =
formActionNode;

                for (var i =3D 0; i < delta.length; i++) {
            var deltaNode =3D delta[i];
            switch (deltaNode.type) {
                case "updatePanel":
                    Array.add(updatePanelNodes, deltaNode);
                    break;
                case "hiddenField":
                    Array.add(hiddenFieldNodes, deltaNode);
                    break;
                case "arrayDeclaration":
                    Array.add(arrayDeclarationNodes, deltaNode);
                    break;
                case "scriptBlock":
                    Array.add(scriptBlockNodes, deltaNode);
                    break;
                case "expando":
                    Array.add(expandoNodes, deltaNode);
                    break;
                case "onSubmit":
                    Array.add(onSubmitNodes, deltaNode);
                    break;
                case "asyncPostBackControlIDs":
                    asyncPostBackControlIDsNode =3D deltaNode;
                    break;
                case "postBackControlIDs":
                    postBackControlIDsNode =3D deltaNode;
                    break;
                case "updatePanelIDs":
                    updatePanelIDsNode =3D deltaNode;
                    break;
                case "asyncPostBackTimeout":
                    asyncPostBackTimeoutNode =3D deltaNode;
                    break;
                case "childUpdatePanelIDs":
                    childUpdatePanelIDsNode =3D deltaNode;
                    break;
                case "panelsToRefreshIDs":
                    panelsToRefreshNode =3D deltaNode;
                    break;
                case "formAction":
                    formActionNode =3D deltaNode;
                    break;
                case "dataItem":
                    Array.add(dataItemNodes, deltaNode);
                    break;
                case "dataItemJson":
                    Array.add(dataItemJsonNodes, deltaNode);
                    break;
                case "scriptDispose":
                    Array.add(scriptDisposeNodes, deltaNode);
                    break;
                case "pageRedirect":
                    window.location.href =3D deltaNode.content;
                    return;
                case "error":
                                        =
this._endPostBack(this._createPageRequestManagerServerError(Number.parseI=
nvariant(deltaNode.id), deltaNode.content), sender);
                    return;
                case "pageTitle":
                    document.title =3D deltaNode.content;
                    break;
                case "focus":
                    this._controlIDToFocus =3D deltaNode.content;
                    break;
                default:
                                        =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), sender);
                    return;
            }
        }

        var i;

                if (asyncPostBackControlIDsNode && =
postBackControlIDsNode &&
            updatePanelIDsNode && panelsToRefreshNode &&
            asyncPostBackTimeoutNode && childUpdatePanelIDsNode) {

            this._oldUpdatePanelIDs =3D this._updatePanelIDs;
            var childUpdatePanelIDsString =3D =
childUpdatePanelIDsNode.content;
            this._childUpdatePanelIDs =3D =
childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') =
: [];

            var asyncPostBackControlIDsArray =3D =
this._splitNodeIntoArray(asyncPostBackControlIDsNode);
            var postBackControlIDsArray =3D =
this._splitNodeIntoArray(postBackControlIDsNode);
            var updatePanelIDsArray =3D =
this._splitNodeIntoArray(updatePanelIDsNode);
            this._panelsToRefreshIDs =3D =
this._splitNodeIntoArray(panelsToRefreshNode);

                                                for (i =3D 0; i < =
this._panelsToRefreshIDs.length; i++) {
                var panelClientID =3D =
this._uniqueIDToClientID(this._panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, panelClientID)), sender);
                    return;
                }
            }

            var asyncPostBackTimeout =3D =
asyncPostBackTimeoutNode.content;
            this._updateControls(updatePanelIDsArray, =
asyncPostBackControlIDsArray, postBackControlIDsArray, =
asyncPostBackTimeout);
        }

                this._dataItems =3D {};
        for (i =3D 0; i < dataItemNodes.length; i++) {
            var dataItemNode =3D dataItemNodes[i];
            this._dataItems[dataItemNode.id] =3D dataItemNode.content;
        }
        for (i =3D 0; i < dataItemJsonNodes.length; i++) {
            var dataItemJsonNode =3D dataItemJsonNodes[i];
            this._dataItems[dataItemJsonNode.id] =3D =
eval(dataItemJsonNode.content);
        }


        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs());
        }


                if (formActionNode) {
            this._form.action =3D formActionNode.content;
                                                =
this._form._initialAction =3D this._form.action;
        }

                                for (i =3D 0; i < =
updatePanelNodes.length; i++) {
            var deltaUpdatePanel =3D updatePanelNodes[i];

            var deltaPanelID =3D deltaUpdatePanel.id;
            var deltaPanelRendering =3D deltaUpdatePanel.content;

            var updatePanelElement =3D =
document.getElementById(deltaPanelID);

            if (!updatePanelElement) {
                =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, deltaPanelID)), sender);
                return;
            }

            this._updatePanel(updatePanelElement, deltaPanelRendering);
        }

                                for (i =3D 0; i < =
scriptDisposeNodes.length; i++) {
            var disposePanelId =3D scriptDisposeNodes[i].id;
            var disposeScript =3D scriptDisposeNodes[i].content;
            this._registerDisposeScript(disposePanelId, disposeScript);
        }

                for (i =3D 0; i < hiddenFieldNodes.length; i++) {
            var id =3D hiddenFieldNodes[i].id;
            var value =3D hiddenFieldNodes[i].content;

            var hiddenFieldElement =3D document.getElementById(id);
            if (!hiddenFieldElement) {
                                hiddenFieldElement =3D =
document.createElement('input');
                hiddenFieldElement.id =3D id;
                hiddenFieldElement.name =3D id;
                hiddenFieldElement.type =3D 'hidden';
                this._form.appendChild(hiddenFieldElement);
            }
            hiddenFieldElement.value =3D value;
        }

                var arrayScript =3D '';
        for (i =3D 0; i < arrayDeclarationNodes.length; i++) {
            arrayScript +=3D =
"Sys.WebForms.PageRequestManager._addArrayElement('" + =
arrayDeclarationNodes[i].id + "', " + arrayDeclarationNodes[i].content + =
");\r\n";
        }

                var expandoScript =3D '';
        for (i =3D 0; i < expandoNodes.length; i++) {
            var propertyReference =3D expandoNodes[i].id;
            var propertyValue =3D expandoNodes[i].content;
            expandoScript +=3D propertyReference + " =3D " + =
propertyValue + "\r\n";
        }

                        Sys._ScriptLoader.readLoadedScripts();

                                Sys.Application.beginCreateComponents();

        var scriptLoader =3D Sys._ScriptLoader.getInstance();

                                        if (arrayScript.length) {
            scriptLoader.queueScriptBlock(arrayScript);
        }
        if (expandoScript.length) {
            scriptLoader.queueScriptBlock(expandoScript);
        }

        for (i =3D 0; i < scriptBlockNodes.length; i++) {
            var scriptBlockType =3D scriptBlockNodes[i].id;
            switch (scriptBlockType) {
                case "ScriptContentNoTags":
                                        =
scriptLoader.queueScriptBlock(scriptBlockNodes[i].content);
                    break;
                case "ScriptContentWithTags":
                                        var scriptTagAttributes;
                    eval("scriptTagAttributes =3D " + =
scriptBlockNodes[i].content);

                                        if (scriptTagAttributes.src && =
Sys._ScriptLoader.isScriptLoaded(scriptTagAttributes.src)) {
                        continue;
                    }

                    =
scriptLoader.queueCustomScriptTag(scriptTagAttributes);
                    break;
                case "ScriptPath":
                                        if =
(Sys._ScriptLoader.isScriptLoaded(scriptBlockNodes[i].content)) {
                        continue;
                    }

                                        =
scriptLoader.queueScriptReference(scriptBlockNodes[i].content);
                    break;
            }
        }

                        var onSubmitStatementScript =3D '';
        for (var i =3D 0; i < onSubmitNodes.length; i++) {
            if (i =3D=3D=3D 0) {
                onSubmitStatementScript =3D =
'Array.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStateme=
nts, function() {\r\n';
            }

            onSubmitStatementScript +=3D onSubmitNodes[i].content + =
"\r\n";
        }
        if (onSubmitStatementScript.length) {
            onSubmitStatementScript +=3D "\r\nreturn true;\r\n});\r\n";
            scriptLoader.queueScriptBlock(onSubmitStatementScript);
        }

                this._response =3D sender;

                        scriptLoader.loadScripts(0, =
Function.createDelegate(this, this._scriptsLoadComplete), null, null);

                    }

    function Sys$WebForms$PageRequestManager$_onWindowUnload(evt) {
        this.dispose();
    }

    function Sys$WebForms$PageRequestManager$_pageLoaded(initialLoad) {
        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoaded");
        if (handler) {
            handler(this, this._getPageLoadedEventArgs(initialLoad));
        }
        if (!initialLoad) {
                                    Sys.Application.raiseLoad();
        }
    }

    function Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad(evt) =
{
        this._pageLoaded(true);
    }

    function =
Sys$WebForms$PageRequestManager$_registerDisposeScript(panelID, =
disposeScript) {
        if (!this._scriptDisposes[panelID]) {
            this._scriptDisposes[panelID] =3D [disposeScript];
        }
        else {
            Array.add(this._scriptDisposes[panelID], disposeScript);
        }
    }

    function Sys$WebForms$PageRequestManager$_scriptsLoadComplete() {
                       =20
                                                if =
(window.__theFormPostData) {
            window.__theFormPostData =3D "";
        }
        if (window.__theFormPostCollection) {
            window.__theFormPostCollection =3D [];
        }
        if (window.WebForm_InitCallback) {
            window.WebForm_InitCallback();
        }

                if (this._scrollPosition) {
                        if (window.scrollTo) {
                window.scrollTo(this._scrollPosition.x, =
this._scrollPosition.y);
            }
            this._scrollPosition =3D null;
        }

        Sys.Application.endCreateComponents();

                this._pageLoaded(false);

        this._endPostBack(null, this._response);
        this._response =3D null;

                if (this._controlIDToFocus) {
            var focusTarget;
            var oldContentEditableSetting;
            if (Sys.Browser.agent =3D=3D=3D =
Sys.Browser.InternetExplorer) {
                                                                         =
       var targetControl =3D $get(this._controlIDToFocus);

                var focusTarget =3D targetControl;
                                if (targetControl && =
(!WebForm_CanFocus(targetControl))) {
                    focusTarget =3D =
WebForm_FindFirstFocusableChild(targetControl);
                }
                                                if (focusTarget && =
(typeof(focusTarget.contentEditable) !=3D=3D "undefined")) {
                    oldContentEditableSetting =3D =
focusTarget.contentEditable;
                    focusTarget.contentEditable =3D false;
                }
                else {
                    focusTarget =3D null;
                }
            }
            WebForm_AutoFocus(this._controlIDToFocus);
            if (focusTarget) {
                                focusTarget.contentEditable =3D =
oldContentEditableSetting;
            }
            this._controlIDToFocus =3D null;
        }
    }

    function Sys$WebForms$PageRequestManager$_splitNodeIntoArray(node) {
        var str =3D node.content;
        var arr =3D str.length ? str.split(',') : [];
        return arr;
    }

    function =
Sys$WebForms$PageRequestManager$_uniqueIDToClientID(uniqueID) {
                return uniqueID.replace(/\$/g, '_');
    }

    function =
Sys$WebForms$PageRequestManager$_updateControls(updatePanelIDs, =
asyncPostBackControlIDs, postBackControlIDs, asyncPostBackTimeout) {
        if (updatePanelIDs) {
                                                this._updatePanelIDs =3D =
new Array(updatePanelIDs.length);
            this._updatePanelClientIDs =3D new =
Array(updatePanelIDs.length);
            this._updatePanelHasChildrenAsTriggers =3D new =
Array(updatePanelIDs.length);
            for (var i =3D 0; i < updatePanelIDs.length; i++) {
                var realPanelID =3D updatePanelIDs[i].substr(1);
                var childrenAsTriggers =3D (updatePanelIDs[i].charAt(0) =
=3D=3D=3D 't');

                                =
this._updatePanelHasChildrenAsTriggers[i] =3D childrenAsTriggers;
                this._updatePanelIDs[i] =3D realPanelID;
                this._updatePanelClientIDs[i] =3D =
this._uniqueIDToClientID(realPanelID);
            }
            this._asyncPostBackTimeout =3D asyncPostBackTimeout * 1000;
        }
        else {
            this._updatePanelIDs =3D [];
            this._updatePanelClientIDs =3D [];
            this._updatePanelHasChildrenAsTriggers =3D [];
            this._asyncPostBackTimeout =3D 0;
        }

        this._asyncPostBackControlIDs =3D [];
        this._asyncPostBackControlClientIDs =3D [];
        this._convertToClientIDs(asyncPostBackControlIDs, =
this._asyncPostBackControlIDs, this._asyncPostBackControlClientIDs);

        this._postBackControlIDs =3D [];
        this._postBackControlClientIDs =3D [];
        this._convertToClientIDs(postBackControlIDs, =
this._postBackControlIDs, this._postBackControlClientIDs);
    }

    function =
Sys$WebForms$PageRequestManager$_updatePanel(updatePanelElement, =
rendering) {

        for (var updatePanelID in this._scriptDisposes) {
            if (this._elementContains(updatePanelElement, =
document.getElementById(updatePanelID))) {
                                var disposeScripts =3D =
this._scriptDisposes[updatePanelID];
                for (var i =3D 0; i < disposeScripts.length; i++) {
                    eval(disposeScripts[i]);
                }

                                delete =
this._scriptDisposes[updatePanelID];
            }
        }

        this._destroyTree(updatePanelElement);

                updatePanelElement.innerHTML =3D rendering;
    }

    function Sys$WebForms$PageRequestManager$_validPosition(position) {
        return (typeof(position) !=3D=3D "undefined") && (position =
!=3D=3D null) && (position !=3D=3D 0);
    }
Sys.WebForms.PageRequestManager.prototype =3D {

    _get_eventHandlerList: =
Sys$WebForms$PageRequestManager$_get_eventHandlerList,

    get_isInAsyncPostBack: =
Sys$WebForms$PageRequestManager$get_isInAsyncPostBack,

        add_beginRequest: =
Sys$WebForms$PageRequestManager$add_beginRequest,
    remove_beginRequest: =
Sys$WebForms$PageRequestManager$remove_beginRequest,

    add_endRequest: Sys$WebForms$PageRequestManager$add_endRequest,
    remove_endRequest: =
Sys$WebForms$PageRequestManager$remove_endRequest,

    add_initializeRequest: =
Sys$WebForms$PageRequestManager$add_initializeRequest,
    remove_initializeRequest: =
Sys$WebForms$PageRequestManager$remove_initializeRequest,

    add_pageLoaded: Sys$WebForms$PageRequestManager$add_pageLoaded,
    remove_pageLoaded: =
Sys$WebForms$PageRequestManager$remove_pageLoaded,

    add_pageLoading: Sys$WebForms$PageRequestManager$add_pageLoading,
    remove_pageLoading: =
Sys$WebForms$PageRequestManager$remove_pageLoading,

    abortPostBack: Sys$WebForms$PageRequestManager$abortPostBack,

    _createPageRequestManagerTimeoutError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError,

    _createPageRequestManagerServerError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError,

    _createPageRequestManagerParserError: =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError,

    _createPostBackSettings: =
Sys$WebForms$PageRequestManager$_createPostBackSettings,

    _convertToClientIDs: =
Sys$WebForms$PageRequestManager$_convertToClientIDs,

    _decodeString: Sys$WebForms$PageRequestManager$_decodeString,

    _destroyTree: Sys$WebForms$PageRequestManager$_destroyTree,

    dispose: Sys$WebForms$PageRequestManager$dispose,

        _doPostBack: Sys$WebForms$PageRequestManager$_doPostBack,

    _elementContains: Sys$WebForms$PageRequestManager$_elementContains,

    _endPostBack: Sys$WebForms$PageRequestManager$_endPostBack,

            _findNearestElement: =
Sys$WebForms$PageRequestManager$_findNearestElement,

    _findText: Sys$WebForms$PageRequestManager$_findText,

    _getPageLoadedEventArgs: =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs,

    _getPageLoadingEventArgs: =
Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs,

    _getPostBackSettings: =
Sys$WebForms$PageRequestManager$_getPostBackSettings,

    _getScrollPosition: =
Sys$WebForms$PageRequestManager$_getScrollPosition,

    _initializeInternal: =
Sys$WebForms$PageRequestManager$_initializeInternal,

    _matchesParentIDInList: =
Sys$WebForms$PageRequestManager$_matchesParentIDInList,

    _onFormElementClick: =
Sys$WebForms$PageRequestManager$_onFormElementClick,

    _onFormSubmit: Sys$WebForms$PageRequestManager$_onFormSubmit,

    _onFormSubmitCompleted: =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted,

    _onWindowUnload: Sys$WebForms$PageRequestManager$_onWindowUnload,

    _pageLoaded: Sys$WebForms$PageRequestManager$_pageLoaded,

    _pageLoadedInitialLoad: =
Sys$WebForms$PageRequestManager$_pageLoadedInitialLoad,

    _registerDisposeScript: =
Sys$WebForms$PageRequestManager$_registerDisposeScript,

    _scriptsLoadComplete: =
Sys$WebForms$PageRequestManager$_scriptsLoadComplete,

    _splitNodeIntoArray: =
Sys$WebForms$PageRequestManager$_splitNodeIntoArray,

    _uniqueIDToClientID: =
Sys$WebForms$PageRequestManager$_uniqueIDToClientID,

    _updateControls: Sys$WebForms$PageRequestManager$_updateControls,

    _updatePanel: Sys$WebForms$PageRequestManager$_updatePanel,

    _validPosition: Sys$WebForms$PageRequestManager$_validPosition
}

Sys.WebForms.PageRequestManager.getInstance =3D function =
Sys$WebForms$PageRequestManager$getInstance() {
    /// <returns type=3D"Sys.WebForms.PageRequestManager"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Sys.WebForms.PageRequestManager._instance || null;
}

Sys.WebForms.PageRequestManager._addArrayElement =3D function =
Sys$WebForms$PageRequestManager$_addArrayElement(arrayName, arrayValue) =
{
    if (typeof(window[arrayName]) =3D=3D=3D "undefined") {
                window[arrayName] =3D [ arrayValue ];
    }
    else {
                Array.add(window[arrayName], arrayValue);
    }
}

Sys.WebForms.PageRequestManager._initialize =3D function =
Sys$WebForms$PageRequestManager$_initialize(scriptManagerID, =
formElement) {
    if (Sys.WebForms.PageRequestManager.getInstance()) {
        throw =
Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);
    }
    Sys.WebForms.PageRequestManager._instance =3D new =
Sys.WebForms.PageRequestManager();
    =
Sys.WebForms.PageRequestManager.getInstance()._initializeInternal(scriptM=
anagerID, formElement);
}

Sys.WebForms.PageRequestManager.registerClass('Sys.WebForms.PageRequestMa=
nager');
Sys.UI._UpdateProgress =3D function Sys$UI$_UpdateProgress(element) {
    Sys.UI._UpdateProgress.initializeBase(this,[element]);
    this._displayAfter =3D 500;
    this._dynamicLayout =3D true;
    this._associatedUpdatePanelId =3D null;
    this._beginRequestHandlerDelegate =3D null;
    this._startDelegate =3D null;
    this._endRequestHandlerDelegate =3D null;
    this._pageRequestManager =3D null;
    this._timerCookie =3D null;
}

    function Sys$UI$_UpdateProgress$get_displayAfter() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._displayAfter;
    }
    function Sys$UI$_UpdateProgress$set_displayAfter(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._displayAfter =3D value;
    }
    function Sys$UI$_UpdateProgress$get_dynamicLayout() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dynamicLayout;
    }
    function Sys$UI$_UpdateProgress$set_dynamicLayout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._dynamicLayout =3D value;
    }
    function Sys$UI$_UpdateProgress$get_associatedUpdatePanelId() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._associatedUpdatePanelId;
    }
    function Sys$UI$_UpdateProgress$set_associatedUpdatePanelId(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        this._associatedUpdatePanelId =3D value;
    }
    function Sys$UI$_UpdateProgress$_handleBeginRequest(sender, arg) {
        var curElem =3D arg.get_postBackElement();
        var showProgress =3D !this._associatedUpdatePanelId;=20
        while (!showProgress && curElem) {
            if (curElem.id && this._associatedUpdatePanelId =3D=3D=3D =
curElem.id) {
                showProgress =3D true;=20
            }
            curElem =3D curElem.parentNode;=20
        }=20
        if (showProgress) {
            this._timerCookie =3D window.setTimeout(this._startDelegate, =
this._displayAfter);
        }
    }
    function Sys$UI$_UpdateProgress$_startRequest() {
        if (this._pageRequestManager.get_isInAsyncPostBack()) {
            if (this._dynamicLayout) this.get_element().style.display =
=3D 'block';
            else this.get_element().style.visibility =3D 'visible';
        }
        this._timerCookie =3D null;
    }
    function Sys$UI$_UpdateProgress$_handleEndRequest(sender, arg) {
        if (this._dynamicLayout) this.get_element().style.display =3D =
'none';
        else this.get_element().style.visibility =3D 'hidden';
        if (this._timerCookie) {
            window.clearTimeout(this._timerCookie);
            this._timerCookie =3D null;
        }
    }
    function Sys$UI$_UpdateProgress$dispose() {
       if (this._pageRequestManager !=3D=3D null) {
           =
this._pageRequestManager.remove_beginRequest(this._beginRequestHandlerDel=
egate);
           =
this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegat=
e);
       }
       Sys.UI._UpdateProgress.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_UpdateProgress$initialize() {
        Sys.UI._UpdateProgress.callBaseMethod(this, 'initialize');
    	this._beginRequestHandlerDelegate =3D Function.createDelegate(this, =
this._handleBeginRequest);
    	this._endRequestHandlerDelegate =3D Function.createDelegate(this, =
this._handleEndRequest);
    	this._startDelegate =3D Function.createDelegate(this, =
this._startRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager) {
           this._pageRequestManager =3D =
Sys.WebForms.PageRequestManager.getInstance();
    	}
    	if (this._pageRequestManager !=3D=3D null ) {
               	    =
this._pageRequestManager.add_beginRequest(this._beginRequestHandlerDelega=
te);
    	    =
this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);=

    	}
    }
Sys.UI._UpdateProgress.prototype =3D {
    get_displayAfter: Sys$UI$_UpdateProgress$get_displayAfter,
    set_displayAfter: Sys$UI$_UpdateProgress$set_displayAfter,
    get_dynamicLayout: Sys$UI$_UpdateProgress$get_dynamicLayout,
    set_dynamicLayout: Sys$UI$_UpdateProgress$set_dynamicLayout,
    get_associatedUpdatePanelId: =
Sys$UI$_UpdateProgress$get_associatedUpdatePanelId,
    set_associatedUpdatePanelId: =
Sys$UI$_UpdateProgress$set_associatedUpdatePanelId,
    _handleBeginRequest: Sys$UI$_UpdateProgress$_handleBeginRequest,
    _startRequest: Sys$UI$_UpdateProgress$_startRequest,
    _handleEndRequest: Sys$UI$_UpdateProgress$_handleEndRequest,
    dispose: Sys$UI$_UpdateProgress$dispose,
    initialize: Sys$UI$_UpdateProgress$initialize
}
Sys.UI._UpdateProgress.registerClass('Sys.UI._UpdateProgress', =
Sys.UI.Control);

Type.registerNamespace('Sys.WebForms');
Sys.WebForms.Res=3D{
"PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. =
If it is being updated dynamically then it must be inside another =
UpdatePanel.",
"PRM_ServerError":"An unknown error occurred while processing the =
request on the server. The status code returned from the server was: =
{0}",
"PRM_ParserError":"The message received from the server could not be =
parsed.",
"PRM_TimeoutError":"The server request timed out.",
"PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized =
more than once.",
"PRM_UnknownToken":"Unknown token: \u0027{0}\u0027.",
"PRM_MissingPanel":"Could not find UpdatePanel with ID \u0027{0}\u0027. =
If it is being updated dynamically then it must be inside another =
UpdatePanel.",
"PRM_ServerError":"An unknown error occurred while processing the =
request on the server. The status code returned from the server was: =
{0}",
"PRM_ParserError":"The message received from the server could not be =
parsed. Common causes for this error are when the response is modified =
by calls to Response.Write(), response filters, HttpModules, or server =
trace is enabled.\r\nDetails: {0}",
"PRM_TimeoutError":"The server request timed out.",
"PRM_ParserErrorDetails":"Error parsing near \u0027{0}\u0027.",
"PRM_CannotRegisterTwice":"The PageRequestManager cannot be initialized =
more than once."
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0171_01C948FB.B1380700
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.maesdugolfclub.co.uk/ScriptResource.axd?d=6VwuPCwYSKIa6nimHdWfAkAwhElmCYbDmiwSFG1H8etH80u0YF-EMi-YSOQlYQdMXJIgXgyqAtutEW4Mbl8wQgMk8GkoROaoFF2ryFQSuCAlBYILswnQOVmwngSb-J_b0&t=633449729323280000

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjaxTimer.js
// Sys.UI._Timer component

/////////////////////////////////////////////////////////////////////////=
//////

Sys.UI._Timer =3D function Sys$UI$_Timer(element) {
    Sys.UI._Timer.initializeBase(this,[element]);
    this._interval =3D 60000;
    this._enabled =3D true;
    this._postbackPending =3D false;
    this._raiseTickDelegate =3D null;
    this._endRequestHandlerDelegate =3D null;
    this._timer =3D null;
    this._pageRequestManager =3D null;
    this._uniqueID =3D null;
}

    function Sys$UI$_Timer$get_enabled() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._enabled;
    }
    function Sys$UI$_Timer$set_enabled(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._enabled =3D value;
    }
    function Sys$UI$_Timer$get_interval() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._interval;
    }
    function Sys$UI$_Timer$set_interval(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._interval =3D value;
    }
    function Sys$UI$_Timer$get_uniqueID(){
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._uniqueID;
    }
    function Sys$UI$_Timer$set_uniqueID(value){
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._uniqueID =3D value;
    }
    function Sys$UI$_Timer$dispose(){
       this._stopTimer();
       if(this._pageRequestManager !=3D=3D null){
           =
this._pageRequestManager.remove_endRequest(this._endRequestHandlerDelegat=
e);
       }
       Sys.UI._Timer.callBaseMethod(this,"dispose");
    }
    function Sys$UI$_Timer$_doPostback(){
        __doPostBack(this.get_uniqueID(),'');
    }
    function Sys$UI$_Timer$_handleEndRequest(sender, arg){
        var dataItem =3D arg.get_dataItems()[this.get_id()];
	    if (dataItem){
            this._update(dataItem[0],dataItem[1]);
	  	}
	 =20
         	    if ((this._postbackPending =3D=3D=3D true) && =
(this._pageRequestManager !=3D=3D =
null)&&(this._pageRequestManager.get_isInAsyncPostBack() =3D=3D=3D =
false)){
    	   	this._postbackPending =3D false;
            this._doPostback();
        }
	  =20
    }
    function Sys$UI$_Timer$initialize(){
        Sys.UI._Timer.callBaseMethod(this, 'initialize');
    	this._raiseTickDelegate =3D =
Function.createDelegate(this,this._raiseTick);
    	this._endRequestHandlerDelegate =3D =
Function.createDelegate(this,this._handleEndRequest);
    	if (Sys.WebForms && Sys.WebForms.PageRequestManager){
           this._pageRequestManager =3D =
Sys.WebForms.PageRequestManager.getInstance(); =20
    	}
    	if (this._pageRequestManager !=3D=3D null ){
    	    =
this._pageRequestManager.add_endRequest(this._endRequestHandlerDelegate);=

    	}
        if(this.get_enabled()) {
            this._startTimer();
        }
    }
    function Sys$UI$_Timer$_raiseTick() {
                this._startTimer();
        if ((this._pageRequestManager =3D=3D=3D null) || =
(!this._pageRequestManager.get_isInAsyncPostBack())){
            this._doPostback();
            this._postbackPending =3D false;
        }=20
        else {
            this._postbackPending =3D true;
        }
    }
    function Sys$UI$_Timer$_startTimer(){
                                this._timer =3D =
window.setTimeout(Function.createDelegate(this,this._raiseTick),this.get_=
interval());
    }
    function Sys$UI$_Timer$_stopTimer(){
	    if (this._timer !=3D=3D null){
	 	    window.clearTimeout(this._timer);
		    this._timer =3D null;
       } =09
    }
    function Sys$UI$_Timer$_update(enabled,interval) {
        var stopped =3D !this.get_enabled();
        var intervalChanged=3D (this.get_interval() !=3D=3D interval);
	    if ((!stopped) && ((!enabled)||(intervalChanged))){
    	  	this._stopTimer();
    		stopped =3D true;
       	}=20
    	this.set_enabled(enabled);
    	this.set_interval(interval);
    	if ((this.get_enabled()) && (stopped)){
    	    this._startTimer();
    	}
    }
Sys.UI._Timer.prototype =3D {
    get_enabled: Sys$UI$_Timer$get_enabled,
    set_enabled: Sys$UI$_Timer$set_enabled,
    get_interval: Sys$UI$_Timer$get_interval,
    set_interval: Sys$UI$_Timer$set_interval,
    get_uniqueID: Sys$UI$_Timer$get_uniqueID,
    set_uniqueID: Sys$UI$_Timer$set_uniqueID,
    dispose: Sys$UI$_Timer$dispose,
    _doPostback: Sys$UI$_Timer$_doPostback,
    _handleEndRequest: Sys$UI$_Timer$_handleEndRequest,
    initialize: Sys$UI$_Timer$initialize,
    _raiseTick: Sys$UI$_Timer$_raiseTick,
    _startTimer: Sys$UI$_Timer$_startTimer,
    _stopTimer: Sys$UI$_Timer$_stopTimer,
    _update: Sys$UI$_Timer$_update
}
Sys.UI._Timer.registerClass('Sys.UI._Timer', Sys.UI.Control);


if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0171_01C948FB.B1380700--

