From: "Saved by Windows Internet Explorer 8"
Subject: Meet Real Free-Range Eggs
Date: Sun, 26 Sep 2010 09:26:32 -0700
MIME-Version: 1.0
Content-Type: multipart/related;
	type="multipart/alternative";
	boundary="----=_NextPart_000_0000_01CB5D5C.E87F1C90"
X-MimeOLE: Produced By Microsoft MimeOLE V6.1.7600.16543

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.motherearthnews.com/App_Themes/default/images/simple.gif

R0lGODlhEAAQAPIAAMzMzAAAAJubmzU1NQAAAE5OTmhoaHV1dSH+GkNyZWF0ZWQgd2l0aCBhamF4
bG9hZC5pbmZvACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAADMwi63P4wyklr
E2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQACgABACwAAAAA
EAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUk
KhIAIfkEAAoAAgAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9
HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkEAAoAAwAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYum
CYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkEAAoABAAsAAAAABAAEAAAAzII
unInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQACgAF
ACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJ
ibufbSlKAAAh+QQACgAGACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFG
xTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAAKAAcALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdce
CAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.motherearthnews.com/images/uploaded/banners/logo.gif

R0lGODlhnAFqAOYAAEFqqBI7eTI7TvLz9SxUknJ4hGKLyaamqPr5+SBIhFt5pzxlo7m3uRtEguXk
5EtLUSJEeDRcmkNUcCRNinh2dpiXmaa3z93d3Ut0suvr6w8fOR5DezlhnmeCqzZGYvz8/FdidtTT
1ChRjoGHkg0jRVF6uIaGi8zLyzRBWMTP3yU9ZQ0pVJerx5iaoEtsn0tUZitDasPDxB1AdFRZZGN7
oWNqeDBYlh46Z2RkaV50lg0xaA42c0ZvrbXD1+Hn7zZUhCA2WUhiimyHsHp/iiAqPzFKcmtxfkBV
eCpMgU5cdTBWkA0tX1lqhh9GgViBv46Smj5KYNTW2KmrsEJdiDdbkxouUKKipa2wtZ6dn7OxsnFw
c21rbcXExcfGxj5OaoyLjo+Pk6Cfoa2srHx8gFtZWoOBgyUySomewHqSudPb5xdAfvv7+769vefm
5s/Pz+jn5/j4+ODg4NrZ2cDAwNfW1snIyF1fZjw9Reno6ZOSk/Dw8Pz8+9bY222Isf///yFKiCH5
BAAAAAAALAAAAACcAWoAAAf/gH8uQn2FhoeIiR0KVCJ/j5CRkpOUlY8iVAodiZydQi6WoaKjpKWm
p6ipqqusra6vsLGRLp21hx0uSrKoSi6btrYuE7vExcbHyMnKy8TAtbgEzKIEvs6dLo7S2tvc3d7f
u9aI0OCU1L/ihgrZ5e3u7/Dxrel9Qgq68pBKCoT0fev5AgocSFBbug4chhGcwAFdOmEFI0qcSJGU
OBfRJlLz1wdixY8gQ+Zz1mGBQooTFji0Bkqky5cwmQFj5DITPSELYurcyZOVLQUZXRJQQK8DlZ5I
kyqNVMujrJOSRETgYEPUhKunJtA6GHSp168hOX2C+koEARtdIYlYMFWECLJ//yYQiMCDAyqt/awp
gAu2r9+RiD6FMosVElyoItDODaBwgo0JTjBQVXM4gg0eERTaYCdq0MO/oEPDC9yykmMAC3jklMuh
K4G3BKKJ4OAEcwm0b93aoLqgBIAIk2JjNsuBwwIbEThX8mzNqOjn0LchKm0ppeQIU538jlR1NwG5
agDwEMHjd5PMxnkQcFKiwfdsNmwssHt1AQYbTWJzUE5pq17+0QUo4CuHOEWJW2bJNxcGGKxl1iVy
ObIWBhG8hoFqEeQ0lWTI8YDBXG/Fp9puIgBglhocmEiKVp8N6OKLq6jDVyQppmYDBvbxcCMAN2KH
nW5/FFciB76xhdkEdHFQYf8EBjjGUIZ/qKHDBCWYxIGOxxGwAICRTEBUc/jAKOaYlhQC1CgEYPCH
CGqI4ISSBGDGgwF0OpFZYmwR0EADlgFQghMElJCkCAHssNYCBKhBgAE8RLZCABWKkMAfOuQ3gYdc
QjKUOHuR6emnf/ThHJrHTVUVoQ00gYET7Ek2AQCSjXdVclKRd2Gj9jUQl3vuIemEfVfuoOgCsIao
JFSxTULFSp7YBeqzL+JUXbJ/vIYkjivscFuJkZVwBgYAMApAcXHJl9BxHj4SgA46rNvEDjpEMO6F
BOzwh3pNNICkiWk9gt2pFT6yQF4/zQjtwX4pMJhliSW4G4ln8VDChQbg6Cf/AH8EMN9lKWZILABO
7EDCyCusoMNjKzTw23wk7EDhujtMoGZaxCn5B7jsfAmMtAj3HFq/Xar2J8i9/YHdHwmkxIHGv4pQ
5VQAjNuafSXcxkECETSggQYkqBHAElGanB4GAVw2XtnxOaaWZQ/zMGdCmjLLSQeZ+mw3aBimWFdk
f2T7x8Y3zyZXhajNR+urPN7HdQM7BPB1zDoskW0CJaoxqRpoNSEhd45xoOhuH0rCAcG15HT36aFl
+BYHDFZsmWQcpJzTWSVQVZdxdCVn2AIGmF6CY4RGrkMDCUzMwx9diwB2bMDp18BjjhEAMmaaH6az
LXSjrn1fNryJY6D4YYdB/wkEBNBAAAmsQEKgO9il62zJvUfXAohKn37jTSwRwB83+oajb8I6XwDO
MgE1NIAq0ssaeY5WCSXILTDO2p4ElVIcqW0pUchpQqEatzQd/KEBJVuC5HSQGhzFB1bHu1IEdqCB
yJFABBg4TWp4VJ7n2SAAIDMAw9SjJGEZMGrzAZp/CjbBIvakVo6xTE7op74dxGw3v0nA17zmFnnF
Zy0eas3E6qUDqWjOTzawF9J2kxNFBUBiNqBctf7QOJPBiy2oyUxwHngIIRzFiHjkSZK+UxUn7mAF
RJIPACawhHYxiS1LupHb9CWeKzUIR0Hi0QQedb4FJECAA1yB/tiogx0kp/9QcdHRI2Y0xKbk8ZQw
QZJlHoEWy9hFeleaQBOMFsc4LWAJZlsUai60suLI6zsl0FG7hLWDJYhAVylaQuOKKS81eA1WBtjP
e9AiCQLQ0RAdABoqtxkRtzTGaH/IFwFa4zaO+bJjGdpNCehUtRTd8HzyAkBs5IMBsLGLBB4c557g
lQB8Sm5djjHAr9gCp0mUshOm46ZC4TGBuq1pLmhpQOT+tkZn1mVfNlhBAqJoH2JRaEsk2NoOkjYy
xznOLiMjQbYa8MJEJYpxuvrjABuAS8JQwoHOUNhCd1oOBK0JSI+wFvOs9cfGmfQ+cjFJVRgXACmp
oVpAtM8flxBSDWSLBEv/UENRW6a+bOHvgwVMk2RkqqffVKUS1+tEB8LE07Zqo6EI3M9JqiJF/inJ
ZsLKaMtsoKIAaI4DGnwMpUgwjEeJ0IkB4JoIJdfGEJZMA5dcQZvcUxWqzEZflaVmJahAOk4k1K2g
PYZc4rPOcZnorEbTkyMMVSql1iukK6CUMtFou+SIsGQ6KNmjpESyRzlRDSWDl8k66bgums8xZ0US
ouLCHeBEQgTXNFNop2uMaOBoPyoal1SowjDL2UCiGdufGpT5WJUazSy+MUAJAtAyEKqUqpHLVgj1
R1VNYtWPiJVoG9uCHAkh6iSvisZJDqoIh1L3wKY4zmamYoAzEAlQEfDN/2ZEQIKyTSC3GvhthVMS
ufCo5ng7kE8ATKZVrnFNt78lriZR4AUPoMADHpBAElBwA33tgHEqAEESdsxjCRQBtRX6gReMEAY2
sEEMJqgBExDBhBoY4clJkICUp0xlKXtBBTCoMpWvDAEvaHnKMJCBl79MZg+ImcxT9sIUirABUTQh
xmjWshdkMAkIwBnMlchynKU8BTpLQs973rIK7ixnCAD6yzCwxKGl7IFZRoLQUlaBCgJdZUmjec5/
gPSW6bxoCXgAAo8Q8xCyMAcGHMAIXgD1JJzrGGf+hkivSo7KFLRBJ0q0k+NTkxOLQyLkydef9iXZ
H9tVqGzJ4AB+gIOylf+9BjdoAGzDCAAR9ICAZcOh2naIRAI88AQH+OHbcPi2HsQAAnSMwAHVRsAH
km1tBPjhA9VewwXMYAQ/VNvacPiAAwTggQx8AN/X9kMZNBACdlt7Dd9ew72v3QIzuMHgy173uwdA
BzYUAAaTqoQMrGBvfLv73QtHQBfMMIkmVODe2Ha0JEDwgTUA/Nt+WAMe3HCAJKggEhIYQLo/8O92
xzzdMSACxxce8RMAQQIIIDqz1zCDSiSgAPAu+s0Ng2yU+2ELD4g5wNcNb5Tr4QUviDq+P3ABFPxB
DBBfth/aYHak9xwOazgAEP6ggifo4dsDgHkbDpBqSWRmwrLUH/GIZYP/JeireDoCQAL4igGrLiFN
aZRPAtqFmQjg1o1fWwHXXkhIzFGq2A+oA8xhLgcNCC48MJD46LNwhytOwAsFf3ce7iAALWTg23jY
Qg4KMYK7f/sEDBh9ssVwApi/gd9gCLfw4VAGM6igDLdffgUeUAUczEH4fpBDGLLwBuGHwQw4YAP2
uUCBMRQf5nEAgapL/oIwKB/mcBDDAeggfDeQfBIFEP4X/CwJFJTB28JXAVpQAdGXbAxgdo8gAao3
B+cHcwPAAHIAcydABC+AdtgnB1sABCrAcdgXB2UgAJYABQ8nfCbAf39ABgegfB8gBndgBiYQgfWH
BXOQdzDHdAKQBdjn/wd4UAZzNwMjKHxcoAVzBwNgUIADkIEqgGzZRwYC8ABcAHN4gAPrtyYbNU1h
9FSyISWXIRXjMxd0ESHxwXh1MRc8UEDO1Did9Ecp1TIBcEwi8GwjNjJEEHvoZwY35ggc4AXv920H
QAQQQCwL4AUw6AcM4Id/cANDIHF6UAOb8AS3BwdbYAZQIHwOcAdVYALr5gAokAA3UG/CpwVVAGo3
MAOq921lQAQy0AQyIAA/+G3fBwRmoAV4AHNWcAMQAASt6AcVAAQyYAZ5oHprUAMqJwkQcANfQIkC
AIsP0IAncH/aZgLCxwZTJwmcOAMfl3APIAM3gAL0B3NugIBI5wd6gP8DGpB/o1d2RBAGv2cGTQAE
wTd6DvAAQNAECQAEHOiAZBCKlgABZvCEo4cHCPgIt2gE65YHGpCKNwAFvgdzY1AFsAgGCJdsM6CN
6jh6H4ADVTBLEMCKwtcFRHADs8SJUOBtCGAHQLABnugHoIg0KCB6rggEGYc09LMZf+Anx7EESZMT
7JIQi3IG8+IE8hEB9wGIvcEoscEjUTJCKqU+I2NVfyA5+qMDKaUB0Dh6GQAFkDVOBPACEfltH7AF
GIEcP2CByYYDLuBcHjCL3xYHL9AHjugHWIACQuAFyEh34hcHXvAIHiB8A3AHkQADBfhtDxCTCaCE
MIcFfiYDUBB9tYj/NFgQgKqmAlEwem/gAaFgjjCniY+QACrgks1YZ+8IcxkQkJMAAxcwegjwApAw
A8JnBXQWjl9ABH8wBMJ3AZapAg/3mbMpfHPgjH9QA6VYdqQAAtiXBTcgCSqAbjOwfl6gljBXAG12
iEOAcHAwA7PkBTT4bQjwAJHQBFA3emEwd9rGcWJAcipwftWpclBAg+EZk1rCFk5gAGgxHKqhBlwl
M6/hJ04wKxGwBMTCKpERNU7DIwQgOVuDVSTAOJtHVVilA1qlPuySkl6pBRrgTAxBm6NXnVRwIVRQ
A/AoAJqlAtd3mDkwnXBABjTQBxJQlwngoW+Ql38wiR/6lwAIc9wJ/wlI0ALCh5iQAAFj8G2N+QcV
CXMVgASPsAFSEIAmKAmY+W2aCQlQMIu6GQkqEJjf1nSVcASDaG9Y+gcw4Jx+MABQ8Acr+gF3MEtP
EJyWmQD1FgL3l4ijFwPT+AcgcI1+YJuksJfYZwfDeANRoAebCAlHUKPfBp2QcAPXhwAz0GYq4I9e
OQMx+QdesJB+MAfiCQlNgGxaQGfY6ZV2EJ1/AAEV2Z6GsS+1Y3hB6SE8oExKgholAi6UAwBqoCq1
QRdRIz3yxCYHKjnq0wS8pVIP2jJqcGIkIKF8qAGOM16GCW52oAQfgoujRweyCQkb8ARW+QIzEAZg
AAWF8AJ1mWlYkP8HCCijmQmCkAADbSB8g4mjOjp6PHqucgAHYXCcE3CP31akkIChMMcFl4p/lEia
GwcHXOCbj+AFHzAAXekHYDCFkRAEdMilPeqo36YFbxYGsfkIX6CmehkGJjCtI1CKbFAEkQACCYun
owCY2EcHc3oDfIAHAhCTgyp8hrqacKAHy/kHGzACwgcGxwkJQLCl+4acbpABg5kAxAlzLWCCUIBw
pMpK/AkA6DMX8hQuJkIs7cFXYERfB1QcG1UbmJM7yINPfqRSEzBiJ6Y+yFp4TZkHfhCYHjleaqAC
coAACWsEhpIAL5CdfsAGVSAJ+vptYJAEOrZ7fZAE33qLGvgI5Or/pOb6COiqrjGZoztqgvxoBmZA
Z/UagEb6CE16p5ZZCZ37pD5ruXP6CEOgB3nQjd/WBf3asA+rqJDwA6H5bYiJuH72sef4uYjbs7gL
cyE7siX7uaIAA2+QsN82BPzHshnwsoJKqH4ws49wA5bLjo+QBHvoBn3bo+0KbiAwjCrgByMXThKq
B2N6rl3gB03LP1byNhk2AQfkK3bSGjKTGBHAXrkVAWfwKzuAGgDwPPYhAmpYTDemUuUzlY2jAd8x
lRXgBz+qdyhwTGqwmGxAqFqwAq9hraMnd0xqpzGQBIhwtOVaCYvrB0F7ruk6euv6CJLrrksqCZk7
evj6CL27lsLr/6/wSJqhIANSgAd3IH4O2LiS4LCo2aWy630tPMOeWwlI/LuQQLK5SwowoAdusKVr
V76HyAfLC7POC72VoAKnKZpWzLkB2LOPQJzhiTQg/G11MI056wdiAJOQACllUyILYJ8rgCRyAVeI
Ih+OMAFbQ1VSURU6kAC9sSeJ4V4mo0w60EIcQFNx+FiSsgRbowELvAVxUIOf6lc1MABj8MWmyC5A
4MMwdwBkXMZ2igfldghpTMJAHAkjXMKOe8I2GrnbS7t+BgFMkAOJZhj2qoub+wedGwI4HAmhi4AJ
IAEFkAQM67hxUHo6O3p2EKmQIMQwB7sqLMrftn+TgMQmu80gK/+yTRy8UKwHbGAHe+jGU6e8zPsI
MTt6MwsDuVy6EGCvHzAG/AcBtQy+09gEabqpBUupfmAF0+gBWvAApcwBg6xfCdAkgGQimaEGBsAj
BtDHsoQ8xdQyKcVamqdV+MQu6yLJDopYB4qsUsE4CYAESUoGZOkHXyDJMqCjdxADMHwDAVAEnvxt
eVDKdGqnV5eihrDKsCwJrwzEj4vCtDy5j6ACb+AALxCTL0ykm9sEzwxzWZC9lFDMoZYFGdACOv3P
VZ0EdprTlEDN2tmlMvCwfkAGy8zNNRwJSwzOZSzOJ6sHMWAGyxpz0XzFWdy8MttmCZAEGeAABEun
wscAZCyZwvf/BlCQcUDwpwLgaJ2JfS0wdQmwARAQqY6gHg3gTBHQBJIlGRPzNFPxQXUsMSLTNUUl
yfoTUsQDh7mFtijiOEaTAE/VGgSgSQEAATJdjqtXBUtABHPgpiN6rzdAAEmgtwy8y03M02NAuIUA
1K0Mpd8ay5DLrkjdBPX2AS+gck99r5urwxaJA10NCVgdo7dHypRQA2tAATLQb6PHBVbtukN8roE5
pW6tsZTw1sD7xHPNBSqAAgAdAnOnzlrc13SHdggw2Ciwh8JZsBkA0FsQnR4wACEwreKbg5NtCfFB
VMqjAwSQH6ghUJgjq52kPChSVOO1eSqlOcTEVfjUQgM0LpYx/xXlUb+So1IqsNsKWIc7YAZ4gAVm
MNzorAZMYLxjUAScUacB6Nx9AN0iPN1e6rwp/AcrTKQ3cAMvMItwsN28DJmPgALdd5hEIM3ETImX
6wE+HKSRgM9+cAecKbFBPc2vi6VN4KGiSQbjzdZKXIoMANd/ANb8Pbx64N8b0MCj9wXFiMXr/Aft
DHNGcANFMATuBgeDDQHY7AfCiDSbbOiueHNGuwZY0K+NiuGl2yVrEj0wVD/xcTWRswT5c1tNNUyO
c9ohVWFOJEJTGRfYsRjE5Eyap1tqUAS7bQaXnHBQQAIragcwINP7+gMRYKwM/ANdoeTuumQ/DeWu
LHwZoAU50P/tOVADVjrlVa7GBXAAvrfl3N3LFXADMoACOAhuFWCIltC5ejACT6C6an6udaAHstkE
VYl31jkJZB1zD7ABKjADsiwHdmDhkqDn+V2KbmAE3p4DDi/o/k13qituHuCne83OznsFQzAHEkfp
k8CmRhyqB5ABd3DTcWB2MmCtNxsJKFDsO1rqUQE94/IxrNM4kmxAxDVejPVUhHJiuO41I/brCUJI
kbN5ZutPf3QEBUcESIDNW6ADtHkHN2Cvc3Bzdj56YzAFw+AWOy18LeDB1z6jlDDCMTcAbI+w2Cfu
+Yx96N7l52gFVwCAK/gA8j7vOdiaXZ2WvfkI3nroXT3we2v/BVxAg20wBnfQuvcd6A1fisnW9jpX
m22dZ4Pu6SBwzn04tIve6H1P8pPgAQlLB2YHA3JQiEmKwnTnBnDA8I/QBDMA0MRtGovxCC6jQ1Cb
G/mScSLDoEuZVXWsUp1kWMD/PNEgybW+NSUTUjjpx1BABx9gBgGAwbQbyvMGAdbvB3TgARzQ9Qw5
BScEHNSOtGb/3Ngu3aMnb3LQ/nJwAcYL94WNA2AAg3M/Sr3M9us/Bo4PCH+Cg38FfoeHGVoUDAiH
VjeEfwlJfmNATU1VGYh+DJGSQSGdfnofnXJ3EJKSI6eIFx6sgq6dA3K4uHGksbOsMHpcKoIqDKQI
ZG4ZAgmD/0cOpFg4LZx+cGazMHWkD39ecJc1pGUbXnox2KwyOHukh0YbkhMJCRE2ajsBJARONhEN
E/zZaCDiT4CDO1YkJLGChAYCIiCq0bdE4RINK2xM4KBGwxISIJdU1OCQRAQOOo7IiWMmAYg1iFK9
EQNkQ4tObwQ0MeJuzA8AAE7aAOGoU4skfZL2AUHKgQBfUJqa0UCEiAYB0Do9aCYIyc1OWG7cEODG
2osmgyZYIWVlRllEGaD4kmSok9MbVcCcgiSpyRA/YWoINnIBFQpWojohsFNgQCcGw+bWgiVr1uRD
c6hW1fDg1aFecwcBEzYIiuNOczK0YeYsK6ICN4C8wGMtnf8kCF9Igbkh7kETD9UOcanC1AQoVhDG
eEbk4LAkAjYwLBCR72CACRPUqNlog4D2BvWaLNkhQoT2Hfma5ENJMsAKDfU2fnxPIoD3BGpAatDR
pMERPW5osIMAwQ1AhiVLVBGGXVDwkARMnYxRRAkYYMABAURFw4RSSzX11CxR2fWhIDC0wQ1Xf3gV
jQyC2OEHAmeltVYnFdzwAikHRBZaXcw5B8QuBxwnCATGuKPYDGgRkhgia0BxwwGkzIAiK5f5ARqV
y80BAyFJLHdlaKPpCIEJRjqF4jOkFBAPBGDUNksCLxR1yAlmHLDMHzDE0Ikedzzhh29z3aCcO2Ho
+AcHQP3/0cAOahDwxwI2oEfQDgFFgJ0gGm3UTAMBiHDdBE2sYM8KAVS0wgQRTALSCitMiioBF2kg
KwkofBCgDiuMcsgHeBiY0F+IIACFDUnAQYqEGDjBwwIRZBhhDhwyJSJUHhJS4omDqAgWi3+ogAAc
MQqiFiktQACDrocg4NyOTTknwwEfBCkJDA5kcMK999IxzipKouvHGi/84SxmQEjmZWVYdsJGEYS8
1MmXc4VJiAr6enima4eoKUix1/gCgxx7knEBAwVD4GewY5wQx4i+3PCVLToRAgAGJUwwnQ02LLAA
o2roEBEBTUQw3aIBDEJQowQ0wAMPrV4YgQhPq/FHBPk5/0QAD394hE9AfzikwR0fhOARBFCiIoCl
0iLSzRGF0VjEAk6UYIMIAx+yBbRKpX2IU9ROK5qJWqGoLSJYcKvCAw+0JCMpFSDRRG6dgMHvXDzu
7VwCKMxwB7el+QEGEWaEbgYKGGdh6B9LpjtDt7sgoodcvlQJ8SBVLtwwhJ8hDGYwhjZRw3J+mNla
mvF0i7htksgghWJZ+FEGKMUi8kEdA9AUGjEzdmKEjjwgWoIBBhwa1Ekc/NGoPxEIPUF5E6HH6Eao
amQDSTugZWlCatzTqoXaaUcAARMggIUwZ6thiKByfmBDFRYAAJ5oRQRB2EYnDvATJwBgY3IqhR1o
EK1qgf/IgyQCnNoE97JDFG4QEIDAlMZFIyT8QQLGQgRLrofA5gwiARBIEiH+goPiDalIlguFvxCw
unfpRkiEkJ3ukrgc2w3CYZS5Hol4J4liWGx4ndDYkCbHip0A7wN2KJ4KWtcJCiARAkEIAhdV8BZE
HGBEGAAADwQYgSaIYAEVSh8ACJCA7tjgDwSwxx8TsEfomMcgaiiPDmS1Ah2UBCSN0gEdi7Y+HpRg
ATzAAPjEIQYViGACXepEHooAACc4EBFa4EEHsneIA8AgIpYqRAbrAAUhdNBvrAgRc1h2rcBlq4R+
OKG1jnAEfpUNEY3DUxsPgQMdzqKG6xoSMbf0Bwhk4Q3/KHBmE0ZAioD160gtIkUIosnEhy2Rdk1k
2BNxZ6VzZoOKhIBTDPfGGkGgKYs+FEQRjlAELgoCOKSIAwq4ojxS6AFQhPCCG0LQjRt64TSHcMOI
FlACe5RHECdJgA7+AICJ/BE6fxBBCbCmBgsmgAM86MerQvoHHezgIiTQgamWoIMAMCtVNuBAeQgA
lJkZAgsaaIAaYNA2a+CACsyqRBmVgIEaZJANBSMEAiuAlFvusm9X/Ru2ugJMYQpiAwVwwAk+dMxD
JHMDJ0MEydhlF3J6IAQO0AKLVJCBLkT1hkpFRBm4mLoXra5bb+gEGJ2JTnPGLp23M6wUJZa8EgrP
nhjz/4MWBfEuB3SSFTfQk8Lu+gdxdGKsU3rhIUzAuWqWkA4jmhtE5gZIEXDgtfZZQflQFQElEIAD
TgAVpNRAEKyxNi0T+MMOPOJIh1QkAf97mj+C+8ny8CQMQOiZDJp3CGwqIX0wjBAEFlAEkCGCDlUg
BFptQQa85Q2EktAlPa0lwkNs5Zcrmtgo8HCYCZTVD8n0BkT9kAF3DgKa4iWTH4ywCi/44QCcFYQX
aIOILHC2r0QcUpsmeDpaHOywClOnIKCYOyniaQCkYQUKRPjYP9zzNfkMkem6yE0acdYD8/SDGMIr
CQk4wg00Lo1nJDqIgvgCVK+CSHD/pwYOPA2lGolAPf/+J4mIBBckUI5yd+IHwD9gxwZI8BMWgDCB
BnAAWH4IAREEIYLoEe4HGOBB5fg2iBuwoRNZQIEtrbreD+IST+39EwnjKwjffSYdrMQvv9go2DGU
li7tslZh1vCAVYhDXvMqavCQd4SKpcubL8xgG8hpYcWyYghZoiYGPR0aD3yADRWexClLfOKM+VAG
WDArEgWhXjjgoLQyOAGTzMgKG/thAEiamJywgLy5lKe5TRYBQNYngpxZyMeEaEIAusNH+kRZAzb7
Y7P/R9EUGYMB+3lUKA8cVUosBzKfLIIEjepDGAQ2EXcw73k7cadZeMCgvIzsHQiBhPs6eBAoaJuY
/9D/hEBXgFtNQOAJUi0IBOphXTKYEcASUFBIK3qreCLjvxqKp3UfYgz+LAQp5ODOBCBwDpz9Hann
EhU3MFwFEixxEd6NCEP3eQYx9OrEvOuHTTszAZDzA30Jm+lDQIYQQJATGRL84+B6OKTp48AfJZGA
ZUNtAo/UD1fWF0jVAuAFjoEDFAgyARi0bgvcgsEVSDEAFHzUC2RE9ZC+4BkKQIFDScmBgKUXbFZ4
thN2IMQL2OkHCuiQ0J3Aw4dUwAVEhCC8KuC50XWkAgbvqgahHVIF3LEFtAgqWE/xAG3oQE44ZTCY
kaEE4bXALz/bZYkQACa4Mk82XiAMN6TAAxQyf5u//ywm5JMAe/Dq+QfhP6ZkUCCjzbv4MjqMOb3f
fX6NIbQGI3DuBa/oAhHy+fTu/7ggDQikeValnx4/bVMTAIGu92aEIEwACc37wB3o4QXqkuIEIKAC
AEoAAjKKAQoeYAKvMABjIABzljdfsF+HEAfbgyIqMAYat4DbIwMFEIF+EAcFAAMy8AL21wluYAJ5
gDEHQAQSAEQT9AIsAgF5YFAFUFpNAAVgoIC/VgFj4HFwQARQgC5zAAX8AgF2IHmHAAdgoAIqUIHu
kAFjAAPNQFT3BwVokQAe0AIx9hnbc0MekAcyyAYzYC4moAfu0AUgwHB/4AEJeAh6UAYeEHJGJDwq
YP8E/oIIbFAAB7BfcuULeWUFTPcxj5BjhCABnQAHGQgDL9A6F7A53neIcxEQANQAViYCMKUfTvcz
C/A/HBBoAyABE0AF3JQBY7YBa2ckCQQEkCICKJAFUzgnZIACHYB3HZBWRoID/JIAYOYOayAA9waK
fvAFGmCBuHhgZsAHuJgBNOYBXtgJMzQIMvCJvUgKZrA8cBZVMhBZnTADM9CLYxAPGzCLh/AFkYAE
ymgkgdcV3xhQQOCHuBiOrCCL7sAAfAhwcIAArGFgy0gKWsB9olGMWzBrEOCMdnBoxPAF63cIAxAc
bHAHTIeICFl15hNA+dAADQGJkkBtEfAAFFCRFbn/BRKwAA0ABRSwdAT3AhYZkhXpkYKQAEAwA1/A
ACfgBnNgBVtwB1WFd0IwAyIZklqgCqVRkxa5BWagAougkxTwAFWAA0AJlIljB0WJA1EFASAZkjiA
PE3QlEUpkltABFJZkQ+wlEQJlHcgAFOJk93ykxb5AJEAJ195Q1cpkkqJAmcJFTVJkn0xAzzZDCow
lToJlsiBlBSgOFTHkRRABLyXAGOBAybAAFwgByHABhWAA0Qwawj5mPRwW1QjCA8JErw3JEiQmUjw
AxCgBP5AADIgA0kCATKwmaQJAUiQQj9QPtEmA0AgALAJBEGwininFDSQAz8Qmrqpmyo0CE2wm8Ap
/wMqFJzA+ZvEeZyhaZzIqUMbEJz+RJrISZwQ0JzFiYzImULRyUXEyRXQeZxc1J3EmQnZORfgqZtE
91XCWZLRKZ2hQZ3AR3Ch+Z6D0JyviQICYAZAIAOX+ZjeF1z94Q8ikAkdAWWkwp+hURB31D1O5wtK
QJu1qRRCoAQGOqEUWqEWeqEYmqEauqEc2qE9NhDbkQABNBFRtgTQlqE24yhSRAUH+KB90AEn6qEy
OqM0WqM2eqM4mqFT9wcDwaOT8JAiEaM5+gcu4KIcogBDmqRKuqRM2qROKkURQEkQAUtq8BEY0SlM
OgEKYKRK4QJP+qVgGqZiOqaIGEB9pGzrwwGTGP8A++EeO5qkLMqlfSAEVECmdnqneJqnQxoQRTMQ
BcEDczMBrKID+cOkRSqnMHo9LJACjNqoKfAHi4oGg8CoXrqojsoCrKAEFnAaPeClROqoKcAC5eMC
oDoIaJAGh+ADFlCpjiqpjNoDEgqpKeCpsvqophqqocEBm3oIKXAGgkCpgoAGuCqsjYqplsqoLECr
x4qshECqoJoCkvoHZ+ADh5AGQjALwDoIy4oGCsCog+CsSgCqLuCsmPqrtvoHCtADAtkD10oIZ9Cr
wQqv0gqv23oou+oH8Eqsjvqp5zqvKRCrFoCrNooqAaAGyjUBPJAd1CEgDZAqSioCDmqkSHo9KWD/
JH9Qsb4qCIeApBXbCf36B0rgGAOQAtTqB0iqALyaAiKrBKTqGD5gqxaQqirrB77KAqiKr5KKCOVa
sROrBIjQrtKKr3PhAqeRAjersSYrCGcgtMJarZjasZ0QrVDLq4SAsu7gqx1rtIeQsYSwsYRgs7yK
Bj7rB+3KAn6QBhdLrSPrAlZLtkgbrAJJskLrrmcrCKiKtn9ArTV7s9DKAY5hAWewqY+6tKSArodA
CCHrB5hqtRNbo6giVELWsBe0KORRqEoap3K6AN3ntb9Ks4PgtRg7FzHrA7Gqrj5guH4gCGM7saH7
B2hwCNHqutFqtZ/7sxebtEF7CD0wCEv7sYRA/61pEKu6irQT27u1y7qeqwSEy7GeGxrGC7d+4KmE
y5rHKwm0KwjqagGCoLdKO7dtOwDlc7gccAjaKwgKwLWC4AKHoARj6wfsewieer3PKwjXOr/me7h0
6wccQK3le6PQARF2BCpqGhG8RQJvmqNbiqix6mGce7u9egbL68AQfAaNKwiOEbvjG73Xq77627kZ
G7O7OwvX+we6+2vhiruoGrPu272+KwgZTKtdi7vzy7mte7vaW7EPTMGzML/Z+7vNW71Vi7+u+2tE
egis+bwomwbU+qiH+7oDIEXUqgCvS61CIAR+cLr3m7q5mwY63L0+MMGSOsKDgKpqu8AD61oaAf9A
yAUpBvEeB3yjDSqnfVDBUtTAU4sIzNsJ6EvCuEu8VsuoWzupzRu6+jq7Qry+jtEDPHsoRkyt0Wq/
QazF+8rHxTu3lOzBvCu0d7zHLCzI6FvDxGu9QvwHjiEEZhvCQWurKJsCVku4qcyvAksIMRu4ZOsH
FmC2/Xu9SnCzqeqlhIsIjyrGWfzDN2qwzOIo9xAAT6MDDrkCKjqkh5q53mfHtqwA1gy61WzN1Iu0
QLu6f+wY/dq6FYupv5yxI3y4bZu0SzsAZ4CqtgrJg2C1EtoJofzK9VzDIGzD1qwA25zJ5zrOhICq
e9zAWSzLtuzI/ny/g0vPS4u2beu7r0uypzv/AC/rB7ErxqZ8s6fb0PvspcIsCKOrpDkzNwSRADuA
KEKFD29cowQQsS7aAc/MwH1cw9jMyYOgrue6zqj7B1b8w627tKSLyTv9tpCKx3nrDuUDz4PgGOaM
v7AL0pZMw81rta5KzDtsyescq1YLw5ccyYTQ0+ub0IZrq7xcxNHbyZIwvo6BqSrcwQWNrgvc0/Yc
z6Ms1jYKUs3WH9vhR8wiolTDiNAsx33A1XU80z+MzS/LrM3Kq7TsuddrtmTLAdOKr766y2fLrQLt
uiqsw/irBCWrABzMmty7zpNsqofAAueLvzHLzpAdxoRrAVX9sjdbvhWb2LFMt+fq2Vd8BiyQ/8is
UK2NigZosNmNW7L9+667zQGrnL6IANXsrAAx28Ile62ve8WmStxnMACona5+sLuk3aio66jSa8kd
+kkhxREb9T8/w1PpkzRdhh87wFJp4WPlcSHyXaEtLcd0eojUzLXY7LGsoAAl+2tNrcW3y86FC7JT
6wPXOrW+KsSMa7Z4W9Ro+8vNLQlosF8hfMI6273AfLuIkAaxe8ctbL8cMLUsYMZIq8cOrq2HALSk
cM05LcSQLZA2DdkSOrblCuJbm+GdYAESauHo7A6V3MIIGRA7lSlzAwAcMA86swA9o6ZTCgBL7h1q
0ATrkwDX0QwAJJlQTikBgTOsCTVVdojRzP+lCrCgSsq2dIyISqDNScrmrKDcCqDiNUrndq6k1kzY
E8rmeZ6jgQQQBkEeqYIoDEQhF+JsljIBcfRRIdUAG2UeCJEPjrIEiZQ+6BNLToZJ06Hm1xPHcioE
/aynpF7qpk7q6h0R/jAzI5VSmEQhGHASAMAsAZQzJ9E9+AERADEeASBUK/AR9RERnDIP50NT9rFH
3OFhWirYiXrqzv7s0L6knxRIASRHeOQEcaMsTmAA32NBJSCZFnISd1QhlYJHPBAUXRYAC2E1PJA+
JGEP515cJ91lC3AhOuPpad2iRqq50d7v/v7vCBnTyWZkAlQC2A4UeMTtFfI93A4+BnDucZT/SRSy
NBWS7SUwM93DR0oGSPyQLAtgohdiZDQlU80WFITU7guA74KQ33Lc7AD/8jAf8+brC/U9M8lS8QqP
7dseNwav89zOQBVfIawO604wic1WHl42ZRGQLA9v65j+R+HXKE4Q6wwkdSqProItBPwu81zf9c+u
9bPwMzmlMxFAiZpUAhciR03ebJnUPYgiR5pkANtuABVy7rOeU03eAA1LMxRi8CUwUkyOSU3OAwZQ
9pmUPvV+9Qug7y6a5l7/+JCfpy9ap7PQHdvGo8i8NMwyiY2yLBhPM2nW7d8jHTbA5BHg9kCR9+OO
7dyO8VCjplLnD8siHUYWGlTg0i4q6pG///u8D6ZJoQACf6ACdCGBZGQL4PBML/cO3/MpNfUjVfp/
X/U6vz4MFBAYAB0aUe8581p7JEUEkMBy7Pi9P/7kn6NKIf5P51oQj0d/b0GHMh2WpCxxJEdDL+tC
n/xFX/ZGllPnDgg2CxELGAsEESJ/i4yNixMKfZKTlJQdSo6ZmpucnZ6foKGio6SlpqeoqaqropQu
E6MTEyIENogLPBwEIrAiPAQAPDbDEbpqfwAAhMUYAIURyoPOydMEu6ETLpXbrqze3+Dh4uPk5eae
lS6nE8OwmxOIEfKEHBEEsoIEHMr7Cxy87lBp48ZNgaJzCBMqXMiw4cJKQtQ5TOhCCMFtHf+oTNzI
saPHj+a2RQQZruLFbRJJqlzJsmVHbhEDuoxl8iQlBTJn6tzJs2eoi698espms1IHAkKTKl3q8qQC
pEwZEYhUdFLGqFizakVoU4HGqFSoVu0jZMHWs2jToiraYUFOnhMWdBg7KaXau3jzMhrrAmpPAgPp
9gmqt7DhrXQ7cHi7cgKHuYIHMz5MubJOIZgza96MWQEml0oUcB7NGafl06hndljNurXr1i5EJJhN
u7bt27hz68YtwsXr379f7R5OvLjx48iTK1/OvLnz59CjS9cNvDprBUGQNNnOvbv37+DDi+eOJIgC
69ZdaB/Pvr379/Djy59Pv779+/jz6991Lz4Ijf8ABijggDlkt8GBCCao4IIMNthgeTkMKOGEQTTh
4IUYZqjhhhx26OGHIIYo4ogklmjiiQfKMEUOLLbo4oswshjEDxDIYOONOOao44482gjBD0HEKKSQ
U/Ro5JFIJqnkkkw26eSTUEYp5ZRUVmkljoEAADs=

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://secure.quantserve.com/pixel/p-b6n2tA3BPGaiY.gif

R0lGODlhAQABAAAAACwAAAAAAQABAID///8AAAACAkQBADs=

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/workarea/csslib/ektronCss.ashx?id=EktronModalCss

.ektronWindow {
	BORDER-BOTTOM: #ddd 1px solid; POSITION: fixed !important; BORDER-LEFT: =
#ddd 1px solid; BACKGROUND-COLOR: #fff; WIDTH: 40em; DISPLAY: none; =
COLOR: #333; MARGIN-LEFT: -20em; BORDER-TOP: #ddd 1px solid; TOP: 25%; =
BORDER-RIGHT: #ddd 1px solid; LEFT: 50%
}
.ektronModalOverlay {
	PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #666; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.ektronModalWidth-10 {
	WIDTH: 10em !important; MARGIN-LEFT: -5em !important
}
.ektronModalWidth-20 {
	WIDTH: 20em !important; MARGIN-LEFT: -10em !important
}
.ektronModalWidth-25 {
	WIDTH: 25em !important; MARGIN-LEFT: -12.5em !important
}
.ektronModalWidth-30 {
	WIDTH: 30em !important; MARGIN-LEFT: -15em !important
}
.ektronModalWidth-40 {
	WIDTH: 40em !important; MARGIN-LEFT: -20em !important
}
.ektronModalWidth-50 {
	WIDTH: 50em !important; MARGIN-LEFT: -25em !important
}
.ektronModalWidth-60 {
	WIDTH: 60em !important; MARGIN-LEFT: -30em !important
}
.ektronModalWidth-70 {
	WIDTH: 70em !important; MARGIN-LEFT: -35em !important
}
.ektronModalWidth-80 {
	WIDTH: 80em !important; MARGIN-LEFT: -40em !important
}
.ektronModalWidth-90 {
	WIDTH: 90em !important; MARGIN-LEFT: -45em !important
}
.ektronModalWidth-100 {
	WIDTH: 100em !important; MARGIN-LEFT: -50em !important
}
.ektronModalHeight-10 {
	OVERFLOW-Y: auto !important; HEIGHT: 10em !important
}
.ektronModalHeight-20 {
	OVERFLOW-Y: auto !important; HEIGHT: 20em !important
}
.ektronModalHeight-25 {
	OVERFLOW-Y: auto !important; HEIGHT: 25em !important
}
.ektronModalHeight-30 {
	OVERFLOW-Y: auto !important; HEIGHT: 30em !important
}
.ektronModalHeight-40 {
	OVERFLOW-Y: auto !important; HEIGHT: 40em !important
}
.ektronModalHeight-50 {
	OVERFLOW-Y: auto !important; HEIGHT: 50em !important
}
.ektronModalHeight-60 {
	OVERFLOW-Y: auto !important; HEIGHT: 60em !important
}
.ektronModalHeight-70 {
	OVERFLOW-Y: auto !important; HEIGHT: 70em !important
}
.ektronModalHeight-80 {
	OVERFLOW-Y: auto !important; HEIGHT: 80em !important
}
.ektronModalHeight-90 {
	OVERFLOW-Y: auto !important; HEIGHT: 90em !important
}
.ektronModalHeight-100 {
	OVERFLOW-Y: auto !important; HEIGHT: 100em !important
}
.ektronModalStandard {
	BORDER-BOTTOM: #525252 1px solid; BORDER-LEFT: #525252 1px solid; =
PADDING-BOTTOM: 1em; PADDING-LEFT: 1em; PADDING-RIGHT: 1em; FONT-SIZE: =
12px; BORDER-TOP: #525252 1px solid; BORDER-RIGHT: #525252 1px solid; =
PADDING-TOP: 1em
}
DIV.ektronModalStandard {
	BORDER-BOTTOM: #525252 1px solid; BORDER-LEFT: #525252 1px solid; =
PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
#e1e7f2; FONT-SIZE: 12px; BORDER-TOP: #525252 1px solid; TOP: 50%; =
BORDER-RIGHT: #525252 1px solid; PADDING-TOP: 0px
}
DIV.ektronModalStandard {
	FONT-FAMILY: Arial, Verdana, sans-serif
}
DIV.ektronModalStandard INPUT {
	FONT-FAMILY: Arial, Verdana, sans-serif
}
DIV.ektronModalBody TABLE TH {
	FONT-FAMILY: Arial, Verdana, sans-serif
}
DIV.ektronModalBody TABLE TD {
	FONT-FAMILY: Arial, Verdana, sans-serif
}
.ektronModalStandard .ektronModalHeader H3 {
	BACKGROUND-IMAGE: =
url(/WorkArea/images/application/darkblue_gradiant-nm.gif); POSITION: =
relative; PADDING-BOTTOM: 0.6em; BACKGROUND-COLOR: #3163bd; MARGIN: 0px; =
PADDING-LEFT: 0.25em; PADDING-RIGHT: 0.25em; BACKGROUND-REPEAT: =
repeat-x; BACKGROUND-POSITION: 0px -2px; COLOR: #fff; FONT-SIZE: 1em; =
PADDING-TOP: 0.6em
}
.ektronModalStandard .ektronModalHeader H3 A.ektronModalClose {
	BACKGROUND-IMAGE: url(/WorkArea/images/application/closeButton.gif); =
POSITION: absolute; BACKGROUND-COLOR: transparent; TEXT-INDENT: =
-10000px; WIDTH: 21px; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: 0px -23px; HEIGHT: 21px; OVERFLOW: hidden; TOP: =
0.25em; CURSOR: pointer; RIGHT: 0.25em; TEXT-DECORATION: none
}
.ektronModalStandard .ektronModalHeader H3 A.ektronModalClose:hover {
	BACKGROUND-POSITION: -23px 0px
}
.ektronModalStandard DIV.ektronModalBody {
	BORDER-BOTTOM: silver 1px solid; BORDER-LEFT: silver 1px solid; =
PADDING-BOTTOM: 0.5em; MARGIN: 1em 0.75em; PADDING-LEFT: 0.5em; =
PADDING-RIGHT: 0.5em; BACKGROUND: #fff 0px 50%; COLOR: #333; BORDER-TOP: =
silver 1px solid; BORDER-RIGHT: silver 1px solid; PADDING-TOP: 0.5em
}
.ektronModalStandard DIV.ektronModalBody TABLE {
	MARGIN: 0px 1.5em
}
.ektronModalStandard DIV.ektronModalBody TABLE TH {
	PADDING-RIGHT: 1em; FONT-SIZE: 12px; PADDING-TOP: 0.25em
}
.ektronModalStandard DIV.ektronModalBody TABLE TH {
	VERTICAL-ALIGN: top
}
DIV.ektronModalBody TABLE TD {
	VERTICAL-ALIGN: top
}
.ektronModalStandard DIV.ektronModalBody FIELDSET {
	CLEAR: both
}
.ektronModalStandard .ektronModalButtonWrapper {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 1em 0px 0.25em; =
PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: =
none; PADDING-TOP: 0px
}
.ektronModalStandard .buttonWrapper {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 1em 0px 0px; =
PADDING-LEFT: 0px; WIDTH: 50%; PADDING-RIGHT: 0px; FLOAT: right; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
.ektronModalStandard .ektronModalButtonWrapper LI {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: transparent; DISPLAY: inline
}
.ektronModalStandard UL.buttonWrapper LI {
	BACKGROUND-IMAGE: none; BACKGROUND-COLOR: transparent; DISPLAY: inline
}
.ektronModalStandard UL.buttonWrapper LI {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: right; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.ektronModalStandard A.button {
	BORDER-BOTTOM: silver 1px solid; BORDER-LEFT: silver 1px solid; =
PADDING-BOTTOM: 0.5em; LINE-HEIGHT: 100%; BACKGROUND-COLOR: #eee; =
MARGIN: 0px 0px 0px 0.75em; PADDING-LEFT: 2.25em; PADDING-RIGHT: 1em; =
DISPLAY: block; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: 0.5em =
0.4em; COLOR: #8f8f8f; FONT-SIZE: 1em; BORDER-TOP: silver 1px solid; =
CURSOR: pointer; BORDER-RIGHT: silver 1px solid; TEXT-DECORATION: none; =
PADDING-TOP: 0.5em
}
.ektronModalStandard A.button:active {
	COLOR: #8f8f8f; FONT-SIZE: inherit
}
.ektronModalStandard A.button:visited {
	COLOR: #8f8f8f
}
.ektronModalStandard A.button:hover {
	TEXT-DECORATION: none
}
.ektronModalStandard A.buttonLeft {
	FLOAT: left
}
.ektronModalStandard A.buttonRight {
	FLOAT: right
}
.ektronModalStandard A.text {
	FONT-SIZE: 0.75em
}
.ektronModalStandard A.cancelButton {
	BACKGROUND-IMAGE: url(/WorkArea/images/application/delete.gif)
}
.ektronModalStandard A.okButton {
	BACKGROUND-IMAGE: url(/WorkArea/images/application/check.gif)
}
.ektronModalStandard A.nextButton {
	BACKGROUND-IMAGE: url(/WorkArea/images/application/but_next.gif); =
BACKGROUND-POSITION: 0.5em 0.25em
}
.ektronModalStandard A.backButton {
	BACKGROUND-IMAGE: url(/WorkArea/images/application/but_prev.gif); =
BACKGROUND-POSITION: -0.1em 0.25em
}
.ektronModalStandard A.deleteButton {
	BACKGROUND-IMAGE: url(/WorkArea/images/application/btn_delete-nm.gif); =
BACKGROUND-POSITION: 0.25em 0.1em; MARGIN-RIGHT: 0.5em
}
.ektronModalStandard A.redHover:hover {
	BORDER-BOTTOM: #fbc2c4 1px solid; BORDER-LEFT: #fbc2c4 1px solid; =
BACKGROUND-COLOR: #fbe3e4; COLOR: #d12f19; BORDER-TOP: #fbc2c4 1px =
solid; BORDER-RIGHT: #fbc2c4 1px solid
}
.ektronModalStandard A.blueHover:hover {
	BORDER-BOTTOM: #c2e1ef 1px solid; BORDER-LEFT: #c2e1ef 1px solid; =
BACKGROUND-COLOR: #dff4ff; COLOR: #369; BORDER-TOP: #c2e1ef 1px solid; =
BORDER-RIGHT: #c2e1ef 1px solid
}
.ektronModalStandard A.greenHover:hover {
	BORDER-BOTTOM: #c6d880 1px solid; BORDER-LEFT: #c6d880 1px solid; =
BACKGROUND-COLOR: #e6efc2; COLOR: #529214; BORDER-TOP: #c6d880 1px =
solid; BORDER-RIGHT: #c6d880 1px solid
}
.ektronModalStandard .messages {
	WIDTH: auto; DISPLAY: block; MARGIN-BOTTOM: 0.1em; FONT-SIZE: 1em
}
.ektronModalStandard .messages SPAN {
	PADDING-BOTTOM: 0.5em; MARGIN: 0.25em; PADDING-LEFT: 2em; =
PADDING-RIGHT: 0.5em; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: 0.25em 0.5em; PADDING-TOP: 0.5em
}
.ektronModalStandard .messages SPAN.wordbreak {
	PADDING-BOTTOM: 0px; TEXT-INDENT: -10000px; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; FONT-SIZE: 1px; =
OVERFLOW: hidden; PADDING-TOP: 0px
}
.ektronModalStandard .clearfix:after {
	DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; =
FONT-SIZE: 0px; CONTENT: " "
}
.ektronModalStandard .clearfix {
	DISPLAY: inline-block
}
* HTML .ektronModalStandard .clearfix {
	HEIGHT: 1%
}
.ektronModalStandard .clearfix {
	DISPLAY: block
}
* IFRAME.ektronModalIframe {
	Z-INDEX: -1; POSITION: absolute; TOP: 0px; LEFT: 0px
}
* HTML .ektronWindow {
	POSITION: absolute
}

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/x-css
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/css/master.css

BODY {
	BACKGROUND-COLOR: white; MARGIN: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; COLOR: black; FONT-SIZE: 12px
}
H1 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H2 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H3 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H4 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H5 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H6 {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
P {
	FONT-FAMILY: Arial, Helvetica, sans-serif
}
H1 {
	FONT-SIZE: 24px
}
H2 {
	FONT-SIZE: 22px
}
H3 {
	FONT-SIZE: 16px
}
H4 {
	FONT-SIZE: 16px
}
H5 {
	FONT-SIZE: 14px
}
H6 {
	FONT-SIZE: 12px
}
P {
	FONT-SIZE: 12px
}
HR {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BACKGROUND-COLOR: =
#bfbfbf; HEIGHT: 1px; BORDER-TOP: medium none; BORDER-RIGHT: medium none
}
LI {
	FONT-SIZE: 12px
}
A {
	COLOR: #004276
}
A:visited {
	COLOR: #551a8b
}
A:hover {
	TEXT-DECORATION: underline !important
}
.error-message {
	BORDER-BOTTOM: #b00000 1px solid; BORDER-LEFT: #b00000 1px solid; =
PADDING-BOTTOM: 5px; BACKGROUND-COLOR: #ffffa0; PADDING-LEFT: 5px; =
WIDTH: 75%; PADDING-RIGHT: 5px; FONT: 12px Verdana, Arial, Sans-Serif; =
COLOR: #b00000; BORDER-TOP: #b00000 1px solid; BORDER-RIGHT: #b00000 1px =
solid; PADDING-TOP: 5px
}
.fulldescription {
	DISPLAY: none
}
.update-progress {
	BORDER-BOTTOM: black 1px solid; POSITION: absolute; BORDER-LEFT: black =
1px solid; BACKGROUND-COLOR: #cccccc; WIDTH: 130px; HEIGHT: 50px; =
BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid
}
.update-progress-message {
	MARGIN: 3px; VERTICAL-ALIGN: middle
}
.body {
	MARGIN: 0px auto; WIDTH: 985px
}
.leaderboard-ad {
	TEXT-ALIGN: center; PADDING-BOTTOM: 5px
}
.bottom-ads {
	BORDER-TOP: #bfbfbf 1px solid; PADDING-TOP: 5px
}
.div-interstitial {
	DISPLAY: none; VISIBILITY: hidden
}

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_000B_01CB5D5C.E887F630"


------=_NextPart_001_000B_01CB5D5C.E887F630
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/print-article.aspx?id=117586

=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_ctl00_Head><TITLE>Meet Real Free-Range Eggs</TITLE>
<SCRIPT id=3DEktronJS type=3Dtext/javascript=20
src=3D"http://www.motherearthnews.com/WorkArea/java/ektron.js"></SCRIPT>
<LINK id=3DEktronRegisteredCss rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.motherearthnews.com/workarea/csslib/ektronCss.ashx?id=3D=
EktronModalCss">
<META name=3Dkeywords=20
content=3D"free range eggs, free-range eggs, pastured eggs, pastured =
poultry, organic eggs, conventional egg production, confined chickens, =
healthy chickens, cage free eggs, cage-free eggs, natural eggs, cage =
free chickens, cage-free chickens, grassfed eggs, grass-fed eggs, =
grassfed chickens, grass-fed chickens, pastured livestock, grazing =
animals, egg nutrition, vitamin E, vitamin A, beta carotene, egg =
cholesterol, saturated fat, egg health">
<META name=3Ddescription=20
content=3D"The results are in: Eggs from hens allowed to range on =
pasture are a heck of a lot better than those from chickens raised in =
cages! A recent Mother Earth News study found that compared to =
conventional American eggs, real free-range eggs have less cholesterol =
and saturated fat, plus more vitamins A and E, beta carotene and =
polyunsaturated omega-3 fatty acids."><LINK=20
rel=3D"shortcut icon" href=3D"/favicon.ico">
<META content=3D"text/html; charset=3DUTF-8" http-equiv=3Dcontent-type>
<META name=3Dcopyright content=3D"=C2=A9 Ogden Publications Inc."><LINK =
title=3DRSS=20
rel=3Dalternate type=3Dapplication/rss+xml =
href=3D"/rss/latest.xml"><LINK=20
rel=3DStylesheet type=3Dtext/css=20
href=3D"http://www.motherearthnews.com/css/master.css"><!--Google =
Verification Code-->
<META name=3Dverify-v1 =
content=3DX6jd75A7M+BpYgtIudcmkiCZhW3KB8hBDpnb4ZLXc5E=3D>
<META name=3DGENERATOR content=3D"MSHTML 8.00.7600.16625"></HEAD>
<BODY id=3Dctl00_ctl00_body onload=3Dself.print()>
<FORM id=3DaspnetForm method=3Dpost name=3DaspnetForm=20
action=3D/print-article.aspx?id=3D117586>
<DIV><INPUT id=3Dctl00_ctl00_SM_HiddenField type=3Dhidden=20
name=3Dctl00_ctl00_SM_HiddenField> <INPUT id=3D__EVENTTARGET =
type=3Dhidden=20
name=3D__EVENTTARGET> <INPUT id=3D__EVENTARGUMENT type=3Dhidden =
name=3D__EVENTARGUMENT>=20
<INPUT id=3D__VIEWSTATE=20
value=3D/wEPDwUKMTEzMjE5OTMxNQ9kFgJmD2QWAmYPZBYEAgEPZBYIAgQPFgIeB1Zpc2lib=
GVoZAIFDxYCHwBoZAIGDxYCHwBoZAIMDxYCHgRUZXh0Ba0BDQogICAgICAgICAgICAgICAgIC=
AgIDwhLS1Hb29nbGUgVmVyaWZpY2F0aW9uIENvZGUtLT4NCiAgICAgICAgICAgICAgICAgICA=
gPG1ldGEgbmFtZT0idmVyaWZ5LXYxIiBjb250ZW50PSJYNmpkNzVBN00rQnBZZ3RJdWRjbWtp=
Q1poVzNLQjhoQkRwbmI0WkxYYzVFPSIgLz4NCiAgICAgICAgICAgICAgICBkAgMPFgIeBm9ub=
G9hZAUMc2VsZi5wcmludCgpFgYCARBkZBYCAgUPZBYCAgEPZBYIAgMPDxYEHgtOYXZpZ2F0ZV=
VybAUfaHR0cDovL3d3dy5tb3RoZXJlYXJ0aG5ld3MuY29tLx4ISW1hZ2VVcmwFIn4vaW1hZ2V=
zL3VwbG9hZGVkL2Jhbm5lcnMvbG9nby5naWZkZAIFDxYCHwEFGU1lZXQgUmVhbCBGcmVlLVJh=
bmdlIEVnZ3NkAgcPFgIfAQUzPHA+PGVtPkJ5IENoZXJ5bCBMb25nIGFuZCBUYWJpdGhhIEFsd=
GVybWFuPC9lbT48L3A+ZAIJDxYCHwEF2mQ8cD5Nb3N0IG9mIHRoZSBlZ2dzIGN1cnJlbnRseS=
Bzb2xkIGluIHN1cGVybWFya2V0cyBhcmUgbnV0cml0aW9uYWxseSBpbmZlcmlvciB0byBlZ2d=
zIHByb2R1Y2VkIGJ5IGhlbnMgcmFpc2VkIG9uIHBhc3R1cmUuIFRoYXTigJlzIHRoZSBjb25j=
bHVzaW9uIHdlIGhhdmUgcmVhY2hlZCBmb2xsb3dpbmcgY29tcGxldGlvbiBvZiB0aGUgMjAwN=
yBNb3RoZXIgRWFydGggTmV3cyBlZ2cgdGVzdGluZyBwcm9qZWN0LiBPdXIgdGVzdGluZyBoYX=
MgZm91bmQgdGhhdCwgY29tcGFyZWQgdG8gb2ZmaWNpYWwgVS5TLiBEZXBhcnRtZW50IG9mIEF=
ncmljdWx0dXJlIChVU0RBKSBudXRyaWVudCBkYXRhIGZvciBjb21tZXJjaWFsIGVnZ3MsIGVn=
Z3MgZnJvbSBoZW5zIHJhaXNlZCBvbiBwYXN0dXJlIG1heSBjb250YWluOjwvcD48cD48c3Ryb=
25nPuKAosKgMS8zIGxlc3MgY2hvbGVzdGVyb2w8YnIgLz48L3N0cm9uZz48c3Ryb25nPuKAos=
KgMS80IGxlc3Mgc2F0dXJhdGVkIGZhdDxiciAvPjwvc3Ryb25nPjxzdHJvbmc+4oCiwqAyLzM=
gbW9yZSB2aXRhbWluIEE8YnIgLz48L3N0cm9uZz48c3Ryb25nPuKAoiAyIHRpbWVzIG1vcmUg=
b21lZ2EtMyBmYXR0eSBhY2lkczxiciAvPjwvc3Ryb25nPjxzdHJvbmc+4oCiwqAzIHRpbWVzI=
G1vcmUgdml0YW1pbiBFPGJyIC8+PC9zdHJvbmc+PHN0cm9uZz7igKIgNyB0aW1lcyBtb3JlIG=
JldGEgY2Fyb3RlbmU8L3N0cm9uZz48L3A+PHA+VGhlc2XCoDxhIHRpdGxlPSJhbWF6aW5nIHJ=
lc3VsdHMiIGhyZWY9Ii91cGxvYWRlZEZpbGVzL0VnZ0dyYXBoaWMucGRmIiB0YXJnZXQ9Il9i=
bGFuayI+YW1hemluZyByZXN1bHRzPC9hPsKgY29tZSBmcm9tIDE0IGZsb2NrcyBhcm91bmQgd=
GhlIGNvdW50cnkgdGhhdCByYW5nZSBmcmVlbHkgb24gcGFzdHVyZSBvciBhcmUgaG91c2VkIG=
luIG1vdmVhYmxlIHBlbnMgdGhhdCBhcmUgcm90YXRlZCBmcmVxdWVudGx5IHRvIG1heGltaXp=
lIGFjY2VzcyB0byBmcmVzaCBwYXN0dXJlIGFuZCBwcm90ZWN0IHRoZSBiaXJkcyBmcm9tIHBy=
ZWRhdG9ycy4gV2UgaGFkIHNpeCBlZ2dzIGZyb20gZWFjaCBvZiB0aGUgMTQgcGFzdHVyZWQgZ=
mxvY2tzIHRlc3RlZCBieSBhbiBhY2NyZWRpdGVkIGxhYm9yYXRvcnkgaW4gUG9ydGxhbmQsIE=
9yZS4gVGhlwqBjaGFydMKgYXQgdGhlIGVuZCBvZiB0aGlzIGFydGljbGXCoHNob3dzIHRoZSB=
hdmVyYWdlIG51dHJpZW50IGNvbnRlbnQgb2YgdGhlIHNhbXBsZXMsIGNvbXBhcmVkIHdpdGgg=
dGhlIG9mZmljaWFsIGVnZyBudXRyaWVudCBkYXRhIGZyb20gdGhlIFVTREEgZm9yIOKAnGNvb=
nZlbnRpb25hbOKAnSAoaS5lLiBmcm9tIGNvbmZpbmVkIGhlbnMpIGVnZ3MuIFRoZSBjaGFydM=
KgbGlzdHMgdGhlIGluZGl2aWR1YWwgcmVzdWx0cyBmcm9tIGVhY2ggZmxvY2suPC9wPjxwPlR=
oZSAyMDA3IHJlc3VsdHMgYXJlIHNpbWlsYXIgdG8gdGhvc2UgZnJvbSAyMDA1LCB3aGVuIHdl=
IHRlc3RlZCBlZ2dzIGZyb20gZm91ciBmbG9ja3MgYWxsIG1hbmFnZWQgYXMgdHJ1bHkgZnJlZ=
SByYW5nZS4gQnV0IG91ciB0ZXN0cyBhcmUgbm90IHRoZSBmaXJzdCB0byBzaG93IHRoYXQgcG=
FzdHVyZWQgZWdncyBhcmUgbW9yZSBudXRyaXRpb3VzIOKAlCBzZWUg4oCcTW91bnRpbmcgRXZ=
pZGVuY2XigJ3CoGJlbG93IGZvciBhIHN1bW1hcnkgb2Ygc2l4IHN0dWRpZXMgdGhhdCBhbGwg=
aW5kaWNhdGVkIHRoYXQgcGFzdHVyZWQgZWdncyBhcmUgcmljaGVyIGluIG51dHJpZW50cyB0a=
GFuIHR5cGljYWwgc3VwZXJtYXJrZXQgZWdncy48L3A+PHA+V2UgdGhpbmsgdGhlc2UgZHJhbW=
F0aWNhbGx5IGRpZmZlcmluZyBudXRyaWVudCBsZXZlbHMgYXJlIG1vc3QgbGlrZWx5IHRoZSB=
yZXN1bHQgb2YgdGhlIGRpZmZlcmVudCBkaWV0cyBvZiBiaXJkcyB0aGF0IHByb2R1Y2UgdGhl=
c2UgdHdvIHR5cGVzIG9mIGVnZ3MuIFRydWUgZnJlZS1yYW5nZSBiaXJkcyBlYXQgYSBjaGlja=
2Vu4oCZcyBuYXR1cmFsIGRpZXQg4oCUIGFsbCBraW5kcyBvZiBzZWVkcywgZ3JlZW4gcGxhbn=
RzLCBpbnNlY3RzIGFuZCB3b3JtcywgdXN1YWxseSBhbG9uZyB3aXRoIGdyYWluIG9yIGxheWl=
uZyBtYXNoLiBGYWN0b3J5IGZhcm0gYmlyZHMgbmV2ZXIgZXZlbiBzZWUgdGhlIG91dGRvb3Jz=
LCBsZXQgYWxvbmUgZ2V0IHRvIGZvcmFnZSBmb3IgdGhlaXIgbmF0dXJhbCBkaWV0LiBJbnN0Z=
WFkIHRoZXkgYXJlIGZlZCB0aGUgY2hlYXBlc3QgcG9zc2libGUgbWl4dHVyZSBvZiBjb3JuLC=
Bzb3kgYW5kL29yIGNvdHRvbnNlZWQgbWVhbHMsIHdpdGggYWxsIGtpbmRzIG9mIGFkZGl0aXZ=
lcyDigJQgc2VlIOKAnFRoZSBDYWdlZCBIZW7igJlzIERpZXTigJ0gYmVsb3cuPC9wPjxwPlRo=
ZSBjb252ZW50aW9uYWwgZWdnIGluZHVzdHJ5IHdhbnRzIHZlcnkgbXVjaCB0byBkZW55IHRoY=
XQgZnJlZS1yYW5nZS9wYXN0dXJlZCBlZ2dzIGFyZSBiZXR0ZXIgdGhhbiBlZ2dzIGZyb20gYm=
lyZHMga2VwdCBpbiBjcm93ZGVkLCBpbmh1bWFuZSBpbmRvb3IgY29uZGl0aW9ucy4gQSBzdGF=
0ZW1lbnQgb24gdGhlIEFtZXJpY2FuIEVnZyBCb2FyZOKAmXPCoDxhIHRpdGxlPSJXZWIgc2l0=
ZSIgaHJlZj0iaHR0cDovL3d3dy5hZWIub3JnLyIgdGFyZ2V0PSJfYmxhbmsiPldlYiBzaXRlP=
C9hPsKgc2F5cyDigJxUcnVlIGZyZWUtcmFuZ2UgZWdncyBhcmUgdGhvc2UgcHJvZHVjZWQgYn=
kgaGVucyByYWlzZWQgb3V0ZG9vcnMgb3IgdGhhdCBoYXZlIGRhaWx5IGFjY2VzcyB0byB0aGU=
gb3V0ZG9vcnMu4oCdPC9wPjxwPkJhbG9uZXkuIFRoZXnigJlyZSB0cnlpbmcgdG8gZHVjayB0=
aGUgaXNzdWUgYnkgaW5jb3JyZWN0bHkgZGVmaW5pbmcg4oCcdHJ1ZSBmcmVlLXJhbmdlLuKAn=
SBBbmQgdGhlIFVTREEgaXNu4oCZdCBoZWxwaW5nIGNvbnN1bWVycyBsZWFybiB0aGUgdHJ1dG=
gsIGVpdGhlcjog4oCcQWxsb3dlZCBhY2Nlc3MgdG8gdGhlIG91dHNpZGXigJ0gaXMgaG93IHR=
oZSBVU0RBIGRlZmluZXMg4oCcZnJlZS1yYW5nZS7igJ0gVGhpcyBpbmFkZXF1YXRlIGRlZmlu=
aXRpb24gbWVhbnMgdGhhdCBwcm9kdWNlcnMgY2FuLCBhbmQgZG8sIGxhYmVsIHRoZWlyIGVnZ=
3MgYXMg4oCcZnJlZS1yYW5nZeKAnSBldmVuIGlmIGFsbCB0aGV5IGRvIGlzIGxlYXZlIGxpdH=
RsZSBkb29ycyBvcGVuIG9uIHRoZWlyIGdpYW50IHNoZWRzLCByZWdhcmRsZXNzIG9mIHdoZXR=
oZXIgdGhlIGJpcmRzIGV2ZXIgbGVhcm4gdG8gZ28gb3V0c2lkZSwgYW5kIHJlZ2FyZGxlc3Mg=
b2Ygd2hldGhlciB0aGVyZSBpcyBnb29kIHBhc3R1cmUgb3IganVzdCBiYXJlIGRpcnQgb3IgY=
29uY3JldGUgb3V0c2lkZSB0aG9zZSBkb29ycyE8L3A+PHA+Qm90aCBvcmdhbml6YXRpb25zIG=
5lZWQgdG8gY29tZSBjbGVhbi4gVHJ1ZSBmcmVlLXJhbmdlIGVnZ3MgYXJlIHRob3NlIGZyb20=
gaGVucyB0aGF0IHJhbmdlIG91dGRvb3JzIG9uIHBhc3R1cmUsIHdoaWNoIG1lYW5zIHRoZXkg=
Y2FuIGRvIHdoYXTigJlzIG5hdHVyYWwg4oCUIGZvcmFnZSBmb3IgYWxsIG1hbm5lciBvZiBnc=
mVlbiBwbGFudHMgYW5kIGluc2VjdHMuPC9wPjxwPlRoZSBFZ2cgQm9hcmQgc3RhdGVtZW50IG=
dvZXMgb24gdG8gc2F5OiDigJxUaGUgbnV0cmllbnQgY29udGVudCBvZiBlZ2dzIGlzIG5vdCB=
hZmZlY3RlZCBieSB3aGV0aGVyIGhlbnMgYXJlIHJhaXNlZCBmcmVlLXJhbmdlIG9yIGluIGZs=
b29yIG9yIGNhZ2Ugb3BlcmF0aW9ucy7igJ08L3A+PHA+QWdhaW4sIHRoYXQgaXMgaG9nd2Fza=
C4gVGhleSB0aGluayB0aGV5IGNhbiBzaW1wbHkgaWdub3JlIHRoZSBncm93aW5nIGJvZHkgb2=
YgZXZpZGVuY2UgdGhhdCBjbGVhcmx5IHNob3dzIHRoYXQgZWdncyBhcmUgc3VwZXJpb3Igd2h=
lbiB0aGUgaGVucyBhcmUgYWxsb3dlZCB0byBlYXQgdGhlaXIgbmF0dXJhbCBkaWV0LiBPciBt=
YXliZSB0aGV5IHRoaW5rIGl04oCZcyBPSyB0byBtaXNsZWFkIHRoZSBwdWJsaWMgdG8gcHJvd=
GVjdCBlZ2cgcHJvZHVjZXJz4oCZIGJvdHRvbSBsaW5lLjwvcD48cD5BZnRlciB3ZSBwdWJsaX=
NoZWQgb3VyIGZpcnN0IHJlcG9ydCBhYm91dCB0aGUgaGlnaCBudXRyaWVudCBsZXZlbHMgaW4=
gcGFzdHVyZWQgZWdncywgdGhlIEVnZyBOdXRyaXRpb24gQ291bmNpbCBxdWVzdGlvbmVkIG91=
ciDigJxzdWdnZXN0aW9u4oCdIHRoYXQgcGFzdHVyZWQgZWdncyB3ZXJlIGJldHRlciBpbiB0a=
GVpciBBdWcuIDgsIDIwMDUsIG5ld3NsZXR0ZXI6PC9wPjxwPuKAnEJhcnJpbmcgc3BlY2lhbC=
BkaWV0cyBvciBicmVlZHMsIGVnZyBudXRyaWVudHMgYXJlIG1vc3QgbGlrZWx5IHNpbWlsYXI=
gZm9yIGVnZy1sYXlpbmcgaGVucywgbm8gbWF0dGVyIGhvdyB0aGV5IGFyZSByYWlzZWQu4oCd=
IFRoZXJl4oCZcyB0aGF0IGRvdWJsZS1zcGVhaywgYWdhaW46IOKAnEJhcnJpbmcgc3BlY2lhb=
CBkaWV0cyAuLi7igJ0gU2luY2Ugd2hlbiBhcmUgZGlldHMgbm90IGEgcGFydCBvZiBob3cgY2=
hpY2tlbnMgYXJlIHJhaXNlZD8gQ29tZSBvbiwgcGVvcGxlLCB3ZeKAmXZlIGNpdGVkIHNpeCB=
zdHVkaWVzIChzZWUgIk1vdW50aW5nIEV2aWRlbmNlIiwgYmVsb3cpIHNob3dpbmcgdGhhdCBw=
YXN0dXJlZCBlZ2dzIGFyZSBiZXR0ZXIuIFRoZSBiZXN0IHlvdSBjYW4gc2F5IGlzIOKAnG1vc=
3QgbGlrZWx54oCdIHRoaXMgZXZpZGVuY2UgaXMgd3Jvbmc/IENpdGUgc29tZSBzY2llbmNlIH=
RvIHN1cHBvcnQgeW91ciBhc3NlcnRpb25zISBUaGUgVS5TLiBQb3VsdHJ5IGFuZCBFZ2cgQXN=
zb2NpYXRpb24gb2ZmZXJzIHRoZSBzYW1lIG1pc2xlYWRpbmcgc3RhdGVtZW50IG9uIGl0c8Kg=
PGEgdGl0bGU9IldlYiBzaXRlIiBocmVmPSJodHRwOi8vaHR0cC8vd3d3LnBvdWx0cnllZ2cub=
3JnL2luZGV4Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5XZWIgc2l0ZTwvYT46PC9wPjxwPuKAnF=
doYXQgYXJlIGZyZWUtcmFuZ2UgZWdncz8gRnJlZS1yYW5nZSBlZ2dzIGFyZSBmcm9tIGhlbnM=
gdGhhdCBsaXZlIG91dGRvb3JzIG9yIGhhdmUgYWNjZXNzIHRvIHRoZSBvdXRkb29ycy4gVGhl=
IG51dHJpZW50IGNvbnRlbnQgb2YgZWdncyBmcm9tIGZyZWUtcmFuZ2UgaGVucyBpcyB0aGUgc=
2FtZSBhcyB0aG9zZSBmcm9tIGhlbnMgaG91c2VkIGluIHByb2R1Y3Rpb24gZmFjaWxpdGllcy=
B3aXRoIGNhZ2VzLuKAnTwvcD48cD5JdOKAmXMgYW1hemluZyB3aGF0IGEgZ3JvdXAgY2FuIGR=
vIHdpdGggYSAkMjAgbWlsbGlvbiBhbm51YWwgYnVkZ2V0LiBUaGF04oCZcyB3aGF0IGZhY3Rv=
cnktZmFybSBlZ2cgcHJvZHVjZXJzIHBheSB0byBmdW5kIHRoZSBBRUIgZWFjaCB5ZWFyIHRvI=
GNvbnZpbmNlIHRoZSBwdWJsaWMgdG8ga2VlcCBidXlpbmcgdGhlaXIgZWdncywgd2hpY2ggd2=
Ugbm93IGJlbGlldmUgYXJlIHN1YnN0YW5kYXJkLjwvcD48cD5UaGUgRWdnIEJvYXJk4oCZcyB=
taXNsZWFkaW5nIGNsYWltcyBhYm91dCBmcmVlLXJhbmdlL3Bhc3R1cmVkIGVnZ3MgcGVydmFk=
ZSB0aGUgSW50ZXJuZXQsIGV2ZW4gdGhvdWdoIHRoZSBCb2FyZCBoYXMgYmVlbiBhd2FyZSBvZ=
iB0aGUgZXZpZGVuY2UgYWJvdXQgdGhlIG51dHJpZW50IGRpZmZlcmVuY2VzIGF0IGxlYXN0IH=
NpbmNlIG91ciAyMDA1IHJlcG9ydC4gV2UgZm91bmQgdmlydHVhbGx5IHRoZSBzYW1lICh1bnN=
1YnN0YW50aWF0ZWQpIGNsYWltIGRlbnlpbmcgYW55IGRpZmZlcmVuY2UgaW4gbnV0cmllbnQg=
Y29udGVudCBvbiBXZWIgc2l0ZXMgb2YgdGhlIEFtZXJpY2FuIENvdW5jaWwgb24gU2NpZW5jZ=
SBhbmQgSGVhbHRoIChhbiBpbmR1c3RyeS1mdW5kZWQgbm9ucHJvZml0KSwgdGhlIElvd2EgRW=
dnIENvdW5jaWwsIHRoZSBHZW9yZ2lhIEVnZyBDb21taXNzaW9uLCB0aGUgQWxiZXJ0YSAoQ2F=
uYWRhKSBFZ2cgUHJvZHVjZXJzLCBIb3JtZWwgRm9vZHMsIENhbE1haW5lIEZvb2RzIGFuZCBO=
dUNhbCBGb29kcyAo4oCcdGhlIGxhcmdlc3QgZGlzdHJpYnV0b3Igb2Ygc2hlbGwgZWdncyBpb=
iB0aGUgV2VzdGVybiBVbml0ZWQgU3RhdGVz4oCdKS48L3A+PHA+QnV0IHRoZSBtb3N0IHJpZG=
ljdWxvdXMgb25saW5lIGNvbW1lbnRzIHR1cm5lZCB1cCBhdCA8YSB0aXRsZT0id3d3LnN1cGV=
ybWFya2V0Z3VydS5jb20iIGhyZWY9Imh0dHA6Ly93d3cuc3VwZXJtYXJrZXRndXJ1LmNvbS8i=
IHRhcmdldD0iX2JsYW5rIj53d3cuc3VwZXJtYXJrZXRndXJ1LmNvbTwvYT4sIGEgc2l0ZSBtY=
WludGFpbmVkIGJ5IGEg4oCcZm9vZCB0cmVuZHMgY29uc3VsdGFudC7igJ0gSXQgc2F5czo8L3=
A+PHA+4oCcRlJFRSBSQU5HRTogUHJvYmFibHkgdGhlIG1vc3QgbWlzdW5kZXJzdG9vZCBvZiB=
hbGwgY2xhaW1zLCBpdOKAmXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCBoZW5zIGJhc2ljYWxs=
eSBzdGF5IG5lYXIgdGhlaXIgZm9vZCwgd2F0ZXIgYW5kIG5lc3RzLCBhbmQgdGhlIGlkZWEgb=
2YgYSBoYXBweS1nby1sdWNreSBiaXJkIHNjYW1wZXJpbmcgYWNyb3NzIGEgZmllbGQgaXMgZm=
FyIGZyb20gdGhlIG5hdHVyYWwgd2F5IG9mIGxpZmUuIFRoZSBjbGFpbSBvbmx5IG1lYW5zIHR=
oYXQgdGhlIGhlbnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIG91dGRvb3JzLCBub3QgdGhhdCB0aGV5=
IGF2YWlsIHRoZW1zZWx2ZXMgb2YgdGhlIG9wcG9ydHVuaXR5LiBUaGUgaGVucyBwcm9kdWNlI=
GZld2VyIGVnZ3Mgc28gdGhleSBhcmUgbW9yZSBleHBlbnNpdmU7IGhpZ2hlciBwcm9kdWN0IG=
Nvc3RzIGFkZCB0byB0aGUgcHJpY2Ugb2YgdGhlIGVnZ3MuIFRoZSBudXRyaWVudCBjb250ZW5=
0IGlzIHRoZSBzYW1lIGFzIG90aGVyIGVnZ3Mu4oCdPC9wPjxwPklmIHlvdeKAmXZlIGV2ZXIg=
YmVlbiBhcm91bmQgY2hpY2tlbnMsIHlvdSBrbm93IHRoYXQgd2hvZXZlciB3cm90ZSB0aGF0I=
Ghhc27igJl0LiBDaGlja2VucyB3aWxsIHNwZW5kIGFsbW9zdCB0aGVpciBlbnRpcmUgZGF5IH=
JhbmdpbmcgYXJvdW5kIGEgcHJvcGVydHkgc2NyYXRjaGluZyBhbmQgc2VhcmNoaW5nIGZvciB=
mb29kLiBFdmVuIGFzIHRpbnkgY2hpY2tzLCB0aGV5IGFyZSBuYXR1cmFsbHkgY3VyaW91cyBh=
bmQgd2lsbCBiZWdpbiBlYXRpbmcgZ3Jhc3MgYW5kIHBlY2tpbmcgY3VyaW91c2x5IGF0IGFue=
SBpbnNlY3RzIG9yIGV2ZW4gc3BlY2tzIG9uIHRoZSB3YWxscyBvZiB0aGVpciBicm9vZGVyIG=
JveC4g4oCcU2NhbXBlcmluZyBhY3Jvc3MgYSBmaWVsZCzigJ0gbG9va2luZyBmb3IgZm9vZCw=
gaXMgcHJlY2lzZWx5IHRoZWlyIG5hdHVyYWwgd2F5IG9mIGxpZmUuPC9wPjxwPlN1cGVybWFy=
a2V0IEd1cnUgZGlkIGdldCBvbmUgdGhpbmcgcmlnaHQsIHRob3VnaC4gRnJlZS1yYW5nZS9wY=
XN0dXJlZCBlZ2dzIGFyZSBsaWtlbHkgdG8gYmUgbW9yZSBleHBlbnNpdmUgYmVjYXVzZSBwcm=
9kdWN0aW9uIGNvc3RzIGFyZSBoaWdoZXIuIEFzIHVzdWFsLCB5b3UgZ2V0IHdoYXQgeW91IHB=
heSBmb3IuIElmIHlvdSBidXkgdGhlIGNoZWFwZXN0IHN1cGVybWFya2V0IGVnZ3MsIHlvdSBh=
cmUgbm90IG9ubHkgbWlzc2luZyBvdXQgb24gdGhlIHZhbHVhYmxlIG51dHJpZW50cyBlZ2dzI=
HNob3VsZCBhbmQgY2FuIGNvbnRhaW4sIHlvdSBhcmUgYWxzbyBzdXBwb3J0aW5nIGFuIGluZH=
VzdHJpYWwgcHJvZHVjdGlvbiBzeXN0ZW0gdGhhdCB0cmVhdHMgYW5pbWFscyBjcnVlbGx5IGF=
uZCBtYWtlcyBtb3JlIHN1c3RhaW5hYmxlLCBzbWFsbC1zY2FsZSBlZ2cgcHJvZHVjdGlvbiBk=
aWZmaWN1bHQuPC9wPjxwPllvdSBjYW4gcmFpc2UgcGFzdHVyZWQgY2hpY2tlbnMgZWFzaWx5I=
HJpZ2h0IGluIHlvdXIgYmFjayB5YXJkIOKAlCBzZWUgb3VyIHJlY2VudCBhcnRpY2xlcyBhYm=
91dCBob3cgdG8gZG8gaXTCoDxhIHRpdGxlPSJoZXJlIiBocmVmPSIvZWdncy5hc3B4IiB0YXJ=
nZXQ9Il9ibGFuayI+aGVyZTwvYT4uIE9yIHlvdSBjYW4gZmluZCBwYXN0dXJlZCBlZ2dzIGF0=
IGxvY2FsIGZhcm1zdGFuZHMgYW5kIGZhcm1lcnMgbWFya2V0cywgb3Igc29tZXRpbWVzIGF0I=
HRoZSBzdXBlcm1hcmtldC4gVGVsbCB0aGUgc3RvcmUgbWFuYWdlciB5b3Ugd2FudCBlZ2dzIG=
Zyb20gcGFzdHVyZWQgaGVucywgYW5kIGVuY291cmFnZSB0aGUgbWFuYWdlciB0byBjb250YWN=
0IGxvY2FsIHByb2R1Y2Vycy4gVG8gZmluZCBwYXN0dXJlZCBwcm9kdWNlcnMgbmVhciB5b3Us=
IGNoZWNrIG91dMKgPGEgdGl0bGU9Ind3dy5lYXR3aWxkLmNvbSIgaHJlZj0iaHR0cDovL3d3d=
y5lYXR3aWxkLmNvbS8iIHRhcmdldD0iX2JsYW5rIj53d3cuZWF0d2lsZC5jb208L2E+wqBvcs=
KgPGEgdGl0bGU9Ind3dy5sb2NhbGhhcnZlc3QuY29tIiBocmVmPSJodHRwOi8vd3d3LmxvY2F=
saGFydmVzdC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+d3d3LmxvY2FsaGFydmVzdC5jb208L2E+=
LjwvcD48cD48L3A+PGhyIC8+PGgyPldoeSBQYXN0dXJlZCBFZ2dzIGFyZSB0aGUgQmVzdDwva=
DI+PHA+IkN1c3RvbWVycyBnZXQgb3VyIGVnZ3MgZnJvbSB0aGUgZmFybSB3aGVyZSB0aGV54o=
CZcmUgbGFpZCwgc28gdGhleSBzZWUgZXhhY3RseSBob3cgdGhlIGhlbnMgbGl2ZTogaW4gaGV=
hbHRoeSwgaHVtYW5lIGNvbmRpdGlvbnMuIiDigJMgTWFyayBhbmQgTWVsaXNzYSBNb2VsbGVy=
LCBNaXN0eSBNZWFkb3dzIEZhcm08L3A+PHA+IllvdXIgZWdnIHRlc3RpbmcgaXMgcmVhbCBjd=
Wx0dXJlLWNoYW5naW5nIHN0dWZmLCBhbmQgSSBhcHBsYXVkIE1vdGhlciBFYXJ0aCBOZXdzIG=
luIGNvdXJhZ2VvdXNseSBtb3ZpbmcgZm9yd2FyZCB3aXRoIGl0LiIg4oCTIEpvZWwgU2FsYXR=
pbiwgUG9seWZhY2UgRmFybTwvcD48cD4iTXkgYmVzdCBtYXJrZXRpbmcgdG9vbCBpcyBteSBj=
dXN0b21lcnMsIHdobyByZWd1bGFybHkgdGVsbCBwZW9wbGUgdGhhdCB0aGVzZSBhcmUgdGhlI=
GJlc3QgZWdncyB0aGV54oCZdmUgZXZlciBoYWQgYW5kIHdvcnRoIGV2ZXJ5IHBlbm55LiIg4o=
CTIFBhdHJ5ayBCYXR0bGUsIFNwYXJrbGluZyBFYXJ0aCBGYXJtPC9wPjxwPiJXZSBoYXZlIG1=
hbnkgbG95YWwgY3VzdG9tZXJzIHdobyBzdGFuZCBpbiBsaW5lIDMwIG1pbnV0ZXMgYmVmb3Jl=
IHRoZSBtYXJrZXQgb3BlbnMgdG8gZ2V0IG91ciBlZ2dzLiIg4oCTIEdlb3JnZSAmYW1wOyBFa=
WtvIFZvamtvdmljaCwgU2thZ2l0IFJpdmVyIFJhbmNoPC9wPjxwPiJXZSBzdXBwb3J0IFNoYW=
R5IEdyb3ZlIEZhcm0gYmVjYXVzZSBpdOKAmXMgaW1wb3J0YW50IHRvIGtlZXAgb3VyIGxvY2F=
sIG9yZ2FuaWMgZmFybWVycyB0aHJpdmluZy4gQmVzdCBvZiBhbGwsIHRoZSBlZ2dzIHRhc3Rl=
IGJldHRlciwgYXJlIGJldHRlciBmb3IgeW91LCBhbmQgYWRkIGFtYXppbmcgZmxhdm9yIChhb=
mQgY29sb3IhKSB0byBvdXIgZm9vZC4iIMKgwqAg4oCTIFJhY2hlbCBSb3NlLCByZXN0YXVyYX=
RldXI8L3A+PHA+IldlIHByZWFjaCB0byBldmVyeW9uZSB0aGF0IHdpbGwgbGlzdGVuOiBEb27=
igJl0IGJ1eSBhbmltYWwgcHJvZHVjdHMgdW5sZXNzIHlvdSBjYW4gc2VlIHRoZSB3YXkgdGhl=
eeKAmXJlIHJhaXNlZC4gSWYgZXZlcnlvbmUgYm91Z2h0IHRoYXQgd2F5LCB0aGVyZSB3b3VsZ=
G7igJl0IGJlIGluZHVzdHJpYWwgZmFybXMsIGFuZCB0aGUgc21hbGwgZmFybWVyIGNvdWxkIH=
Byb3NwZXIgYWdhaW4uIiDigJMgQmlsbCBhbmQgU2hhcm9uIE1vcmV0b24sIFNwcmluZyBNb3V=
udGFpbiBGYXJtczwvcD48cD4iV2Ugc2VsbCBvdXIgZWdncyB0byBzZXZlcmFsIHJlc3RhdXJh=
bnQgY2hlZnMg4oCUIHRoZXnigJlsbCBwYXkgdGhyZWUgb3IgbW9yZSB0aW1lcyB0aGUgcHJpY=
2UgZm9yIHBhc3R1cmVkIGVnZ3Mgb3ZlciBjb21tZXJjaWFsLiIg4oCTRGF2aWQgU21pdGgsIF=
NwcmluZ2ZpZWxkIEZhcm08L3A+PHA+IknigJltIGluIHRoaXMgZm9yIHRoZSBqb3kgY2hpY2t=
lbnMgYnJpbmcgYW5kIGhlYWx0aGZ1bCBlZ2dzLCBub3QgcHJvZml0LiBTaXR0aW5nIG9uIHRo=
ZSBwb3JjaCB3YXRjaGluZyB0aGUgbGFkaWVzIGluIHRoZSB5YXJkIGlzIGJldHRlciB0aGFuI=
GFueSB0aGVyYXB5LCBzbyB0aGV54oCZcmUgd29ydGggYXQgbGVhc3QgJDEwMCBhbiBob3VyIH=
RvIG1lLiIg4oCTIFN1emFuIFRvdWNoZXR0ZSwgV2luZHkgSXNsYW5kIEFjcmVzPC9wPjxwPiJ=
J4oCZbSBzbyBmb3J0dW5hdGUgdG8gZ2V0IGZyZXNoIGVnZ3MgZnJvbSBoZWlybG9vbSBoZW5z=
IHRoYXQgc3BlbmQgdGhlaXIgZGF5cyBlYXRpbmcgYnVncywgZ3Jhc3MgYW5kIHdlZWRzLiBUa=
GVpciBlZ2dzIGFyZSB0aGUgbW9zdCBmbGF2b3JmdWwgSeKAmXZlIGV2ZXIgZWF0ZW4hIFBsdX=
MsIEkgYXBwcmVjaWF0ZSBrbm93aW5nIGhvdyBmcmVzaCB0aGV5IGFyZS4iIOKAkyBIZWlkaSB=
IdW50LCBhZGRpY3RlZCB0byBSZWQgU3R1Z2EgZWdnczwvcD48cD4iSXTigJlzIGEgcmVhbCBw=
bGVhc3VyZSB0byByZXR1cm4gdG8gZWdncyB0aGF0IGhhdmUgcXVhbGl0eSBvZiB0YXN0ZSwgd=
GV4dHVyZSBhbmQgbG9va3MuIE5vdyB0aGF0IEkgZ2V0IHRoZSBhZGRlZCBiZW5lZml0IG9mIG=
xlc3MgY2hvbGVzdGVyb2wgYW5kIGFsbCB0aGUgbnV0cml0aW9uLCBJIGFtIHNpbXBseSBkZWx=
pZ2h0ZWQuIiDigJMgRGFubnkgRy4gTGFuZ2RvbiwgTWlzdHkgTWVhZG93cyBtYW5pYWM8L3A+=
PGhyIC8+PGgyPlRoZSBDYWdlZCBIZW7igJlzIERpZXQ8L2gyPjxwPkhlcmXigJlzIHRoZSBpb=
mdyZWRpZW50cyBsaXN0IGZyb20g4oCcMTYgcGVyY2VudCBMYXllciBDcnVtYmxlcyzigJ0gYS=
BmZWVkIGRlc2lnbmVkIGZvciBoZW5zIHJhaXNlZCBpbiBjb25maW5lbWVudDog4oCcR3JhaW4=
gUHJvZHVjdHMsIFBsYW50IFByb3RlaW4gUHJvZHVjdHMsIFByb2Nlc3NlZCBHcmFpbiBCeXBy=
b2R1Y3RzLCBSb3VnaGFnZSBQcm9kdWN0cywgRm9yYWdlIFByb2R1Y3RzIDxlbT5baW4gb3RoZ=
XIgd29yZHMsIGNvdWxkIGNvbnRhaW4gcHJldHR5IG11Y2ggYW55dGhpbmchIOKAlCBNb3RoZX=
JdPC9lbT4sIFZpdGFtaW4gQSBTdXBwbGVtZW50LCBWaXRhbWluIEQzIFN1cHBsZW1lbnQsIFZ=
pdGFtaW4gRSBTdXBwbGVtZW50LCBWaXRhbWluIEIxMiBTdXBwbGVtZW50LCBSaWJvZmxhdmlu=
IFN1cHBsZW1lbnQsIE5pYWNpbiBTdXBwbGVtZW50LCBDYWxjaXVtIFBhbnRvdGhlbmF0ZSwgQ=
2hvbGluZSBDaGxvcmlkZSwgRm9saWMgQWNpZCwgTWFuYWRpb25lIFNvZGl1bSBCaXN1bGZpdG=
UgQ29tcGxleCwgTWV0aGlvbmluZSBTdXBwbGVtZW50LCBDYWxjaXVtIENhcmJvbmF0ZSwgU2F=
sdCwgTWFuZ2Fub3VzIE94aWRlLCBGZXJyb3VzIFN1bGZhdGUsIENvcHBlciBDaGxvcmlkZSwg=
WmluYyBPeGlkZSwgRXRoeWxlbmVkaWFtaW5lIERpaHlkcmlvZGlkZSwgU29kaXVtIFNlbGVua=
XRlLuKAnTwvcD48aHIgLz48aDI+TW91bnRpbmcgRXZpZGVuY2U8L2gyPjx1bD48bGk+SW4gMT=
k3NCwgdGhlIEJyaXRpc2ggSm91cm5hbCBvZiBOdXRyaXRpb24gZm91bmQgdGhhdCBwYXN0dXJ=
lZCBlZ2dzIGhhZCA1MCBwZXJjZW50IG1vcmUgZm9saWMgYWNpZCBhbmQgNzAgcGVyY2VudCBt=
b3JlIHZpdGFtaW4gQjEyIHRoYW4gZWdncyBmcm9tIGZhY3RvcnkgZmFybSBoZW5zLjwvbGk+P=
GxpPkluIDE5ODgsIEFydGVtaXMgU2ltb3BvdWxvcywgY28tYXV0aG9yIG9mIFRoZSBPbWVnYS=
BEaWV0LCBmb3VuZCBwYXN0dXJlZCBlZ2dzIGluIEdyZWVjZSBjb250YWluZWQgMTMgdGltZXM=
gbW9yZSBvbWVnYS0zIHBvbHl1bnNhdHVyYXRlZCBmYXR0eSBhY2lkcyB0aGFuIFUuUy4gY29t=
bWVyY2lhbCBlZ2dzLjwvbGk+PGxpPkEgMTk5OCBzdHVkeSBpbiBBbmltYWwgRmVlZCBTY2llb=
mNlIGFuZCBUZWNobm9sb2d5IGZvdW5kIHRoYXQgcGFzdHVyZWQgZWdncyBoYWQgaGlnaGVyIG=
9tZWdhLTNzIGFuZCB2aXRhbWluIEUgdGhhbiBlZ2dzIGZyb20gY2FnZWQgaGVucy48L2xpPjx=
saT5BIDE5OTkgc3R1ZHkgYnkgQmFyYiBHb3Jza2kgYXQgUGVubnN5bHZhbmlhIFN0YXRlIFVu=
aXZlcnNpdHkgZm91bmQgdGhhdCBlZ2dzIGZyb20gcGFzdHVyZWQgYmlyZHMgaGFkIDEwIHBlc=
mNlbnQgbGVzcyBmYXQsIDM0IHBlcmNlbnQgbGVzcyBjaG9sZXN0ZXJvbCwgNDAgcGVyY2VudC=
Btb3JlIHZpdGFtaW4gQSwgYW5kIGZvdXIgdGltZXMgdGhlIG9tZWdhLTNzIGNvbXBhcmVkIHR=
vIHRoZSBzdGFuZGFyZCBVU0RBIGRhdGEuIEhlciBzdHVkeSBhbHNvIHRlc3RlZCBwYXN0dXJl=
ZCBjaGlja2VuIG1lYXQsIGFuZCBmb3VuZCBpdCB0byBoYXZlIDIxIHBlcmNlbnQgbGVzcyBmY=
XQsIDMwIHBlcmNlbnQgbGVzcyBzYXR1cmF0ZWQgZmF0IGFuZCA1MCBwZXJjZW50IG1vcmUgdm=
l0YW1pbiBBIHRoYW4gdGhlIFVTREEgc3RhbmRhcmQuPC9saT48bGk+SW4gMjAwMywgSGVhdGh=
lciBLYXJzdGVuIGF0IFBlbm5zeWx2YW5pYSBTdGF0ZSBVbml2ZXJzaXR5IGNvbXBhcmVkIGVn=
Z3MgZnJvbSB0d28gZ3JvdXBzIG9mIEh5LUxpbmUgdmFyaWV0eSBoZW5zLCB3aXRoIG9uZSBrZ=
XB0IGluIHN0YW5kYXJkIGNyb3dkZWQgZmFjdG9yeSBmYXJtIGNvbmRpdGlvbnMgYW5kIHRoZS=
BvdGhlciBvbiBtaXhlZCBncmFzcyBhbmQgbGVndW1lIHBhc3R1cmUuIFRoZSBlZ2dzIGhhZCB=
zaW1pbGFyIGxldmVscyBvZiBmYXQgYW5kIGNob2xlc3Rlcm9sLCBidXQgdGhlIHBhc3R1cmVk=
IGVnZ3MgaGFkIHRocmVlIHRpbWVzIG1vcmUgb21lZ2EtM3MsIDIyMCBwZXJjZW50IG1vcmUgd=
ml0YW1pbiBFIGFuZCA2MiBwZXJjZW50IG1vcmUgdml0YW1pbiBBIHRoYW4gZWdncyBmcm9tIG=
NhZ2VkIGhlbnMuPC9saT48bGk+VGhlIDIwMDUgc3R1ZHkgTW90aGVyIEVhcnRoIE5ld3MgY29=
uZHVjdGVkIG9mIGZvdXIgaGVyaXRhZ2UtYnJlZWQgcGFzdHVyZWQgZmxvY2tzIGluIEthbnNh=
cyBmb3VuZCB0aGF0IHBhc3R1cmVkIGVnZ3MgaGFkIHJvdWdobHkgaGFsZiB0aGUgY2hvbGVzd=
GVyb2wsIDUwIHBlcmNlbnQgbW9yZSB2aXRhbWluIEUsIGFuZCB0aHJlZSB0aW1lcyBtb3JlIG=
JldGEgY2Fyb3RlbmUuPC9saT48bGk+VGhlIDIwMDcgcmVzdWx0cyBmcm9tIDE0IHByb2R1Y2V=
ycyBhcmUgc2hvd27CoDxhIHRpdGxlPSJoZXJlIiBocmVmPSIvdXBsb2FkZWRGaWxlcy9FZ2dz=
JTIwY2hhcnQucGRmIiB0YXJnZXQ9Il9ibGFuayI+aGVyZTwvYT4uPC9saT48L3VsPmQCBQ8WA=
h8BBfYIDQogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaX=
B0Ij4NCiAgICAgICAgICAgICAgICAgICAgX3FvcHRpb25zPXsNCiAgICAgICAgICAgICAgICA=
gICAgcWFjY3Q6InAtYjZuMnRBM0JQR2FpWSINCiAgICAgICAgICAgICAgICAgICAgfTsNCiAg=
ICAgICAgICAgICAgICAgICAgPC9zY3JpcHQ+DQogICAgICAgICAgICAgICAgICAgIDxzY3Jpc=
HQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vc2VjdXJlLnF1YW50c2VydmUuY29tL3=
F1YW50LmpzIj48L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgPG5vc2NyaXB0Pg0KICA=
gICAgICAgICAgICAgICAgICA8aW1nIHNyYz0iLy9zZWN1cmUucXVhbnRzZXJ2ZS5jb20vcGl4=
ZWwvcC1iNm4ydEEzQlBHYWlZLmdpZiIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ig0KICAgICAgI=
CAgICAgICAgICAgICBib3JkZXI9IjAiIGhlaWdodD0iMSIgd2lkdGg9IjEiIGFsdD0iUXVhbn=
RjYXN0IiAvPg0KICAgICAgICAgICAgICAgICAgICA8L25vc2NyaXB0Pg0KDQogICAgICAgICA=
gICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAg=
ICAgICAgICAgdmFyIGdhSnNIb3N0ID0gKCgiaHR0cHM6IiA9PSBkb2N1bWVudC5sb2NhdGlvb=
i5wcm90b2NvbCkgPyAiaHR0cHM6Ly9zc2wuIiA6ICJodHRwOi8vd3d3LiIpOw0KICAgICAgIC=
AgICAgICAgICAgICBkb2N1bWVudC53cml0ZSh1bmVzY2FwZSgiJTNDc2NyaXB0IHNyYz0nIiA=
rIGdhSnNIb3N0ICsgImdvb2dsZS1hbmFseXRpY3MuY29tL2dhLmpzJyB0eXBlPSd0ZXh0L2ph=
dmFzY3JpcHQnJTNFJTNDL3NjcmlwdCUzRSIpKTsNCiAgICAgICAgICAgICAgICAgICAgPC9zY=
3JpcHQ+DQogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaX=
B0Ij4NCiAgICAgICAgICAgICAgICAgICAgdHJ5IHsNCiAgICAgICAgICAgICAgICAgICAgdmF=
yIHBhZ2VUcmFja2VyID0gX2dhdC5fZ2V0VHJhY2tlcigiVUEtNjc1MjYtMSIpOw0KICAgICAg=
ICAgICAgICAgICAgICBwYWdlVHJhY2tlci5fdHJhY2tQYWdldmlldygpOw0KICAgICAgICAgI=
CAgICAgICAgICB9IGNhdGNoKGVycikge308L3NjcmlwdD4NCiAgICAgICAgICAgICAgICBkAg=
cPFgIfAWVkZA=3D=3D=20
type=3Dhidden name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var theForm =3D document.forms['aspnetForm'];
if (!theForm) {
    theForm =3D document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.motherearthnews.com/WebResource.axd?d=3DhyHATbbMvctjQeb=
kjwh-tw2&amp;t=3D633527605112930887"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.motherearthnews.com/ScriptResource.axd?d=3DA8lfkXdg8DDV=
4b-m3O_IHTxyXlLHJZff2ql-0TXcq43EFHk1edvUo6bR_0VDJPFm0&amp;t=3Dffffffffc4d=
d7e7f"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.motherearthnews.com/ScriptResource.axd?d=3DA8lfkXdg8DDV=
4b-m3O_IHTxyXlLHJZff2ql-0TXcq40SSQFPDiT9FGCmgf2PJOc70&amp;t=3Dffffffffc4d=
d7e7f"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ctl00$SM', =
document.getElementById('aspnetForm'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], =
['ctl00$ctl00$SM'], [], 90);
//]]>
</SCRIPT>
<INPUT id=3Dctl00_ctl00_SM type=3Dhidden name=3Dctl00$ctl00$SM><IFRAME=20
style=3D"DISPLAY: none" id=3D__historyFrame=20
src=3D"http://www.motherearthnews.com/ScriptResource.axd?d=3D21T2mR_Ct263=
dhhfFL96sg2">

</IFRAME>=20

<DIV style=3D"DISPLAY: none" id=3Dctl00_ctl00_UpdateProgress1>
<DIV id=3DupdateProgressDiv class=3Dupdate-progress>
<DIV style=3D"MARGIN-TOP: 13px" align=3Dcenter><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
id=3Dctl00_ctl00_imgProgress=20
src=3D"http://www.motherearthnews.com/App_Themes/default/images/simple.gi=
f"> <SPAN=20
class=3Dupdate-progress-message>Loading ...</SPAN> </DIV></DIV></DIV>
<DIV class=3Dbody>
<DIV style=3D"BACKGROUND-COLOR: white">
<DIV style=3D"BACKGROUND-COLOR: white"><A =
id=3Dctl00_ctl00_CPH_CPH_lnkBanner=20
href=3D"http://www.motherearthnews.com/"><IMG=20
style=3D"BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px"=20
src=3D"http://www.motherearthnews.com/images/uploaded/banners/logo.gif"><=
/A>=20
<H1>Meet Real Free-Range Eggs</H1>
<P><EM>By Cheryl Long and Tabitha Alterman</EM></P>
<P>Most of the eggs currently sold in supermarkets are nutritionally =
inferior to=20
eggs produced by hens raised on pasture. That=E2=80=99s the conclusion =
we have reached=20
following completion of the 2007 Mother Earth News egg testing project. =
Our=20
testing has found that, compared to official U.S. Department of =
Agriculture=20
(USDA) nutrient data for commercial eggs, eggs from hens raised on =
pasture may=20
contain:</P>
<P><STRONG>=E2=80=A2&nbsp;1/3 less =
cholesterol<BR></STRONG><STRONG>=E2=80=A2&nbsp;1/4 less=20
saturated fat<BR></STRONG><STRONG>=E2=80=A2&nbsp;2/3 more vitamin=20
A<BR></STRONG><STRONG>=E2=80=A2 2 times more omega-3 fatty=20
acids<BR></STRONG><STRONG>=E2=80=A2&nbsp;3 times more vitamin =
E<BR></STRONG><STRONG>=E2=80=A2 7=20
times more beta carotene</STRONG></P>
<P>These&nbsp;<A title=3D"amazing results"=20
href=3D"http://www.motherearthnews.com/uploadedFiles/EggGraphic.pdf"=20
target=3D_blank>amazing results</A>&nbsp;come from 14 flocks around the =
country=20
that range freely on pasture or are housed in moveable pens that are =
rotated=20
frequently to maximize access to fresh pasture and protect the birds =
from=20
predators. We had six eggs from each of the 14 pastured flocks tested by =
an=20
accredited laboratory in Portland, Ore. The&nbsp;chart&nbsp;at the end =
of this=20
article&nbsp;shows the average nutrient content of the samples, compared =
with=20
the official egg nutrient data from the USDA for =
=E2=80=9Cconventional=E2=80=9D (i.e. from=20
confined hens) eggs. The chart&nbsp;lists the individual results from =
each=20
flock.</P>
<P>The 2007 results are similar to those from 2005, when we tested eggs =
from=20
four flocks all managed as truly free range. But our tests are not the =
first to=20
show that pastured eggs are more nutritious =E2=80=94 see =
=E2=80=9CMounting Evidence=E2=80=9D&nbsp;below=20
for a summary of six studies that all indicated that pastured eggs are =
richer in=20
nutrients than typical supermarket eggs.</P>
<P>We think these dramatically differing nutrient levels are most likely =
the=20
result of the different diets of birds that produce these two types of =
eggs.=20
True free-range birds eat a chicken=E2=80=99s natural diet =E2=80=94 all =
kinds of seeds, green=20
plants, insects and worms, usually along with grain or laying mash. =
Factory farm=20
birds never even see the outdoors, let alone get to forage for their =
natural=20
diet. Instead they are fed the cheapest possible mixture of corn, soy =
and/or=20
cottonseed meals, with all kinds of additives =E2=80=94 see =E2=80=9CThe =
Caged Hen=E2=80=99s Diet=E2=80=9D=20
below.</P>
<P>The conventional egg industry wants very much to deny that=20
free-range/pastured eggs are better than eggs from birds kept in =
crowded,=20
inhumane indoor conditions. A statement on the American Egg =
Board=E2=80=99s&nbsp;<A=20
title=3D"Web site" href=3D"http://www.aeb.org/" target=3D_blank>Web =
site</A>&nbsp;says=20
=E2=80=9CTrue free-range eggs are those produced by hens raised outdoors =
or that have=20
daily access to the outdoors.=E2=80=9D</P>
<P>Baloney. They=E2=80=99re trying to duck the issue by incorrectly =
defining =E2=80=9Ctrue=20
free-range.=E2=80=9D And the USDA isn=E2=80=99t helping consumers learn =
the truth, either:=20
=E2=80=9CAllowed access to the outside=E2=80=9D is how the USDA defines =
=E2=80=9Cfree-range.=E2=80=9D This=20
inadequate definition means that producers can, and do, label their eggs =
as=20
=E2=80=9Cfree-range=E2=80=9D even if all they do is leave little doors =
open on their giant=20
sheds, regardless of whether the birds ever learn to go outside, and =
regardless=20
of whether there is good pasture or just bare dirt or concrete outside =
those=20
doors!</P>
<P>Both organizations need to come clean. True free-range eggs are those =
from=20
hens that range outdoors on pasture, which means they can do =
what=E2=80=99s natural =E2=80=94=20
forage for all manner of green plants and insects.</P>
<P>The Egg Board statement goes on to say: =E2=80=9CThe nutrient content =
of eggs is not=20
affected by whether hens are raised free-range or in floor or cage=20
operations.=E2=80=9D</P>
<P>Again, that is hogwash. They think they can simply ignore the growing =
body of=20
evidence that clearly shows that eggs are superior when the hens are =
allowed to=20
eat their natural diet. Or maybe they think it=E2=80=99s OK to mislead =
the public to=20
protect egg producers=E2=80=99 bottom line.</P>
<P>After we published our first report about the high nutrient levels in =

pastured eggs, the Egg Nutrition Council questioned our =
=E2=80=9Csuggestion=E2=80=9D that=20
pastured eggs were better in their Aug. 8, 2005, newsletter:</P>
<P>=E2=80=9CBarring special diets or breeds, egg nutrients are most =
likely similar for=20
egg-laying hens, no matter how they are raised.=E2=80=9D There=E2=80=99s =
that double-speak,=20
again: =E2=80=9CBarring special diets ...=E2=80=9D Since when are diets =
not a part of how=20
chickens are raised? Come on, people, we=E2=80=99ve cited six studies =
(see "Mounting=20
Evidence", below) showing that pastured eggs are better. The best you =
can say is=20
=E2=80=9Cmost likely=E2=80=9D this evidence is wrong? Cite some science =
to support your=20
assertions! The U.S. Poultry and Egg Association offers the same =
misleading=20
statement on its&nbsp;<A title=3D"Web site"=20
href=3D"http://http//www.poultryegg.org/index.html" target=3D_blank>Web=20
site</A>:</P>
<P>=E2=80=9CWhat are free-range eggs? Free-range eggs are from hens that =
live outdoors=20
or have access to the outdoors. The nutrient content of eggs from =
free-range=20
hens is the same as those from hens housed in production facilities with =

cages.=E2=80=9D</P>
<P>It=E2=80=99s amazing what a group can do with a $20 million annual =
budget. That=E2=80=99s=20
what factory-farm egg producers pay to fund the AEB each year to =
convince the=20
public to keep buying their eggs, which we now believe are =
substandard.</P>
<P>The Egg Board=E2=80=99s misleading claims about free-range/pastured =
eggs pervade the=20
Internet, even though the Board has been aware of the evidence about the =

nutrient differences at least since our 2005 report. We found virtually =
the same=20
(unsubstantiated) claim denying any difference in nutrient content on =
Web sites=20
of the American Council on Science and Health (an industry-funded =
nonprofit),=20
the Iowa Egg Council, the Georgia Egg Commission, the Alberta (Canada) =
Egg=20
Producers, Hormel Foods, CalMaine Foods and NuCal Foods (=E2=80=9Cthe =
largest=20
distributor of shell eggs in the Western United States=E2=80=9D).</P>
<P>But the most ridiculous online comments turned up at <A=20
title=3Dwww.supermarketguru.com href=3D"http://www.supermarketguru.com/" =

target=3D_blank>http://www.supermarketguru.com/</A>, a site maintained =
by a =E2=80=9Cfood=20
trends consultant.=E2=80=9D It says:</P>
<P>=E2=80=9CFREE RANGE: Probably the most misunderstood of all claims, =
it=E2=80=99s important to=20
note that hens basically stay near their food, water and nests, and the =
idea of=20
a happy-go-lucky bird scampering across a field is far from the natural =
way of=20
life. The claim only means that the hens have access to the outdoors, =
not that=20
they avail themselves of the opportunity. The hens produce fewer eggs so =
they=20
are more expensive; higher product costs add to the price of the eggs. =
The=20
nutrient content is the same as other eggs.=E2=80=9D</P>
<P>If you=E2=80=99ve ever been around chickens, you know that whoever =
wrote that hasn=E2=80=99t.=20
Chickens will spend almost their entire day ranging around a property =
scratching=20
and searching for food. Even as tiny chicks, they are naturally curious =
and will=20
begin eating grass and pecking curiously at any insects or even specks =
on the=20
walls of their brooder box. =E2=80=9CScampering across a field,=E2=80=9D =
looking for food, is=20
precisely their natural way of life.</P>
<P>Supermarket Guru did get one thing right, though. Free-range/pastured =
eggs=20
are likely to be more expensive because production costs are higher. As =
usual,=20
you get what you pay for. If you buy the cheapest supermarket eggs, you =
are not=20
only missing out on the valuable nutrients eggs should and can contain, =
you are=20
also supporting an industrial production system that treats animals =
cruelly and=20
makes more sustainable, small-scale egg production difficult.</P>
<P>You can raise pastured chickens easily right in your back yard =
=E2=80=94 see our=20
recent articles about how to do it&nbsp;<A title=3Dhere=20
href=3D"http://www.motherearthnews.com/eggs.aspx" =
target=3D_blank>here</A>. Or you=20
can find pastured eggs at local farmstands and farmers markets, or =
sometimes at=20
the supermarket. Tell the store manager you want eggs from pastured =
hens, and=20
encourage the manager to contact local producers. To find pastured =
producers=20
near you, check out&nbsp;<A title=3Dwww.eatwild.com =
href=3D"http://www.eatwild.com/"=20
target=3D_blank>http://www.eatwild.com/</A>&nbsp;or&nbsp;<A=20
title=3Dwww.localharvest.com href=3D"http://www.localharvest.com/"=20
target=3D_blank>http://www.localharvest.com/</A>.</P>
<P></P>
<HR>

<H2>Why Pastured Eggs are the Best</H2>
<P>"Customers get our eggs from the farm where they=E2=80=99re laid, so =
they see exactly=20
how the hens live: in healthy, humane conditions." =E2=80=93 Mark and =
Melissa Moeller,=20
Misty Meadows Farm</P>
<P>"Your egg testing is real culture-changing stuff, and I applaud =
Mother Earth=20
News in courageously moving forward with it." =E2=80=93 Joel Salatin, =
Polyface Farm</P>
<P>"My best marketing tool is my customers, who regularly tell people =
that these=20
are the best eggs they=E2=80=99ve ever had and worth every penny." =
=E2=80=93 Patryk Battle,=20
Sparkling Earth Farm</P>
<P>"We have many loyal customers who stand in line 30 minutes before the =
market=20
opens to get our eggs." =E2=80=93 George &amp; Eiko Vojkovich, Skagit =
River Ranch</P>
<P>"We support Shady Grove Farm because it=E2=80=99s important to keep =
our local organic=20
farmers thriving. Best of all, the eggs taste better, are better for =
you, and=20
add amazing flavor (and color!) to our food." &nbsp;&nbsp; =E2=80=93 =
Rachel Rose,=20
restaurateur</P>
<P>"We preach to everyone that will listen: Don=E2=80=99t buy animal =
products unless you=20
can see the way they=E2=80=99re raised. If everyone bought that way, =
there wouldn=E2=80=99t be=20
industrial farms, and the small farmer could prosper again." =E2=80=93 =
Bill and Sharon=20
Moreton, Spring Mountain Farms</P>
<P>"We sell our eggs to several restaurant chefs =E2=80=94 =
they=E2=80=99ll pay three or more=20
times the price for pastured eggs over commercial." =E2=80=93David =
Smith, Springfield=20
Farm</P>
<P>"I=E2=80=99m in this for the joy chickens bring and healthful eggs, =
not profit.=20
Sitting on the porch watching the ladies in the yard is better than any =
therapy,=20
so they=E2=80=99re worth at least $100 an hour to me." =E2=80=93 Suzan =
Touchette, Windy Island=20
Acres</P>
<P>"I=E2=80=99m so fortunate to get fresh eggs from heirloom hens that =
spend their days=20
eating bugs, grass and weeds. Their eggs are the most flavorful =
I=E2=80=99ve ever eaten!=20
Plus, I appreciate knowing how fresh they are." =E2=80=93 Heidi Hunt, =
addicted to Red=20
Stuga eggs</P>
<P>"It=E2=80=99s a real pleasure to return to eggs that have quality of =
taste, texture=20
and looks. Now that I get the added benefit of less cholesterol and all =
the=20
nutrition, I am simply delighted." =E2=80=93 Danny G. Langdon, Misty =
Meadows maniac</P>
<HR>

<H2>The Caged Hen=E2=80=99s Diet</H2>
<P>Here=E2=80=99s the ingredients list from =E2=80=9C16 percent Layer =
Crumbles,=E2=80=9D a feed designed=20
for hens raised in confinement: =E2=80=9CGrain Products, Plant Protein =
Products,=20
Processed Grain Byproducts, Roughage Products, Forage Products <EM>[in =
other=20
words, could contain pretty much anything! =E2=80=94 Mother]</EM>, =
Vitamin A Supplement,=20
Vitamin D3 Supplement, Vitamin E Supplement, Vitamin B12 Supplement, =
Riboflavin=20
Supplement, Niacin Supplement, Calcium Pantothenate, Choline Chloride, =
Folic=20
Acid, Manadione Sodium Bisulfite Complex, Methionine Supplement, Calcium =

Carbonate, Salt, Manganous Oxide, Ferrous Sulfate, Copper Chloride, Zinc =
Oxide,=20
Ethylenediamine Dihydriodide, Sodium Selenite.=E2=80=9D</P>
<HR>

<H2>Mounting Evidence</H2>
<UL>
  <LI>In 1974, the British Journal of Nutrition found that pastured eggs =
had 50=20
  percent more folic acid and 70 percent more vitamin B12 than eggs from =
factory=20
  farm hens.</LI>
  <LI>In 1988, Artemis Simopoulos, co-author of The Omega Diet, found =
pastured=20
  eggs in Greece contained 13 times more omega-3 polyunsaturated fatty =
acids=20
  than U.S. commercial eggs.</LI>
  <LI>A 1998 study in Animal Feed Science and Technology found that =
pastured=20
  eggs had higher omega-3s and vitamin E than eggs from caged hens.</LI>
  <LI>A 1999 study by Barb Gorski at Pennsylvania State University found =
that=20
  eggs from pastured birds had 10 percent less fat, 34 percent less =
cholesterol,=20
  40 percent more vitamin A, and four times the omega-3s compared to the =

  standard USDA data. Her study also tested pastured chicken meat, and =
found it=20
  to have 21 percent less fat, 30 percent less saturated fat and 50 =
percent more=20
  vitamin A than the USDA standard.</LI>
  <LI>In 2003, Heather Karsten at Pennsylvania State University compared =
eggs=20
  from two groups of Hy-Line variety hens, with one kept in standard =
crowded=20
  factory farm conditions and the other on mixed grass and legume =
pasture. The=20
  eggs had similar levels of fat and cholesterol, but the pastured eggs =
had=20
  three times more omega-3s, 220 percent more vitamin E and 62 percent =
more=20
  vitamin A than eggs from caged hens.</LI>
  <LI>The 2005 study Mother Earth News conducted of four heritage-breed =
pastured=20
  flocks in Kansas found that pastured eggs had roughly half the =
cholesterol, 50=20
  percent more vitamin E, and three times more beta carotene.</LI>
  <LI>The 2007 results from 14 producers are shown&nbsp;<A title=3Dhere=20
  href=3D"http://www.motherearthnews.com/uploadedFiles/Eggs%20chart.pdf" =

  target=3D_blank>here</A>.</LI></UL></DIV></DIV></DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
(function() {var fn =3D function() =
{$get("ctl00_ctl00_SM_HiddenField").value =3D =
'';Sys.Application.remove_init(fn);};Sys.Application.add_init(fn);})();
Sys.Application.setServerId("ctl00_ctl00_SM", "ctl00$ctl00$SM");

Sys.Application._enableHistoryInScriptManager();
Sys.Application.initialize();
Sys.Application.add_init(function() {
    $create(Sys.UI._UpdateProgress, =
{"associatedUpdatePanelId":null,"displayAfter":500,"dynamicLayout":true},=
 null, null, $get("ctl00_ctl00_UpdateProgress1"));
});
//]]>
</SCRIPT>
</FORM>
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.motherearthnews.com/js/opi_scripts.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
                    _qoptions=3D{
                    qacct:"p-b6n2tA3BPGaiY"
                    };
                    </SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://secure.quantserve.com/quant.js"></SCRIPT>
<NOSCRIPT><IMG style=3D"DISPLAY: none" border=3D0 alt=3DQuantcast=20
src=3D"http://secure.quantserve.com/pixel/p-b6n2tA3BPGaiY.gif" width=3D1 =
height=3D1>=20
</NOSCRIPT>
<SCRIPT type=3Dtext/javascript>
                    var gaJsHost =3D (("https:" =3D=3D =
document.location.protocol) ? "https://ssl." : "http://www.");
                    document.write(unescape("%3Cscript src=3D'" + =
gaJsHost + "google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
                    </SCRIPT>

<SCRIPT type=3Dtext/javascript>
                    try {
                    var pageTracker =3D _gat._getTracker("UA-67526-1");
                    pageTracker._trackPageview();
                    } catch(err) {}</SCRIPT>

<STYLE type=3Dtext/css>BODY {
	BACKGROUND-COLOR: #214a88
}
</STYLE>
<SPAN id=3Dctl00_ctl00_AnalyticsTracker><INPUT=20
id=3Dctl00_ctl00_AnalyticsTracker_ctl00_ctl00_AnalyticsTrackerEktronClien=
tManager=20
value=3DEktronJS type=3Dhidden=20
name=3Dctl00$ctl00$AnalyticsTracker$ctl00$ctl00$AnalyticsTrackerEktronCli=
entManager>
<SCRIPT id=3Dctl00_ctl00_AnalyticsTrackerEktronScriptBlock =
type=3Dtext/javascript><!--//--><![CDATA[//><!--

                                        Ektron.ready(function(event, =
eventName)
                                        {
$ektron("#ctl00_ctl00_AnalyticsTracker").ajaxCallback(
{
 uniqueId: "ctl00$ctl00$AnalyticsTracker",=20
 data: =20
 { =20
    command: "TrackVisit", =20
    contentIds: "117586" =20
 }=20
});=20



                                        });
                                 =20
//--><!]]>
</SCRIPT>
</SPAN> </BODY></HTML>

------=_NextPart_001_000B_01CB5D5C.E887F630
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/ScriptResource.axd?d=21T2mR_Ct263dhhfFL96sg2

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Untitled =
Page</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-Type>
<SCRIPT =
type=3Dtext/javascript>parent.Sys.Application._onIFrameLoad();</SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.7600.16625"></HEAD>
<BODY></BODY></HTML>

------=_NextPart_001_000B_01CB5D5C.E887F630--

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/WorkArea/java/ektron.js

if ("undefined" =3D=3D typeof $ektron)
{
    /*
        Ektron JavaScript Library
        Copyright (c) 2008 Ektron, Inc.
        All rights reserved

        Instructions to upgrade this Ektron Library from jQuery

        1. Add this comment
        2. Paste jQuery between "Ektron - Begin jQuery" and "Ektron - =
End jQuery" comments
        3. Add "Based on" to the jQuery version comment just below
        4. Modify the jQuery "attr" method (see Ticket #3017)
        5. Modify the jQuery "domManip" method for contentEditable =
Containers (defect #35400)
        6. Modify the jQuery "evalScript" function w/try-catch block =
(defect #35400)
        7. Modify the jQuery "clone" method (see jQuery Ticket #4074)
        8. Add the Ektron stuff at the bottom
    */

    // Ektron - Begin jQuery

    (function() {
        /*
        * Based on jQuery JavaScript Library v1.3.2
        * http://jquery.com/
        *
        * Copyright (c) 2009 John Resig
        * Dual licensed under the MIT and GPL licenses.
        * http://docs.jquery.com/License
        *
        * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
        * Revision: 6246
        */
        var=20
        // Will speed up references to window, and allows munging its =
name.
	    window =3D this,
        // Will speed up references to undefined, and allows munging its =
name.
	    undefined,
        // Map over jQuery in case of overwrite
	    _jQuery =3D window.jQuery,
        // Map over the $ in case of overwrite
	    _$ =3D window.$,

	    jQuery =3D window.jQuery =3D window.$ =3D function(selector, =
context) {
	        // The jQuery object is actually just the init constructor =
'enhanced'
	        return new jQuery.fn.init(selector, context);
	    },

        // A simple way to check for HTML strings or ID strings
        // (both of which we optimize for)
	    quickExpr =3D /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
        // Is it a simple selector
	    isSimple =3D /^.[^:#\[\.,]*$/;

        jQuery.fn =3D jQuery.prototype =3D {
            init: function(selector, context) {
                // Make sure that a selection was provided
                selector =3D selector || document;

                // Handle $(DOMElement)
                if (selector.nodeType) {
                    this[0] =3D selector;
                    this.length =3D 1;
                    this.context =3D selector;
                    return this;
                }
                // Handle HTML strings
                if (typeof selector =3D=3D=3D "string") {
                    // Are we dealing with HTML string or an ID?
                    var match =3D quickExpr.exec(selector);

                    // Verify a match, and that no context was specified =
for #id
                    if (match && (match[1] || !context)) {

                        // HANDLE: $(html) -> $(array)
                        if (match[1])
                            selector =3D jQuery.clean([match[1]], =
context);

                        // HANDLE: $("#id")
                        else {
                            var elem =3D =
document.getElementById(match[3]);

                            // Handle the case where IE and Opera return =
items
                            // by name instead of ID
                            if (elem && elem.id !=3D match[3])
                                return jQuery().find(selector);

                            // Otherwise, we inject the element directly =
into the jQuery object
                            var ret =3D jQuery(elem || []);
                            ret.context =3D document;
                            ret.selector =3D selector;
                            return ret;
                        }

                        // HANDLE: $(expr, [context])
                        // (which is just equivalent to: =
$(content).find(expr)
                    } else
                        return jQuery(context).find(selector);

                    // HANDLE: $(function)
                    // Shortcut for document ready
                } else if (jQuery.isFunction(selector))
                    return jQuery(document).ready(selector);

                // Make sure that old selector state is passed along
                if (selector.selector && selector.context) {
                    this.selector =3D selector.selector;
                    this.context =3D selector.context;
                }

                return this.setArray(jQuery.isArray(selector) ?
			    selector :
			    jQuery.makeArray(selector));
            },

            // Start with an empty selector
            selector: "",

            // The current version of jQuery being used
            jquery: "1.3.2",

            // The number of elements contained in the matched element =
set
            size: function() {
                return this.length;
            },

            // Get the Nth element in the matched element set OR
            // Get the whole matched element set as a clean array
            get: function(num) {
                return num =3D=3D=3D undefined ?

                // Return a 'clean' array
			    Array.prototype.slice.call(this) :

                // Return just the object
			    this[num];
            },

            // Take an array of elements and push it onto the stack
            // (returning the new matched element set)
            pushStack: function(elems, name, selector) {
                // Build a new jQuery matched element set
                var ret =3D jQuery(elems);

                // Add the old object onto the stack (as a reference)
                ret.prevObject =3D this;

                ret.context =3D this.context;

                if (name =3D=3D=3D "find")
                    ret.selector =3D this.selector + (this.selector ? " =
" : "") + selector;
                else if (name)
                    ret.selector =3D this.selector + "." + name + "(" + =
selector + ")";

                // Return the newly-formed element set
                return ret;
            },

            // Force the current matched set of elements to become
            // the specified array of elements (destroying the stack in =
the process)
            // You should use pushStack() in order to do this, but =
maintain the stack
            setArray: function(elems) {
                // Resetting the length to 0, then using the native =
Array push
                // is a super-fast way to populate an object with =
array-like properties
                this.length =3D 0;
                Array.prototype.push.apply(this, elems);

                return this;
            },

            // Execute a callback for every element in the matched set.
            // (You can seed the arguments with an array of args, but =
this is
            // only used internally.)
            each: function(callback, args) {
                return jQuery.each(this, callback, args);
            },

            // Determine the position of an element within
            // the matched set of elements
            index: function(elem) {
			// Ektron begin (from jQuery 1.4.1)
			if ( !elem || typeof elem =3D=3D=3D "string" ) {
				return jQuery.inArray( this[0],
					// If it receives a string, the selector is used
					// If it receives nothing, the siblings are used
					elem ? jQuery( elem ) : this.parent().children() );
			}
			// Ektron end
                // Locate the position of the desired element
                return jQuery.inArray(
                // If it receives a jQuery object, the first element is =
used
			    elem && elem.jquery ? elem[0] : elem
		    , this);
            },

            attr: function(name, value, type) {
                var options =3D name;

                // Look for the case where we're accessing a style value
                if (typeof name =3D=3D=3D "string")
                    if (value =3D=3D=3D undefined)
                // Ektron Begin
                // Ektron Note: re-added "|| undefined" from 1.2.3 =
jQuery Ticket #3017
                    return this[0] && jQuery[type || "attr"](this[0], =
name) || undefined;
                // Ektron End
                else {
                    options =3D {};
                    options[name] =3D value;
                }

                // Check to see if we're setting style values
                return this.each(function(i) {
                    // Set all the styles
                    for (name in options)
                        jQuery.attr(
					    type ?
						    this.style :
						    this,
					    name, jQuery.prop(this, options[name], type, i, name)
				    );
                });
            },

            css: function(key, value) {
                // ignore negative width and height values
                if ((key =3D=3D 'width' || key =3D=3D 'height') && =
parseFloat(value) < 0)
                    value =3D undefined;
                return this.attr(key, value, "curCSS");
            },

            text: function(text) {
                if (typeof text !=3D=3D "object" && text !=3D null)
                    return this.empty().append((this[0] && =
this[0].ownerDocument || document).createTextNode(text));

                var ret =3D "";

                jQuery.each(text || this, function() {
                    jQuery.each(this.childNodes, function() {
                        if (this.nodeType !=3D 8)
                            ret +=3D this.nodeType !=3D 1 ?
						    this.nodeValue :
						    jQuery.fn.text([this]);
                    });
                });

                return ret;
            },

            wrapAll: function(html) {
                if (this[0]) {
                    // The elements to wrap the target around
                    var wrap =3D jQuery(html, =
this[0].ownerDocument).clone();

                    if (this[0].parentNode)
                        wrap.insertBefore(this[0]);

                    wrap.map(function() {
                        var elem =3D this;

                        while (elem.firstChild)
                            elem =3D elem.firstChild;

                        return elem;
                    }).append(this);
                }

                return this;
            },

            wrapInner: function(html) {
                return this.each(function() {
                    jQuery(this).contents().wrapAll(html);
                });
            },

            wrap: function(html) {
                return this.each(function() {
                    jQuery(this).wrapAll(html);
                });
            },

            append: function() {
                return this.domManip(arguments, true, function(elem) {
                    if (this.nodeType =3D=3D 1)
                        this.appendChild(elem);
                });
            },

            prepend: function() {
                return this.domManip(arguments, true, function(elem) {
                    if (this.nodeType =3D=3D 1)
                        this.insertBefore(elem, this.firstChild);
                });
            },

            before: function() {
                return this.domManip(arguments, false, function(elem) {
                    this.parentNode.insertBefore(elem, this);
                });
            },

            after: function() {
                return this.domManip(arguments, false, function(elem) {
                    this.parentNode.insertBefore(elem, =
this.nextSibling);
                });
            },

            end: function() {
                return this.prevObject || jQuery([]);
            },

            // For internal use only.
            // Behaves like an Array's method, not like a jQuery method.
            push: [].push,
            sort: [].sort,
            splice: [].splice,

            find: function(selector) {
                if (this.length =3D=3D=3D 1) {
                    var ret =3D this.pushStack([], "find", selector);
                    ret.length =3D 0;
                    jQuery.find(selector, this[0], ret);
                    return ret;
                } else {
                    return this.pushStack(jQuery.unique(jQuery.map(this, =
function(elem) {
                        return jQuery.find(selector, elem);
                    })), "find", selector);
                }
            },

            clone: function(events) {
                // Do the clone
                var ret =3D this.map(function() {
                    if (!jQuery.support.noCloneEvent && =
!jQuery.isXMLDoc(this)) {
                        // IE copies events bound via attachEvent when
                        // using cloneNode. Calling detachEvent on the
                        // clone will also remove the events from the =
orignal
                        // In order to get around this, we use =
innerHTML.
                        // Unfortunately, this means some modifications =
to
                        // attributes in IE that are actually only =
stored
                        // as properties will not be copied (such as the
                        // the name attribute on an input).
                        var html =3D this.outerHTML;
                        if (!html) {
                            var div =3D =
this.ownerDocument.createElement("div");
                            div.appendChild(this.cloneNode(true));
                            html =3D div.innerHTML;
                        }

                        // Ektron Begin
                        return jQuery.clean([html.replace(/ =
jQuery\d+=3D"(?:\d+|null)"/g, "").replace(/^\s*/, "")], =
this.ownerDocument)[0];
                        // Ektron Note: added ", this.ownerDocument", =
see jQuery 1.3.2 ticket #4074
                        // Ektron End
                    } else
                        return this.cloneNode(true);
                });

                // Copy the events from the original to the clone
                if (events =3D=3D=3D true) {
                    var orig =3D this.find("*").andSelf(), i =3D 0;

                    ret.find("*").andSelf().each(function() {
                        if (this.nodeName !=3D=3D orig[i].nodeName)
                            return;

                        var events =3D jQuery.data(orig[i], "events");

                        for (var type in events) {
                            for (var handler in events[type]) {
                                jQuery.event.add(this, type, =
events[type][handler], events[type][handler].data);
                            }
                        }

                        i++;
                    });
                }

                // Return the cloned set
                return ret;
            },

            filter: function(selector) {
                return this.pushStack(
			    jQuery.isFunction(selector) &&
			    jQuery.grep(this, function(elem, i) {
			        return selector.call(elem, i);
			    }) ||

			    jQuery.multiFilter(selector, jQuery.grep(this, function(elem) {
			        return elem.nodeType =3D=3D=3D 1;
			    })), "filter", selector);
            },

            closest: function(selector) {
                var pos =3D jQuery.expr.match.POS.test(selector) ? =
jQuery(selector) : null,
			    closer =3D 0;

                return this.map(function() {
                    var cur =3D this;
                    while (cur && cur.ownerDocument) {
                        if (pos ? pos.index(cur) > -1 : =
jQuery(cur).is(selector)) {
                            jQuery.data(cur, "closest", closer);
                            return cur;
                        }
                        cur =3D cur.parentNode;
                        closer++;
                    }
                });
            },

            not: function(selector) {
                if (typeof selector =3D=3D=3D "string")
                // test special case where just one selector is passed =
in
                    if (isSimple.test(selector))
                    return this.pushStack(jQuery.multiFilter(selector, =
this, true), "not", selector);
                else
                    selector =3D jQuery.multiFilter(selector, this);

                var isArrayLike =3D selector.length && =
selector[selector.length - 1] !=3D=3D undefined && !selector.nodeType;
                return this.filter(function() {
                    return isArrayLike ? jQuery.inArray(this, selector) =
< 0 : this !=3D selector;
                });
            },

            add: function(selector) {
                return this.pushStack(jQuery.unique(jQuery.merge(
			    this.get(),
			    typeof selector =3D=3D=3D "string" ?
				    jQuery(selector) :
				    jQuery.makeArray(selector)
		    )));
            },

            is: function(selector) {
                return !!selector && jQuery.multiFilter(selector, =
this).length > 0;
            },

            hasClass: function(selector) {
                return !!selector && this.is("." + selector);
            },

            val: function(value) {
                if (value =3D=3D=3D undefined) {
                    var elem =3D this[0];

                    if (elem) {
                        if (jQuery.nodeName(elem, 'option'))
                            return (elem.attributes.value || =
{}).specified ? elem.value : elem.text;

                        // We need to handle select boxes special
                        if (jQuery.nodeName(elem, "select")) {
                            var index =3D elem.selectedIndex,
						    values =3D [],
						    options =3D elem.options,
						    one =3D elem.type =3D=3D "select-one";

                            // Nothing was selected
                            if (index < 0)
                                return null;

                            // Loop through all the selected options
                            for (var i =3D one ? index : 0, max =3D one =
? index + 1 : options.length; i < max; i++) {
                                var option =3D options[i];

                                if (option.selected) {
                                    // Get the specifc value for the =
option
                                    value =3D jQuery(option).val();

                                    // We don't need an array for one =
selects
                                    if (one)
                                        return value;

                                    // Multi-Selects return an array
                                    values.push(value);
                                }
                            }

                            return values;
                        }

                        // Everything else, we just grab the value
                        return (elem.value || "").replace(/\r/g, "");

                    }

                    return undefined;
                }

                if (typeof value =3D=3D=3D "number")
                    value +=3D '';

                return this.each(function() {
                    if (this.nodeType !=3D 1)
                        return;

                    if (jQuery.isArray(value) && =
/radio|checkbox/.test(this.type))
                        this.checked =3D (jQuery.inArray(this.value, =
value) >=3D 0 ||
					    jQuery.inArray(this.name, value) >=3D 0);

                    else if (jQuery.nodeName(this, "select")) {
                        var values =3D jQuery.makeArray(value);

                        jQuery("option", this).each(function() {
                            this.selected =3D =
(jQuery.inArray(this.value, values) >=3D 0 ||
						    jQuery.inArray(this.text, values) >=3D 0);
                        });

                        if (!values.length)
                            this.selectedIndex =3D -1;

                    } else
                        this.value =3D value;
                });
            },

            html: function(value) {
                return value =3D=3D=3D undefined ?
			    (this[0] ?
				    this[0].innerHTML.replace(/ jQuery\d+=3D"(?:\d+|null)"/g, "") :
				    null) :
			    this.empty().append(value);
            },

            replaceWith: function(value) {
                return this.after(value).remove();
            },

            eq: function(i) {
                return this.slice(i, +i + 1);
            },

            slice: function() {
                return this.pushStack(Array.prototype.slice.apply(this, =
arguments),
			    "slice", Array.prototype.slice.call(arguments).join(","));
            },

            map: function(callback) {
                return this.pushStack(jQuery.map(this, function(elem, i) =
{
                    return callback.call(elem, i, elem);
                }));
            },

            andSelf: function() {
                return this.add(this.prevObject);
            },

            domManip: function(args, table, callback) {
                if (this[0]) {
                    var fragment =3D (this[0].ownerDocument || =
this[0]).createDocumentFragment(),
				    scripts =3D jQuery.clean(args, (this[0].ownerDocument || =
this[0]), fragment),
				    first =3D fragment.firstChild;

                    if (first)
                        for (var i =3D 0, l =3D this.length; i < l; i++)
                        callback.call(root(this[i], first), this.length =
> 1 || i > 0 ?
							    fragment.cloneNode(true) : fragment);
                    if (scripts && scripts.length > 0) // Ektron added =
check for length > 0
                    // Ektron Begin
                    // Ektron Note: Don't evaluate script that is in =
editable container (defect #35400)
                    // Ektron Note: Keep script that is in editable =
container (defect #40836)
                    {
					if (1 =3D=3D this.nodeType && ($ektron.isEditableElement(this[0]) =
|| "true" =3D=3D this[0].getAttribute("contenteditable")))
					{
                            // Don't evaluate the scripts
                        }
					else
					{
                            // Ektron End
                            jQuery.each(scripts, evalScript);
                            // Ektron Begin
                        }
                    }
                    // Ektron End
                }

                return this;

                function root(elem, cur) {
                    return table && jQuery.nodeName(elem, "table") && =
jQuery.nodeName(cur, "tr") ?
				    (elem.getElementsByTagName("tbody")[0] ||
				    elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
				    elem;
                }
            }
        };

        // Give the init function the jQuery prototype for later =
instantiation
        jQuery.fn.init.prototype =3D jQuery.fn;

        function evalScript(i, elem) {
            // Ektron Begin
            // Ektron Note: Added try/catch block for #35400 in Firefox
        try
        {
                // Ektron End
                if (elem.src)
                    jQuery.ajax({
                        url: elem.src,
                        async: false,
                        dataType: "script"
                    });

                else
                    jQuery.globalEval(elem.text || elem.textContent || =
elem.innerHTML || "");

                if (elem.parentNode)
                    elem.parentNode.removeChild(elem);
                // Ektron Begin
		}
		catch(ex)
		{
            }
            // Ektron End
        }

        function now() {
            return +new Date;
        }

        jQuery.extend =3D jQuery.fn.extend =3D function() {
            // copy reference to target object
            var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options;

            // Handle a deep copy situation
            if (typeof target =3D=3D=3D "boolean") {
                deep =3D target;
                target =3D arguments[1] || {};
                // skip the boolean and the target
                i =3D 2;
            }

            // Handle case when target is a string or something =
(possible in deep copy)
            if (typeof target !=3D=3D "object" && =
!jQuery.isFunction(target))
                target =3D {};

            // extend jQuery itself if only one argument is passed
            if (length =3D=3D i) {
                target =3D this;
                --i;
            }

            for (; i < length; i++)
            // Only deal with non-null/undefined values
                if ((options =3D arguments[i]) !=3D null)
            // Extend the base object
                for (var name in options) {
                var src =3D target[name], copy =3D options[name];

                // Prevent never-ending loop
                if (target =3D=3D=3D copy)
                    continue;

                // Recurse if we're merging object values
                if (deep && copy && typeof copy =3D=3D=3D "object" && =
!copy.nodeType)
                    target[name] =3D jQuery.extend(deep,
                // Never move original objects, clone them
						    src || (copy.length !=3D null ? [] : {})
					    , copy);

                // Don't bring in undefined values
                else if (copy !=3D=3D undefined)
                    target[name] =3D copy;

            }

            // Return the modified object
            return target;
        };

        // exclude the following css properties to add px
        var exclude =3D =
/z-?index|font-?weight|opacity|zoom|line-?height/i,
        // cache defaultView
	    defaultView =3D document.defaultView || {},
	    toString =3D Object.prototype.toString;

        jQuery.extend({
            noConflict: function(deep) {
                window.$ =3D _$;

                if (deep)
                    window.jQuery =3D _jQuery;

                return jQuery;
            },

            // See test/unit/core.js for details concerning isFunction.
            // Since version 1.3, DOM methods and functions like alert
            // aren't supported. They return false on IE (#2968).
            isFunction: function(obj) {
                return toString.call(obj) =3D=3D=3D "[object Function]";
            },

            isArray: function(obj) {
                return toString.call(obj) =3D=3D=3D "[object Array]";
            },

            // check if an element is in a (or is an) XML document
            isXMLDoc: function(elem) {
                return elem.nodeType =3D=3D=3D 9 && =
elem.documentElement.nodeName !=3D=3D "HTML" ||
			    !!elem.ownerDocument && jQuery.isXMLDoc(elem.ownerDocument);
            },

            // Evalulates a script in a global context
            globalEval: function(data) {
                if (data && /\S/.test(data)) {
                    // Inspired by code by Andrea Giammarchi
                    // =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html
                    var head =3D =
document.getElementsByTagName("head")[0] || document.documentElement,
				    script =3D document.createElement("script");

                    script.type =3D "text/javascript";
                    if (jQuery.support.scriptEval)
                        =
script.appendChild(document.createTextNode(data));
                    else
                        script.text =3D data;

                    // Use insertBefore instead of appendChild  to =
circumvent an IE6 bug.
                    // This arises when a base node is used (#2709).
                    head.insertBefore(script, head.firstChild);
                    head.removeChild(script);
                }
            },

            nodeName: function(elem, name) {
                return elem.nodeName && elem.nodeName.toUpperCase() =
=3D=3D name.toUpperCase();
            },

            // args is for internal usage only
            each: function(object, callback, args) {
                var name, i =3D 0, length =3D object.length;

                if (args) {
                    if (length =3D=3D=3D undefined) {
                        for (name in object)
                            if (callback.apply(object[name], args) =
=3D=3D=3D false)
                            break;
                    } else
                        for (; i < length; )
                        if (callback.apply(object[i++], args) =3D=3D=3D =
false)
                        break;

                    // A special, fast, case for the most common use of =
each
                } else {
                    if (length =3D=3D=3D undefined) {
                        for (name in object)
                            if (callback.call(object[name], name, =
object[name]) =3D=3D=3D false)
                            break;
                    } else
                        for (var value =3D object[0];
					    i < length && callback.call(value, i, value) !=3D=3D false; =
value =3D object[++i]) { }
                }

                return object;
            },

            prop: function(elem, value, type, i, name) {
                // Handle executable functions
                if (jQuery.isFunction(value))
                    value =3D value.call(elem, i);

                // Handle passing in a number to a CSS property
                return typeof value =3D=3D=3D "number" && type =3D=3D =
"curCSS" && !exclude.test(name) ?
			    value + "px" :
			    value;
            },

            className: {
                // internal only, use addClass("class")
                add: function(elem, classNames) {
                    jQuery.each((classNames || "").split(/\s+/), =
function(i, className) {
                        if (elem.nodeType =3D=3D 1 && =
!jQuery.className.has(elem.className, className))
                            elem.className +=3D (elem.className ? " " : =
"") + className;
                    });
                },

                // internal only, use removeClass("class")
                remove: function(elem, classNames) {
                    if (elem.nodeType =3D=3D 1)
                        elem.className =3D classNames !=3D=3D undefined =
?
					    jQuery.grep(elem.className.split(/\s+/), function(className) {
					        return !jQuery.className.has(classNames, className);
					    }).join(" ") :
					    "";
                },

                // internal only, use hasClass("class")
                has: function(elem, className) {
                    return elem && jQuery.inArray(className, =
(elem.className || elem).toString().split(/\s+/)) > -1;
                }
            },

            // A method for quickly swapping in/out CSS properties to =
get correct calculations
            swap: function(elem, options, callback) {
                var old =3D {};
                // Remember the old values, and insert the new ones
                for (var name in options) {
                    old[name] =3D elem.style[name];
                    elem.style[name] =3D options[name];
                }

                callback.call(elem);

                // Revert the old values
                for (var name in options)
                    elem.style[name] =3D old[name];
            },

            css: function(elem, name, force, extra) {
                if (name =3D=3D "width" || name =3D=3D "height") {
                    var val, props =3D { position: "absolute", =
visibility: "hidden", display: "block" }, which =3D name =3D=3D "width" =
? ["Left", "Right"] : ["Top", "Bottom"];

                    function getWH() {
                        val =3D name =3D=3D "width" ? elem.offsetWidth : =
elem.offsetHeight;

                        if (extra =3D=3D=3D "border")
                            return;

                        jQuery.each(which, function() {
                            if (!extra)
                                val -=3D parseFloat(jQuery.curCSS(elem, =
"padding" + this, true)) || 0;
                            if (extra =3D=3D=3D "margin")
                                val +=3D parseFloat(jQuery.curCSS(elem, =
"margin" + this, true)) || 0;
                            else
                                val -=3D parseFloat(jQuery.curCSS(elem, =
"border" + this + "Width", true)) || 0;
                        });
                    }

                    if (elem.offsetWidth !=3D=3D 0)
                        getWH();
                    else
                        jQuery.swap(elem, props, getWH);

                    return Math.max(0, Math.round(val));
                }

                return jQuery.curCSS(elem, name, force);
            },

            curCSS: function(elem, name, force) {
                var ret, style =3D elem.style;

                // We need to handle opacity special in IE
                if (name =3D=3D "opacity" && !jQuery.support.opacity) {
                    ret =3D jQuery.attr(style, "opacity");

                    return ret =3D=3D "" ?
				    "1" :
				    ret;
                }

                // Make sure we're using the right name for getting the =
float value
                if (name.match(/float/i))
                    name =3D styleFloat;

                if (!force && style && style[name])
                    ret =3D style[name];

                else if (defaultView.getComputedStyle) {

                    // Only "float" is needed here
                    if (name.match(/float/i))
                        name =3D "float";

                    name =3D name.replace(/([A-Z])/g, =
"-$1").toLowerCase();

                    var computedStyle =3D =
defaultView.getComputedStyle(elem, null);

                    if (computedStyle)
                        ret =3D computedStyle.getPropertyValue(name);

                    // We should always get a number back from opacity
                    if (name =3D=3D "opacity" && ret =3D=3D "")
                        ret =3D "1";

                } else if (elem.currentStyle) {
                    var camelCase =3D name.replace(/\-(\w)/g, =
function(all, letter) {
                        return letter.toUpperCase();
                    });

                    ret =3D elem.currentStyle[name] || =
elem.currentStyle[camelCase];

                    // From the awesome hack by Dean Edwards
                    // =
http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291

                    // If we're not dealing with a regular pixel number
                    // but a number that has a weird ending, we need to =
convert it to pixels
                    if (!/^\d+(px)?$/i.test(ret) && /^\d/.test(ret)) {
                        // Remember the original values
                        var left =3D style.left, rsLeft =3D =
elem.runtimeStyle.left;

                        // Put in the new values to get a computed value =
out
                        elem.runtimeStyle.left =3D =
elem.currentStyle.left;
                        style.left =3D ret || 0;
                        ret =3D style.pixelLeft + "px";

                        // Revert the changed values
                        style.left =3D left;
                        elem.runtimeStyle.left =3D rsLeft;
                    }
                }

                return ret;
            },

            clean: function(elems, context, fragment) {
                context =3D context || document;

                // !context.createElement fails in IE with an error but =
returns typeof 'object'
                if (typeof context.createElement =3D=3D=3D "undefined")
                    context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;

                // If a single string is passed in and it's a single tag
                // just do a createElement and skip the rest
                if (!fragment && elems.length =3D=3D=3D 1 && typeof =
elems[0] =3D=3D=3D "string") {
                    var match =3D /^<(\w+)\s*\/?>$/.exec(elems[0]);
                    if (match)
                        return [context.createElement(match[1])];
                }

                var ret =3D [], scripts =3D [], div =3D =
context.createElement("div");

                jQuery.each(elems, function(i, elem) {
                    if (typeof elem =3D=3D=3D "number")
                        elem +=3D '';

                    if (!elem)
                        return;

                    // Convert html string into DOM nodes
                    if (typeof elem =3D=3D=3D "string") {
                        // Fix "XHTML"-style tags in all browsers
                        elem =3D elem.replace(/(<(\w+)[^>]*?)\/>/g, =
function(all, front, tag) {
                            return =
tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?
						    all :
						    front + "></" + tag + ">";
                        });

                        // Trim whitespace, otherwise indexOf won't work =
as expected
                        var tags =3D elem.replace(/^\s+/, =
"").substring(0, 10).toLowerCase();

                        var wrap =3D
                        // option or optgroup
					    !tags.indexOf("<opt") &&
					    [1, "<select multiple=3D'multiple'>", "</select>"] ||

					    !tags.indexOf("<leg") &&
					    [1, "<fieldset>", "</fieldset>"] ||

					    tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
					    [1, "<table>", "</table>"] ||

					    !tags.indexOf("<tr") &&
					    [2, "<table><tbody>", "</tbody></table>"] ||

                        // <thead> matched above
					    (!tags.indexOf("<td") || !tags.indexOf("<th")) &&
					    [3, "<table><tbody><tr>", "</tr></tbody></table>"] ||

					    !tags.indexOf("<col") &&
					    [2, "<table><tbody></tbody><colgroup>", "</colgroup></table>"] =
||

                        // IE can't serialize <link> and <script> tags =
normally
					    !jQuery.support.htmlSerialize &&
					    [1, "div<div>", "</div>"] ||

					    [0, "", ""];

                        // Go to html and back, then peel off extra =
wrappers
                        div.innerHTML =3D wrap[1] + elem + wrap[2];

                        // Move to the right depth
                        while (wrap[0]--)
                            div =3D div.lastChild;

                        // Remove IE's autoinserted <tbody> from table =
fragments
                        if (!jQuery.support.tbody) {

                            // String was a <table>, *may* have spurious =
<tbody>
                            var hasBody =3D /<tbody/i.test(elem),
						    tbody =3D !tags.indexOf("<table") && !hasBody ?
							    div.firstChild && div.firstChild.childNodes :

                            // String was a bare <thead> or <tfoot>
						    wrap[1] =3D=3D "<table>" && !hasBody ?
							    div.childNodes :
							    [];

                            for (var j =3D tbody.length - 1; j >=3D 0; =
--j)
                                if (jQuery.nodeName(tbody[j], "tbody") =
&& !tbody[j].childNodes.length)
                                =
tbody[j].parentNode.removeChild(tbody[j]);

                        }

                        // IE completely kills leading whitespace when =
innerHTML is used
                        if (!jQuery.support.leadingWhitespace && =
/^\s/.test(elem))
                            =
div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]), =
div.firstChild);

                        elem =3D jQuery.makeArray(div.childNodes);
                    }

                    if (elem.nodeType)
                        ret.push(elem);
                    else
                        ret =3D jQuery.merge(ret, elem);

                });

                if (fragment) {
                    for (var i =3D 0; ret[i]; i++) {
                        if (jQuery.nodeName(ret[i], "script") && =
(!ret[i].type || ret[i].type.toLowerCase() =3D=3D=3D "text/javascript")) =
{
                            scripts.push(ret[i].parentNode ? =
ret[i].parentNode.removeChild(ret[i]) : ret[i]);
                        } else {
                            if (ret[i].nodeType =3D=3D=3D 1)
                                ret.splice.apply(ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))));
                            fragment.appendChild(ret[i]);
                        }
                    }

                    return scripts;
                }

                return ret;
            },

            attr: function(elem, name, value) {
                // don't set attributes on text and comment nodes
                if (!elem || elem.nodeType =3D=3D 3 || elem.nodeType =
=3D=3D 8)
                    return undefined;

                var notxml =3D !jQuery.isXMLDoc(elem),
                // Whether we are setting (or getting)
			    set =3D value !=3D=3D undefined;

                // Try to normalize/fix the name
                name =3D notxml && jQuery.props[name] || name;

                // Only do all the following if this is a node (faster =
for style)
                // IE elem.getAttribute passes even for style
                if (elem.tagName) {

                    // These attributes require special treatment
                    var special =3D /href|src|style/.test(name);

                    // Safari mis-reports the default selected property =
of a hidden option
                    // Accessing the parent's selectedIndex property =
fixes it
                    if (name =3D=3D "selected" && elem.parentNode)
                        elem.parentNode.selectedIndex;

                    // If applicable, access the attribute via the DOM 0 =
way
                    if (name in elem && notxml && !special) {
                        if (set) {
                            // We can't allow the type property to be =
changed (since it causes problems in IE)
                            if (name =3D=3D "type" && =
jQuery.nodeName(elem, "input") && elem.parentNode)
                                throw "type property can't be changed";

                            elem[name] =3D value;
                        }

                        // browsers index elements by id/name on forms, =
give priority to attributes.
                        if (jQuery.nodeName(elem, "form") && =
elem.getAttributeNode(name))
                            return =
elem.getAttributeNode(name).nodeValue;

                        // elem.tabIndex doesn't always return the =
correct value when it hasn't been explicitly set
                        // =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/
                        if (name =3D=3D "tabIndex") {
                            var attributeNode =3D =
elem.getAttributeNode("tabIndex");
                            return attributeNode && =
attributeNode.specified
						    ? attributeNode.value
						    : =
elem.nodeName.match(/(button|input|object|select|textarea)/i)
							    ? 0
							    : elem.nodeName.match(/^(a|area)$/i) && elem.href
								    ? 0
								    : undefined;
                        }

                        return elem[name];
                    }

                    if (!jQuery.support.style && notxml && name =3D=3D =
"style")
                        return jQuery.attr(elem.style, "cssText", =
value);

                    if (set)
                    // convert the value to a string (all browsers do =
this but IE) see #1070
                        elem.setAttribute(name, "" + value);

                    var attr =3D !jQuery.support.hrefNormalized && =
notxml && special
                    // Some attributes require a special call on IE
					    ? elem.getAttribute(name, 2)
					    : elem.getAttribute(name);

                    // Non-existent attributes return null, we normalize =
to undefined
                    return attr =3D=3D=3D null ? undefined : attr;
                }

                // elem is actually elem.style ... set the style

                // IE uses filters for opacity
                if (!jQuery.support.opacity && name =3D=3D "opacity") {
                    if (set) {
                        // IE has trouble with opacity if it does not =
have layout
                        // Force it by setting the zoom level
                        elem.zoom =3D 1;

                        // Set the alpha filter to set the opacity
                        elem.filter =3D (elem.filter || =
"").replace(/alpha\([^)]*\)/, "") +
					    (parseInt(value) + '' =3D=3D "NaN" ? "" : "alpha(opacity=3D" + =
value * 100 + ")");
                    }

                    return elem.filter && =
elem.filter.indexOf("opacity=3D") >=3D 0 ?
				    (parseFloat(elem.filter.match(/opacity=3D([^)]*)/)[1]) / 100) + =
'' :
				    "";
                }

                name =3D name.replace(/-([a-z])/ig, function(all, =
letter) {
                    return letter.toUpperCase();
                });

                if (set)
                    elem[name] =3D value;

                return elem[name];
            },

            trim: function(text) {
                return (text || "").replace(/^\s+|\s+$/g, "");
            },

            makeArray: function(array) {
                var ret =3D [];

                if (array !=3D null) {
                    var i =3D array.length;
                    // The window, strings (and functions) also have =
'length'
                    if (i =3D=3D null || typeof array =3D=3D=3D "string" =
|| jQuery.isFunction(array) || array.setInterval)
                        ret[0] =3D array;
                    else
                        while (i)
                        ret[--i] =3D array[i];
                }

                return ret;
            },

            inArray: function(elem, array) {
                for (var i =3D 0, length =3D array.length; i < length; =
i++)
                // Use =3D=3D=3D because on IE, window =3D=3D document
                    if (array[i] =3D=3D=3D elem)
                    return i;

                return -1;
            },

            merge: function(first, second) {
                // We have to loop this way because IE & Opera overwrite =
the length
                // expando of getElementsByTagName
                var i =3D 0, elem, pos =3D first.length;
                // Also, we need to make sure that the correct elements =
are being returned
                // (IE returns comment nodes in a '*' query)
                if (!jQuery.support.getAll) {
                    while ((elem =3D second[i++]) !=3D null)
                        if (elem.nodeType !=3D 8)
                        first[pos++] =3D elem;

                } else
                    while ((elem =3D second[i++]) !=3D null)
                    first[pos++] =3D elem;

                return first;
            },

            unique: function(array) {
                var ret =3D [], done =3D {};

                try {

                    for (var i =3D 0, length =3D array.length; i < =
length; i++) {
                        var id =3D jQuery.data(array[i]);

                        if (!done[id]) {
                            done[id] =3D true;
                            ret.push(array[i]);
                        }
                    }

                } catch (e) {
                    ret =3D array;
                }

                return ret;
            },

            grep: function(elems, callback, inv) {
                var ret =3D [];

                // Go through the array, only saving the items
                // that pass the validator function
                for (var i =3D 0, length =3D elems.length; i < length; =
i++)
                    if (!inv !=3D !callback(elems[i], i))
                    ret.push(elems[i]);

                return ret;
            },

            map: function(elems, callback) {
                var ret =3D [];

                // Go through the array, translating each of the items =
to their
                // new value (or values).
                for (var i =3D 0, length =3D elems.length; i < length; =
i++) {
                    var value =3D callback(elems[i], i);

                    if (value !=3D null)
                        ret[ret.length] =3D value;
                }

                return ret.concat.apply([], ret);
            }
        });

        // Use of jQuery.browser is deprecated.
        // It's included for backwards compatibility and plugins,
        // although they should work to migrate away.

        var userAgent =3D navigator.userAgent.toLowerCase();

        // Figure out what browser is being used
        jQuery.browser =3D {
            version: (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) =
|| [0, '0'])[1],
            safari: /webkit/.test(userAgent),
            opera: /opera/.test(userAgent),
            msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
            mozilla: /mozilla/.test(userAgent) && =
!/(compatible|webkit)/.test(userAgent)
        };

        jQuery.each({
            parent: function(elem) { return elem.parentNode; },
            parents: function(elem) { return jQuery.dir(elem, =
"parentNode"); },
            next: function(elem) { return jQuery.nth(elem, 2, =
"nextSibling"); },
            prev: function(elem) { return jQuery.nth(elem, 2, =
"previousSibling"); },
            nextAll: function(elem) { return jQuery.dir(elem, =
"nextSibling"); },
            prevAll: function(elem) { return jQuery.dir(elem, =
"previousSibling"); },
            siblings: function(elem) { return =
jQuery.sibling(elem.parentNode.firstChild, elem); },
            children: function(elem) { return =
jQuery.sibling(elem.firstChild); },
            contents: function(elem) { return jQuery.nodeName(elem, =
"iframe") ? elem.contentDocument || elem.contentWindow.document : =
jQuery.makeArray(elem.childNodes); }
        }, function(name, fn) {
            jQuery.fn[name] =3D function(selector) {
                var ret =3D jQuery.map(this, fn);

                if (selector && typeof selector =3D=3D "string")
                    ret =3D jQuery.multiFilter(selector, ret);

                return this.pushStack(jQuery.unique(ret), name, =
selector);
            };
        });

        jQuery.each({
            appendTo: "append",
            prependTo: "prepend",
            insertBefore: "before",
            insertAfter: "after",
            replaceAll: "replaceWith"
        }, function(name, original) {
            jQuery.fn[name] =3D function(selector) {
                var ret =3D [], insert =3D jQuery(selector);

                for (var i =3D 0, l =3D insert.length; i < l; i++) {
                    var elems =3D (i > 0 ? this.clone(true) : =
this).get();
                    jQuery.fn[original].apply(jQuery(insert[i]), elems);
                    ret =3D ret.concat(elems);
                }

                return this.pushStack(ret, name, selector);
            };
        });

        jQuery.each({
            removeAttr: function(name) {
                jQuery.attr(this, name, "");
                if (this.nodeType =3D=3D 1)
                    this.removeAttribute(name);
            },

            addClass: function(classNames) {
                jQuery.className.add(this, classNames);
            },

            removeClass: function(classNames) {
                jQuery.className.remove(this, classNames);
            },

            toggleClass: function(classNames, state) {
                if (typeof state !=3D=3D "boolean")
                    state =3D !jQuery.className.has(this, classNames);
                jQuery.className[state ? "add" : "remove"](this, =
classNames);
            },

            remove: function(selector) {
                if (!selector || jQuery.filter(selector, [this]).length) =
{
                    // Prevent memory leaks
                    jQuery("*", this).add([this]).each(function() {
                        jQuery.event.remove(this);
                        jQuery.removeData(this);
                    });
                    if (this.parentNode)
                        this.parentNode.removeChild(this);
                }
            },

            empty: function() {
                // Remove element nodes and prevent memory leaks
                jQuery(this).children().remove();

                // Remove any remaining nodes
                while (this.firstChild)
                    this.removeChild(this.firstChild);
            }
        }, function(name, fn) {
            jQuery.fn[name] =3D function() {
                return this.each(fn, arguments);
            };
        });

        // Helper function used by the dimensions and offset modules
        function num(elem, prop) {
            return elem[0] && parseInt(jQuery.curCSS(elem[0], prop, =
true), 10) || 0;
        }

        var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};

        jQuery.extend({
            cache: {},

            data: function(elem, name, data) {
                elem =3D elem =3D=3D window ?
			    windowData :
			    elem;

                var id =3D elem[expando];

                // Compute a unique ID for the element
                if (!id)
                    id =3D elem[expando] =3D ++uuid;

                // Only generate the data cache if we're
                // trying to access or manipulate it
                if (name && !jQuery.cache[id])
                    jQuery.cache[id] =3D {};

                // Prevent overriding the named cache with undefined =
values
                if (data !=3D=3D undefined)
                    jQuery.cache[id][name] =3D data;

                // Return the named cache data, or the ID for the =
element
                return name ?
			    jQuery.cache[id][name] :
			    id;
            },

            removeData: function(elem, name) {
                elem =3D elem =3D=3D window ?
			    windowData :
			    elem;

                var id =3D elem[expando];

                // If we want to remove a specific section of the =
element's data
                if (name) {
                    if (jQuery.cache[id]) {
                        // Remove the section of cache data
                        delete jQuery.cache[id][name];

                        // If we've removed all the data, remove the =
element's cache
                        name =3D "";

                        for (name in jQuery.cache[id])
                            break;

                        if (!name)
                            jQuery.removeData(elem);
                    }

                    // Otherwise, we want to remove all of the element's =
data
                } else {
                    // Clean up the element expando
                    try {
                        delete elem[expando];
                    } catch (e) {
                        // IE has trouble directly removing the expando
                        // but it's ok with using removeAttribute
                        if (elem.removeAttribute)
                            elem.removeAttribute(expando);
                    }

                    // Completely remove the data cache
                    delete jQuery.cache[id];
                }
            },
            queue: function(elem, type, data) {
                if (elem) {

                    type =3D (type || "fx") + "queue";

                    var q =3D jQuery.data(elem, type);

                    if (!q || jQuery.isArray(data))
                        q =3D jQuery.data(elem, type, =
jQuery.makeArray(data));
                    else if (data)
                        q.push(data);

                }
                return q;
            },

            dequeue: function(elem, type) {
                var queue =3D jQuery.queue(elem, type),
			    fn =3D queue.shift();

                if (!type || type =3D=3D=3D "fx")
                    fn =3D queue[0];

                if (fn !=3D=3D undefined)
                    fn.call(elem);
            }
        });

        jQuery.fn.extend({
            data: function(key, value) {
                var parts =3D key.split(".");
                parts[1] =3D parts[1] ? "." + parts[1] : "";

                if (value =3D=3D=3D undefined) {
                    var data =3D this.triggerHandler("getData" + =
parts[1] + "!", [parts[0]]);

                    if (data =3D=3D=3D undefined && this.length)
                        data =3D jQuery.data(this[0], key);

                    return data =3D=3D=3D undefined && parts[1] ?
				    this.data(parts[0]) :
				    data;
                } else
                    return this.trigger("setData" + parts[1] + "!", =
[parts[0], value]).each(function() {
                        jQuery.data(this, key, value);
                    });
            },

            removeData: function(key) {
                return this.each(function() {
                    jQuery.removeData(this, key);
                });
            },
            queue: function(type, data) {
                if (typeof type !=3D=3D "string") {
                    data =3D type;
                    type =3D "fx";
                }

                if (data =3D=3D=3D undefined)
                    return jQuery.queue(this[0], type);

                return this.each(function() {
                    var queue =3D jQuery.queue(this, type, data);

                    if (type =3D=3D "fx" && queue.length =3D=3D 1)
                        queue[0].call(this);
                });
            },
            dequeue: function(type) {
                return this.each(function() {
                    jQuery.dequeue(this, type);
                });
            }
        }); /*!
     * Sizzle CSS Selector Engine - v0.9.3
     *  Copyright 2009, The Dojo Foundation
     *  Released under the MIT, BSD, and GPL Licenses.
     *  More information: http://sizzlejs.com/
     */
        (function() {

            var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
	    done =3D 0,
	    toString =3D Object.prototype.toString;

            var Sizzle =3D function(selector, context, results, seed) {
                results =3D results || [];
                context =3D context || document;

                if (context.nodeType !=3D=3D 1 && context.nodeType =
!=3D=3D 9)
                    return [];

                if (!selector || typeof selector !=3D=3D "string") {
                    return results;
                }

                var parts =3D [], m, set, checkSet, check, mode, extra, =
prune =3D true;

                // Reset the position of the chunker regexp (start from =
head)
                chunker.lastIndex =3D 0;

                while ((m =3D chunker.exec(selector)) !=3D=3D null) {
                    parts.push(m[1]);

                    if (m[2]) {
                        extra =3D RegExp.rightContext;
                        break;
                    }
                }

                if (parts.length > 1 && origPOS.exec(selector)) {
                    if (parts.length =3D=3D=3D 2 && =
Expr.relative[parts[0]]) {
                        set =3D posProcess(parts[0] + parts[1], =
context);
                    } else {
                        set =3D Expr.relative[parts[0]] ?
				    [context] :
				    Sizzle(parts.shift(), context);

                        while (parts.length) {
                            selector =3D parts.shift();

                            if (Expr.relative[selector])
                                selector +=3D parts.shift();

                            set =3D posProcess(selector, set);
                        }
                    }
                } else {
                    var ret =3D seed ?
			    { expr: parts.pop(), set: makeArray(seed)} :
			    Sizzle.find(parts.pop(), parts.length =3D=3D=3D 1 && =
context.parentNode ? context.parentNode : context, isXML(context));
                    set =3D Sizzle.filter(ret.expr, ret.set);

                    if (parts.length > 0) {
                        checkSet =3D makeArray(set);
                    } else {
                        prune =3D false;
                    }

                    while (parts.length) {
                        var cur =3D parts.pop(), pop =3D cur;

                        if (!Expr.relative[cur]) {
                            cur =3D "";
                        } else {
                            pop =3D parts.pop();
                        }

                        if (pop =3D=3D null) {
                            pop =3D context;
                        }

                        Expr.relative[cur](checkSet, pop, =
isXML(context));
                    }
                }

                if (!checkSet) {
                    checkSet =3D set;
                }

                if (!checkSet) {
                    throw "Syntax error, unrecognized expression: " + =
(cur || selector);
                }

                if (toString.call(checkSet) =3D=3D=3D "[object Array]") =
{
                    if (!prune) {
                        results.push.apply(results, checkSet);
                    } else if (context.nodeType =3D=3D=3D 1) {
                        for (var i =3D 0; checkSet[i] !=3D null; i++) {
                            if (checkSet[i] && (checkSet[i] =3D=3D=3D =
true || checkSet[i].nodeType =3D=3D=3D 1 && contains(context, =
checkSet[i]))) {
                                results.push(set[i]);
                            }
                        }
                    } else {
                        for (var i =3D 0; checkSet[i] !=3D null; i++) {
                            if (checkSet[i] && checkSet[i].nodeType =
=3D=3D=3D 1) {
                                results.push(set[i]);
                            }
                        }
                    }
                } else {
                    makeArray(checkSet, results);
                }

                if (extra) {
                    Sizzle(extra, context, results, seed);

                    if (sortOrder) {
                        hasDuplicate =3D false;
                        results.sort(sortOrder);

                        if (hasDuplicate) {
                            for (var i =3D 1; i < results.length; i++) {
                                if (results[i] =3D=3D=3D results[i - 1]) =
{
                                    results.splice(i--, 1);
                                }
                            }
                        }
                    }
                }

                return results;
            };

            Sizzle.matches =3D function(expr, set) {
                return Sizzle(expr, null, null, set);
            };

            Sizzle.find =3D function(expr, context, isXML) {
                var set, match;

                if (!expr) {
                    return [];
                }

                for (var i =3D 0, l =3D Expr.order.length; i < l; i++) {
                    var type =3D Expr.order[i], match;

                    if ((match =3D Expr.match[type].exec(expr))) {
                        var left =3D RegExp.leftContext;

                        if (left.substr(left.length - 1) !=3D=3D "\\") {
                            match[1] =3D (match[1] || "").replace(/\\/g, =
"");
                            set =3D Expr.find[type](match, context, =
isXML);
                            if (set !=3D null) {
                                expr =3D expr.replace(Expr.match[type], =
"");
                                break;
                            }
                        }
                    }
                }

                if (!set) {
                    set =3D context.getElementsByTagName("*");
                }

                return { set: set, expr: expr };
            };

            Sizzle.filter =3D function(expr, set, inplace, not) {
                var old =3D expr, result =3D [], curLoop =3D set, match, =
anyFound,
		    isXMLFilter =3D set && set[0] && isXML(set[0]);

                while (expr && set.length) {
                    for (var type in Expr.filter) {
                        if ((match =3D Expr.match[type].exec(expr)) !=3D =
null) {
                            var filter =3D Expr.filter[type], found, =
item;
                            anyFound =3D false;

                            if (curLoop =3D=3D result) {
                                result =3D [];
                            }

                            if (Expr.preFilter[type]) {
                                match =3D Expr.preFilter[type](match, =
curLoop, inplace, result, not, isXMLFilter);

                                if (!match) {
                                    anyFound =3D found =3D true;
                                } else if (match =3D=3D=3D true) {
                                    continue;
                                }
                            }

                            if (match) {
                                for (var i =3D 0; (item =3D curLoop[i]) =
!=3D null; i++) {
                                    if (item) {
                                        found =3D filter(item, match, i, =
curLoop);
                                        var pass =3D not ^ !!found;

                                        if (inplace && found !=3D null) =
{
                                            if (pass) {
                                                anyFound =3D true;
                                            } else {
                                                curLoop[i] =3D false;
                                            }
                                        } else if (pass) {
                                            result.push(item);
                                            anyFound =3D true;
                                        }
                                    }
                                }
                            }

                            if (found !=3D=3D undefined) {
                                if (!inplace) {
                                    curLoop =3D result;
                                }

                                expr =3D expr.replace(Expr.match[type], =
"");

                                if (!anyFound) {
                                    return [];
                                }

                                break;
                            }
                        }
                    }

                    // Improper expression
                    if (expr =3D=3D old) {
                        if (anyFound =3D=3D null) {
                            throw "Syntax error, unrecognized =
expression: " + expr;
                        } else {
                            break;
                        }
                    }

                    old =3D expr;
                }

                return curLoop;
            };

            var Expr =3D Sizzle.selectors =3D {
                order: ["ID", "NAME", "TAG"],
                match: {
                    ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
                    CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
                    NAME: =
/\[name=3D['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
                    ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\=
]/,
                    TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
                    CHILD: =
/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
                    POS: =
/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,
                    PSEUDO: =
/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\=
2\))?/
                },
                attrMap: {
                    "class": "className",
                    "for": "htmlFor"
                },
                attrHandle: {
                    href: function(elem) {
                        return elem.getAttribute("href");
                    }
                },
                relative: {
                    "+": function(checkSet, part, isXML) {
                        var isPartStr =3D typeof part =3D=3D=3D =
"string",
				    isTag =3D isPartStr && !/\W/.test(part),
				    isPartStrNotTag =3D isPartStr && !isTag;

                        if (isTag && !isXML) {
                            part =3D part.toUpperCase();
                        }

                        for (var i =3D 0, l =3D checkSet.length, elem; i =
< l; i++) {
                            if ((elem =3D checkSet[i])) {
                                while ((elem =3D elem.previousSibling) =
&& elem.nodeType !=3D=3D 1) { }

                                checkSet[i] =3D isPartStrNotTag || elem =
&& elem.nodeName =3D=3D=3D part ?
						    elem || false :
						    elem =3D=3D=3D part;
                            }
                        }

                        if (isPartStrNotTag) {
                            Sizzle.filter(part, checkSet, true);
                        }
                    },
                    ">": function(checkSet, part, isXML) {
                        var isPartStr =3D typeof part =3D=3D=3D =
"string";

                        if (isPartStr && !/\W/.test(part)) {
                            part =3D isXML ? part : part.toUpperCase();

                            for (var i =3D 0, l =3D checkSet.length; i < =
l; i++) {
                                var elem =3D checkSet[i];
                                if (elem) {
                                    var parent =3D elem.parentNode;
                                    checkSet[i] =3D parent.nodeName =
=3D=3D=3D part ? parent : false;
                                }
                            }
                        } else {
                            for (var i =3D 0, l =3D checkSet.length; i < =
l; i++) {
                                var elem =3D checkSet[i];
                                if (elem) {
                                    checkSet[i] =3D isPartStr ?
							    elem.parentNode :
							    elem.parentNode =3D=3D=3D part;
                                }
                            }

                            if (isPartStr) {
                                Sizzle.filter(part, checkSet, true);
                            }
                        }
                    },
                    "": function(checkSet, part, isXML) {
                        var doneName =3D done++, checkFn =3D dirCheck;

                        if (!part.match(/\W/)) {
                            var nodeCheck =3D part =3D isXML ? part : =
part.toUpperCase();
                            checkFn =3D dirNodeCheck;
                        }

                        checkFn("parentNode", part, doneName, checkSet, =
nodeCheck, isXML);
                    },
                    "~": function(checkSet, part, isXML) {
                        var doneName =3D done++, checkFn =3D dirCheck;

                        if (typeof part =3D=3D=3D "string" && =
!part.match(/\W/)) {
                            var nodeCheck =3D part =3D isXML ? part : =
part.toUpperCase();
                            checkFn =3D dirNodeCheck;
                        }

                        checkFn("previousSibling", part, doneName, =
checkSet, nodeCheck, isXML);
                    }
                },
                find: {
                    ID: function(match, context, isXML) {
                        if (typeof context.getElementById !=3D=3D =
"undefined" && !isXML) {
                            var m =3D context.getElementById(match[1]);
                            return m ? [m] : [];
                        }
                    },
                    NAME: function(match, context, isXML) {
                        if (typeof context.getElementsByName !=3D=3D =
"undefined") {
                            var ret =3D [], results =3D =
context.getElementsByName(match[1]);

                            for (var i =3D 0, l =3D results.length; i < =
l; i++) {
                                if (results[i].getAttribute("name") =
=3D=3D=3D match[1]) {
                                    ret.push(results[i]);
                                }
                            }

                            return ret.length =3D=3D=3D 0 ? null : ret;
                        }
                    },
                    TAG: function(match, context) {
                        return context.getElementsByTagName(match[1]);
                    }
                },
                preFilter: {
                    CLASS: function(match, curLoop, inplace, result, =
not, isXML) {
                        match =3D " " + match[1].replace(/\\/g, "") + " =
";

                        if (isXML) {
                            return match;
                        }

                        for (var i =3D 0, elem; (elem =3D curLoop[i]) =
!=3D null; i++) {
                            if (elem) {
                                if (not ^ (elem.className && (" " + =
elem.className + " ").indexOf(match) >=3D 0)) {
                                    if (!inplace)
                                        result.push(elem);
                                } else if (inplace) {
                                    curLoop[i] =3D false;
                                }
                            }
                        }

                        return false;
                    },
                    ID: function(match) {
                        return match[1].replace(/\\/g, "");
                    },
                    TAG: function(match, curLoop) {
                        for (var i =3D 0; curLoop[i] =3D=3D=3D false; =
i++) { }
                        return curLoop[i] && isXML(curLoop[i]) ? =
match[1] : match[1].toUpperCase();
                    },
                    CHILD: function(match) {
                        if (match[1] =3D=3D "nth") {
                            // parse equations like 'even', 'odd', '5', =
'2n', '3n+2', '4n-1', '-n+6'
                            var test =3D =
/(-?)(\d*)n((?:\+|-)?\d*)/.exec(
					    match[2] =3D=3D "even" && "2n" || match[2] =3D=3D "odd" && =
"2n+1" ||
					    !/\D/.test(match[2]) && "0n+" + match[2] || match[2]);

                            // calculate the numbers (first)n+(last) =
including if they are negative
                            match[2] =3D (test[1] + (test[2] || 1)) - 0;
                            match[3] =3D test[3] - 0;
                        }

                        // TODO: Move to normal caching system
                        match[0] =3D done++;

                        return match;
                    },
                    ATTR: function(match, curLoop, inplace, result, not, =
isXML) {
                        var name =3D match[1].replace(/\\/g, "");

                        if (!isXML && Expr.attrMap[name]) {
                            match[1] =3D Expr.attrMap[name];
                        }

                        if (match[2] =3D=3D=3D "~=3D") {
                            match[4] =3D " " + match[4] + " ";
                        }

                        return match;
                    },
                    PSEUDO: function(match, curLoop, inplace, result, =
not) {
                        if (match[1] =3D=3D=3D "not") {
                            // If we're dealing with a complex =
expression, or a simple one
                            if (match[3].match(chunker).length > 1 || =
/^\w/.test(match[3])) {
                                match[3] =3D Sizzle(match[3], null, =
null, curLoop);
                            } else {
                                var ret =3D Sizzle.filter(match[3], =
curLoop, inplace, true ^ not);
                                if (!inplace) {
                                    result.push.apply(result, ret);
                                }
                                return false;
                            }
                        } else if (Expr.match.POS.test(match[0]) || =
Expr.match.CHILD.test(match[0])) {
                            return true;
                        }

                        return match;
                    },
                    POS: function(match) {
                        match.unshift(true);
                        return match;
                    }
                },
                filters: {
                    enabled: function(elem) {
                        return elem.disabled =3D=3D=3D false && =
elem.type !=3D=3D "hidden";
                    },
                    disabled: function(elem) {
                        return elem.disabled =3D=3D=3D true;
                    },
                    checked: function(elem) {
                        return elem.checked =3D=3D=3D true;
                    },
                    selected: function(elem) {
                        // Accessing this property makes =
selected-by-default
                        // options in Safari work properly
                        elem.parentNode.selectedIndex;
                        return elem.selected =3D=3D=3D true;
                    },
                    parent: function(elem) {
                        return !!elem.firstChild;
                    },
                    empty: function(elem) {
                        return !elem.firstChild;
                    },
                    has: function(elem, i, match) {
                        return !!Sizzle(match[3], elem).length;
                    },
                    header: function(elem) {
                        return /h\d/i.test(elem.nodeName);
                    },
                    text: function(elem) {
                        return "text" =3D=3D=3D elem.type;
                    },
                    radio: function(elem) {
                        return "radio" =3D=3D=3D elem.type;
                    },
                    checkbox: function(elem) {
                        return "checkbox" =3D=3D=3D elem.type;
                    },
                    file: function(elem) {
                        return "file" =3D=3D=3D elem.type;
                    },
                    password: function(elem) {
                        return "password" =3D=3D=3D elem.type;
                    },
                    submit: function(elem) {
                        return "submit" =3D=3D=3D elem.type;
                    },
                    image: function(elem) {
                        return "image" =3D=3D=3D elem.type;
                    },
                    reset: function(elem) {
                        return "reset" =3D=3D=3D elem.type;
                    },
                    button: function(elem) {
                        return "button" =3D=3D=3D elem.type || =
elem.nodeName.toUpperCase() =3D=3D=3D "BUTTON";
                    },
                    input: function(elem) {
                        return =
/input|select|textarea|button/i.test(elem.nodeName);
                    }
                },
                setFilters: {
                    first: function(elem, i) {
                        return i =3D=3D=3D 0;
                    },
                    last: function(elem, i, match, array) {
                        return i =3D=3D=3D array.length - 1;
                    },
                    even: function(elem, i) {
                        return i % 2 =3D=3D=3D 0;
                    },
                    odd: function(elem, i) {
                        return i % 2 =3D=3D=3D 1;
                    },
                    lt: function(elem, i, match) {
                        return i < match[3] - 0;
                    },
                    gt: function(elem, i, match) {
                        return i > match[3] - 0;
                    },
                    nth: function(elem, i, match) {
                        return match[3] - 0 =3D=3D i;
                    },
                    eq: function(elem, i, match) {
                        return match[3] - 0 =3D=3D i;
                    }
                },
                filter: {
                    PSEUDO: function(elem, match, i, array) {
                        var name =3D match[1], filter =3D =
Expr.filters[name];

                        if (filter) {
                            return filter(elem, i, match, array);
                        } else if (name =3D=3D=3D "contains") {
                            return (elem.textContent || elem.innerText =
|| "").indexOf(match[3]) >=3D 0;
                        } else if (name =3D=3D=3D "not") {
                            var not =3D match[3];

                            for (var i =3D 0, l =3D not.length; i < l; =
i++) {
                                if (not[i] =3D=3D=3D elem) {
                                    return false;
                                }
                            }

                            return true;
                        }
                    },
                    CHILD: function(elem, match) {
                        var type =3D match[1], node =3D elem;
                        switch (type) {
                            case 'only':
                            case 'first':
                                while (node =3D node.previousSibling) {
                                    if (node.nodeType =3D=3D=3D 1) =
return false;
                                }
                                if (type =3D=3D 'first') return true;
                                node =3D elem;
                            case 'last':
                                while (node =3D node.nextSibling) {
                                    if (node.nodeType =3D=3D=3D 1) =
return false;
                                }
                                return true;
                            case 'nth':
                                var first =3D match[2], last =3D =
match[3];

                                if (first =3D=3D 1 && last =3D=3D 0) {
                                    return true;
                                }

                                var doneName =3D match[0],
						    parent =3D elem.parentNode;

                                if (parent && (parent.sizcache !=3D=3D =
doneName || !elem.nodeIndex)) {
                                    var count =3D 0;
                                    for (node =3D parent.firstChild; =
node; node =3D node.nextSibling) {
                                        if (node.nodeType =3D=3D=3D 1) {
                                            node.nodeIndex =3D ++count;
                                        }
                                    }
                                    parent.sizcache =3D doneName;
                                }

                                var diff =3D elem.nodeIndex - last;
                                if (first =3D=3D 0) {
                                    return diff =3D=3D 0;
                                } else {
                                    return (diff % first =3D=3D 0 && =
diff / first >=3D 0);
                                }
                        }
                    },
                    ID: function(elem, match) {
                        return elem.nodeType =3D=3D=3D 1 && =
elem.getAttribute("id") =3D=3D=3D match;
                    },
                    TAG: function(elem, match) {
                        return (match =3D=3D=3D "*" && elem.nodeType =
=3D=3D=3D 1) || elem.nodeName =3D=3D=3D match;
                    },
                    CLASS: function(elem, match) {
                        return (" " + (elem.className || =
elem.getAttribute("class")) + " ")
				    .indexOf(match) > -1;
                    },
                    ATTR: function(elem, match) {
                        var name =3D match[1],
				    result =3D Expr.attrHandle[name] ?
					    Expr.attrHandle[name](elem) :
					    elem[name] !=3D null ?
						    elem[name] :
						    elem.getAttribute(name),
				    value =3D result + "",
				    type =3D match[2],
				    check =3D match[4];

                        return result =3D=3D null ?
				    type =3D=3D=3D "!=3D" :
				    type =3D=3D=3D "=3D" ?
				    value =3D=3D=3D check :
				    type =3D=3D=3D "*=3D" ?
				    value.indexOf(check) >=3D 0 :
				    type =3D=3D=3D "~=3D" ?
				    (" " + value + " ").indexOf(check) >=3D 0 :
				    !check ?
				    value && result !=3D=3D false :
				    type =3D=3D=3D "!=3D" ?
				    value !=3D check :
				    type =3D=3D=3D "^=3D" ?
				    value.indexOf(check) =3D=3D=3D 0 :
				    type =3D=3D=3D "$=3D" ?
				    value.substr(value.length - check.length) =3D=3D=3D check :
				    type =3D=3D=3D "|=3D" ?
				    value =3D=3D=3D check || value.substr(0, check.length + 1) =
=3D=3D=3D check + "-" :
				    false;
                    },
                    POS: function(elem, match, i, array) {
                        var name =3D match[2], filter =3D =
Expr.setFilters[name];

                        if (filter) {
                            return filter(elem, i, match, array);
                        }
                    }
                }
            };

            var origPOS =3D Expr.match.POS;

            for (var type in Expr.match) {
                Expr.match[type] =3D RegExp(Expr.match[type].source + =
/(?![^\[]*\])(?![^\(]*\))/.source);
            }

            var makeArray =3D function(array, results) {
                array =3D Array.prototype.slice.call(array);

                if (results) {
                    results.push.apply(results, array);
                    return results;
                }

                return array;
            };

            // Perform a simple check to determine if the browser is =
capable of
            // converting a NodeList to an array using builtin methods.
            try {
                =
Array.prototype.slice.call(document.documentElement.childNodes);

                // Provide a fallback method if it does not work
            } catch (e) {
                makeArray =3D function(array, results) {
                    var ret =3D results || [];

                    if (toString.call(array) =3D=3D=3D "[object Array]") =
{
                        Array.prototype.push.apply(ret, array);
                    } else {
                        if (typeof array.length =3D=3D=3D "number") {
                            for (var i =3D 0, l =3D array.length; i < l; =
i++) {
                                ret.push(array[i]);
                            }
                        } else {
                            for (var i =3D 0; array[i]; i++) {
                                ret.push(array[i]);
                            }
                        }
                    }

                    return ret;
                };
            }

            var sortOrder;

            if (document.documentElement.compareDocumentPosition) {
                sortOrder =3D function(a, b) {
                    var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : =
a =3D=3D=3D b ? 0 : 1;
                    if (ret =3D=3D=3D 0) {
                        hasDuplicate =3D true;
                    }
                    return ret;
                };
            } else if ("sourceIndex" in document.documentElement) {
                sortOrder =3D function(a, b) {
                    var ret =3D a.sourceIndex - b.sourceIndex;
                    if (ret =3D=3D=3D 0) {
                        hasDuplicate =3D true;
                    }
                    return ret;
                };
            } else if (document.createRange) {
                sortOrder =3D function(a, b) {
                    var aRange =3D a.ownerDocument.createRange(), bRange =
=3D b.ownerDocument.createRange();
                    aRange.selectNode(a);
                    aRange.collapse(true);
                    bRange.selectNode(b);
                    bRange.collapse(true);
                    var ret =3D =
aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
                    if (ret =3D=3D=3D 0) {
                        hasDuplicate =3D true;
                    }
                    return ret;
                };
            }

            // Check to see if the browser returns elements by name when
            // querying by getElementById (and provide a workaround)
            (function() {
                // We're going to inject a fake input element with a =
specified name
                var form =3D document.createElement("form"),
		    id =3D "script" + (new Date).getTime();
                form.innerHTML =3D "<input name=3D'" + id + "'/>";

                // Inject it into the root element, check its status, =
and remove it quickly
                var root =3D document.documentElement;
                root.insertBefore(form, root.firstChild);

                // The workaround has to do additional checks after a =
getElementById
                // Which slows things down for other browsers (hence the =
branching)
                if (!!document.getElementById(id)) {
                    Expr.find.ID =3D function(match, context, isXML) {
                        if (typeof context.getElementById !=3D=3D =
"undefined" && !isXML) {
                            var m =3D context.getElementById(match[1]);
                            return m ? m.id =3D=3D=3D match[1] || typeof =
m.getAttributeNode !=3D=3D "undefined" && =
m.getAttributeNode("id").nodeValue =3D=3D=3D match[1] ? [m] : undefined =
: [];
                        }
                    };

                    Expr.filter.ID =3D function(elem, match) {
                        var node =3D typeof elem.getAttributeNode =
!=3D=3D "undefined" && elem.getAttributeNode("id");
                        return elem.nodeType =3D=3D=3D 1 && node && =
node.nodeValue =3D=3D=3D match;
                    };
                }

                root.removeChild(form);
            })();

            (function() {
                // Check to see if the browser returns only elements
                // when doing getElementsByTagName("*")

                // Create a fake element
                var div =3D document.createElement("div");
                div.appendChild(document.createComment(""));

                // Make sure no comments are found
                if (div.getElementsByTagName("*").length > 0) {
                    Expr.find.TAG =3D function(match, context) {
                        var results =3D =
context.getElementsByTagName(match[1]);

                        // Filter out possible comments
                        if (match[1] =3D=3D=3D "*") {
                            var tmp =3D [];

                            for (var i =3D 0; results[i]; i++) {
                                if (results[i].nodeType =3D=3D=3D 1) {
                                    tmp.push(results[i]);
                                }
                            }

                            results =3D tmp;
                        }

                        return results;
                    };
                }

                // Check to see if an attribute returns normalized href =
attributes
                div.innerHTML =3D "<a href=3D'#'></a>";
                if (div.firstChild && typeof div.firstChild.getAttribute =
!=3D=3D "undefined" &&
			    div.firstChild.getAttribute("href") !=3D=3D "#") {
                    Expr.attrHandle.href =3D function(elem) {
                        return elem.getAttribute("href", 2);
                    };
                }
            })();

            if (document.querySelectorAll) (function() {
                var oldSizzle =3D Sizzle, div =3D =
document.createElement("div");
                div.innerHTML =3D "<p class=3D'TEST'></p>";

                // Safari can't handle uppercase or unicode characters =
when
                // in quirks mode.
                if (div.querySelectorAll && =
div.querySelectorAll(".TEST").length =3D=3D=3D 0) {
                    return;
                }

                Sizzle =3D function(query, context, extra, seed) {
                    context =3D context || document;

                    // Only use querySelectorAll on non-XML documents
                    // (ID selectors don't work in non-HTML documents)
                    if (!seed && context.nodeType =3D=3D=3D 9 && =
!isXML(context)) {
                        try {
                            return =
makeArray(context.querySelectorAll(query), extra);
                        } catch (e) { }
                    }

                    return oldSizzle(query, context, extra, seed);
                };

                Sizzle.find =3D oldSizzle.find;
                Sizzle.filter =3D oldSizzle.filter;
                Sizzle.selectors =3D oldSizzle.selectors;
                Sizzle.matches =3D oldSizzle.matches;
            })();

            if (document.getElementsByClassName && =
document.documentElement.getElementsByClassName) (function() {
                var div =3D document.createElement("div");
                div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";

                // Opera can't find a second classname (in 9.6)
                if (div.getElementsByClassName("e").length =3D=3D=3D 0)
                    return;

                // Safari caches class attributes, doesn't catch changes =
(in 3.2)
                div.lastChild.className =3D "e";

                if (div.getElementsByClassName("e").length =3D=3D=3D 1)
                    return;

                Expr.order.splice(1, 0, "CLASS");
                Expr.find.CLASS =3D function(match, context, isXML) {
                    if (typeof context.getElementsByClassName !=3D=3D =
"undefined" && !isXML) {
                        return context.getElementsByClassName(match[1]);
                    }
                };
            })();

            function dirNodeCheck(dir, cur, doneName, checkSet, =
nodeCheck, isXML) {
                var sibDir =3D dir =3D=3D "previousSibling" && !isXML;
                for (var i =3D 0, l =3D checkSet.length; i < l; i++) {
                    var elem =3D checkSet[i];
                    if (elem) {
                        if (sibDir && elem.nodeType =3D=3D=3D 1) {
                            elem.sizcache =3D doneName;
                            elem.sizset =3D i;
                        }
                        elem =3D elem[dir];
                        var match =3D false;

                        while (elem) {
                            if (elem.sizcache =3D=3D=3D doneName) {
                                match =3D checkSet[elem.sizset];
                                break;
                            }

                            if (elem.nodeType =3D=3D=3D 1 && !isXML) {
                                elem.sizcache =3D doneName;
                                elem.sizset =3D i;
                            }

                            if (elem.nodeName =3D=3D=3D cur) {
                                match =3D elem;
                                break;
                            }

                            elem =3D elem[dir];
                        }

                        checkSet[i] =3D match;
                    }
                }
            }

            function dirCheck(dir, cur, doneName, checkSet, nodeCheck, =
isXML) {
                var sibDir =3D dir =3D=3D "previousSibling" && !isXML;
                for (var i =3D 0, l =3D checkSet.length; i < l; i++) {
                    var elem =3D checkSet[i];
                    if (elem) {
                        if (sibDir && elem.nodeType =3D=3D=3D 1) {
                            elem.sizcache =3D doneName;
                            elem.sizset =3D i;
                        }
                        elem =3D elem[dir];
                        var match =3D false;

                        while (elem) {
                            if (elem.sizcache =3D=3D=3D doneName) {
                                match =3D checkSet[elem.sizset];
                                break;
                            }

                            if (elem.nodeType =3D=3D=3D 1) {
                                if (!isXML) {
                                    elem.sizcache =3D doneName;
                                    elem.sizset =3D i;
                                }
                                if (typeof cur !=3D=3D "string") {
                                    if (elem =3D=3D=3D cur) {
                                        match =3D true;
                                        break;
                                    }

                                } else if (Sizzle.filter(cur, =
[elem]).length > 0) {
                                    match =3D elem;
                                    break;
                                }
                            }

                            elem =3D elem[dir];
                        }

                        checkSet[i] =3D match;
                    }
                }
            }

            var contains =3D document.compareDocumentPosition ? =
function(a, b) {
                return a.compareDocumentPosition(b) & 16;
            } : function(a, b) {
                return a !=3D=3D b && (a.contains ? a.contains(b) : =
true);
            };

            var isXML =3D function(elem) {
                return elem.nodeType =3D=3D=3D 9 && =
elem.documentElement.nodeName !=3D=3D "HTML" ||
		    !!elem.ownerDocument && isXML(elem.ownerDocument);
            };

            var posProcess =3D function(selector, context) {
                var tmpSet =3D [], later =3D "", match,
		    root =3D context.nodeType ? [context] : context;

                // Position selectors must be done after the filter
                // And so must :not(positional) so we move all PSEUDOs =
to the end
                while ((match =3D Expr.match.PSEUDO.exec(selector))) {
                    later +=3D match[0];
                    selector =3D selector.replace(Expr.match.PSEUDO, =
"");
                }

                selector =3D Expr.relative[selector] ? selector + "*" : =
selector;

                for (var i =3D 0, l =3D root.length; i < l; i++) {
                    Sizzle(selector, root[i], tmpSet);
                }

                return Sizzle.filter(later, tmpSet);
            };

            // EXPOSE
            jQuery.find =3D Sizzle;
            jQuery.filter =3D Sizzle.filter;
            jQuery.expr =3D Sizzle.selectors;
            jQuery.expr[":"] =3D jQuery.expr.filters;

            Sizzle.selectors.filters.hidden =3D function(elem) {
                return elem.offsetWidth =3D=3D=3D 0 || elem.offsetHeight =
=3D=3D=3D 0;
            };

            Sizzle.selectors.filters.visible =3D function(elem) {
                return elem.offsetWidth > 0 || elem.offsetHeight > 0;
            };

            Sizzle.selectors.filters.animated =3D function(elem) {
                return jQuery.grep(jQuery.timers, function(fn) {
                    return elem =3D=3D=3D fn.elem;
                }).length;
            };

            jQuery.multiFilter =3D function(expr, elems, not) {
                if (not) {
                    expr =3D ":not(" + expr + ")";
                }

                return Sizzle.matches(expr, elems);
            };

            jQuery.dir =3D function(elem, dir) {
                var matched =3D [], cur =3D elem[dir];
                while (cur && cur !=3D document) {
                    if (cur.nodeType =3D=3D 1)
                        matched.push(cur);
                    cur =3D cur[dir];
                }
                return matched;
            };

            jQuery.nth =3D function(cur, result, dir, elem) {
                result =3D result || 1;
                var num =3D 0;

                for (; cur; cur =3D cur[dir])
                    if (cur.nodeType =3D=3D 1 && ++num =3D=3D result)
                    break;

                return cur;
            };

            jQuery.sibling =3D function(n, elem) {
                var r =3D [];

                for (; n; n =3D n.nextSibling) {
                    if (n.nodeType =3D=3D 1 && n !=3D elem)
                        r.push(n);
                }

                return r;
            };

            return;

            window.Sizzle =3D Sizzle;

        })();
        /*
        * A number of helper functions used for managing events.
        * Many of the ideas behind this code originated from
        * Dean Edwards' addEvent library.
        */
        jQuery.event =3D {

            // Bind an event to an element
            // Original by Dean Edwards
            add: function(elem, types, handler, data) {
                if (elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8)
                    return;

                // For whatever reason, IE has trouble passing the =
window object
                // around, causing it to be cloned in the process
                if (elem.setInterval && elem !=3D window)
                    elem =3D window;

                // Make sure that the function being executed has a =
unique ID
                if (!handler.guid)
                    handler.guid =3D this.guid++;

                // if data is passed, bind to handler
                if (data !=3D=3D undefined) {
                    // Create temporary function pointer to original =
handler
                    var fn =3D handler;

                    // Create unique handler function, wrapped around =
original handler
                    handler =3D this.proxy(fn);

                    // Store data in unique handler
                    handler.data =3D data;
                }

                // Init the element's event structure
                var events =3D jQuery.data(elem, "events") || =
jQuery.data(elem, "events", {}),
			    handle =3D jQuery.data(elem, "handle") || jQuery.data(elem, =
"handle", function() {
			        // Handle the second event of a trigger and when
			        // an event is called after a page has unloaded
			        return typeof jQuery !=3D=3D "undefined" && =
!jQuery.event.triggered ?
					    jQuery.event.handle.apply(arguments.callee.elem, arguments) :
					    undefined;
			    });
                // Add elem as a property of the handle function
                // This is to prevent a memory leak with non-native
                // event in IE.
                handle.elem =3D elem;

                // Handle multiple events separated by a space
                // jQuery(...).bind("mouseover mouseout", fn);
                jQuery.each(types.split(/\s+/), function(index, type) {
                    // Namespaced event handlers
                    var namespaces =3D type.split(".");
                    type =3D namespaces.shift();
                    handler.type =3D =
namespaces.slice().sort().join(".");

                    // Get the current list of functions bound to this =
event
                    var handlers =3D events[type];

                    if (jQuery.event.specialAll[type])
                        jQuery.event.specialAll[type].setup.call(elem, =
data, namespaces);

                    // Init the event handler queue
                    if (!handlers) {
                        handlers =3D events[type] =3D {};

                        // Check for a special event handler
                        // Only use addEventListener/attachEvent if the =
special
                        // events handler returns false
                        if (!jQuery.event.special[type] || =
jQuery.event.special[type].setup.call(elem, data, namespaces) =3D=3D=3D =
false) {
                            // Bind the global event handler to the =
element
                            if (elem.addEventListener)
                                elem.addEventListener(type, handle, =
false);
                            else if (elem.attachEvent)
                                elem.attachEvent("on" + type, handle);
                        }
                    }

                    // Add the function to the element's handler list
                    handlers[handler.guid] =3D handler;

                    // Keep track of which events have been used, for =
global triggering
                    jQuery.event.global[type] =3D true;
                });

                // Nullify elem to prevent memory leaks in IE
                elem =3D null;
            },

            guid: 1,
            global: {},

            // Detach an event or set of events from an element
            remove: function(elem, types, handler) {
                // don't do events on text and comment nodes
                if (elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8)
                    return;

                var events =3D jQuery.data(elem, "events"), ret, index;

                if (events) {
                    // Unbind all events for the element
                    if (types =3D=3D=3D undefined || (typeof types =
=3D=3D=3D "string" && types.charAt(0) =3D=3D "."))
                        for (var type in events)
                        this.remove(elem, type + (types || ""));
                    else {
                        // types is actually an event object here
                        if (types.type) {
                            handler =3D types.handler;
                            types =3D types.type;
                        }

                        // Handle multiple events seperated by a space
                        // jQuery(...).unbind("mouseover mouseout", fn);
                        jQuery.each(types.split(/\s+/), function(index, =
type) {
                            // Namespaced event handlers
                            var namespaces =3D type.split(".");
                            type =3D namespaces.shift();
                            var namespace =3D RegExp("(^|\\.)" + =
namespaces.slice().sort().join(".*\\.") + "(\\.|$)");

                            if (events[type]) {
                                // remove the given handler for the =
given type
                                if (handler)
                                    delete events[type][handler.guid];

                                // remove all handlers for the given =
type
                                else
                                    for (var handle in events[type])
                                // Handle the removal of namespaced =
events
                                    if =
(namespace.test(events[type][handle].type))
                                    delete events[type][handle];

                                if (jQuery.event.specialAll[type])
                                    =
jQuery.event.specialAll[type].teardown.call(elem, namespaces);

                                // remove generic event handler if no =
more handlers exist
                                for (ret in events[type]) break;
                                if (!ret) {
                                    if (!jQuery.event.special[type] || =
jQuery.event.special[type].teardown.call(elem, namespaces) =3D=3D=3D =
false) {
                                        if (elem.removeEventListener)
                                            =
elem.removeEventListener(type, jQuery.data(elem, "handle"), false);
                                        else if (elem.detachEvent)
                                            elem.detachEvent("on" + =
type, jQuery.data(elem, "handle"));
                                    }
                                    ret =3D null;
                                    delete events[type];
                                }
                            }
                        });
                    }

                    // Remove the expando if it's no longer used
                    for (ret in events) break;
                    if (!ret) {
                        var handle =3D jQuery.data(elem, "handle");
                        if (handle) handle.elem =3D null;
                        jQuery.removeData(elem, "events");
                        jQuery.removeData(elem, "handle");
                    }
                }
            },

            // bubbling is internal
            trigger: function(event, data, elem, bubbling) {
                // Event object or event type
                var type =3D event.type || event;

                if (!bubbling) {
                    event =3D typeof event =3D=3D=3D "object" ?
                    // jQuery.Event object
				    event[expando] ? event :
                    // Object literal
				    jQuery.extend(jQuery.Event(type), event) :
                    // Just the event type (string)
				    jQuery.Event(type);

                    if (type.indexOf("!") >=3D 0) {
                        event.type =3D type =3D type.slice(0, -1);
                        event.exclusive =3D true;
                    }

                    // Handle a global trigger
                    if (!elem) {
                        // Don't bubble custom events when global (to =
avoid too much overhead)
                        event.stopPropagation();
                        // Only trigger if we've ever bound an event for =
it
                        if (this.global[type])
                            jQuery.each(jQuery.cache, function() {
                                if (this.events && this.events[type])
                                    jQuery.event.trigger(event, data, =
this.handle.elem);
                            });
                    }

                    // Handle triggering a single element

                    // don't do events on text and comment nodes
                    if (!elem || elem.nodeType =3D=3D 3 || elem.nodeType =
=3D=3D 8)
                        return undefined;

                    // Clean up in case it is reused
                    event.result =3D undefined;
                    event.target =3D elem;

                    // Clone the incoming data, if any
                    data =3D jQuery.makeArray(data);
                    data.unshift(event);
                }

                event.currentTarget =3D elem;

                // Trigger the event, it is assumed that "handle" is a =
function
                var handle =3D jQuery.data(elem, "handle");
                if (handle)
                    handle.apply(elem, data);

                // Handle triggering native .onfoo handlers (and on =
links since we don't call .click() for links)
                if ((!elem[type] || (jQuery.nodeName(elem, 'a') && type =
=3D=3D "click")) && elem["on" + type] && elem["on" + type].apply(elem, =
data) =3D=3D=3D false)
                    event.result =3D false;

                // Trigger the native events (except for clicks on =
links)
                if (!bubbling && elem[type] && =
!event.isDefaultPrevented() && !(jQuery.nodeName(elem, 'a') && type =
=3D=3D "click")) {
                    this.triggered =3D true;
                    try {
                        elem[type]();
                        // prevent IE from throwing an error for some =
hidden elements
                    } catch (e) { }
                }

                this.triggered =3D false;

                if (!event.isPropagationStopped()) {
                    var parent =3D elem.parentNode || =
elem.ownerDocument;
                    if (parent)
                        jQuery.event.trigger(event, data, parent, true);
                }
            },

            handle: function(event) {
                // returned undefined or false
                var all, handlers;

                event =3D arguments[0] =3D jQuery.event.fix(event || =
window.event);
                event.currentTarget =3D this;

                // Namespaced event handlers
                var namespaces =3D event.type.split(".");
                event.type =3D namespaces.shift();

                // Cache this now, all =3D true means, any handler
                all =3D !namespaces.length && !event.exclusive;

                var namespace =3D RegExp("(^|\\.)" + =
namespaces.slice().sort().join(".*\\.") + "(\\.|$)");

                handlers =3D (jQuery.data(this, "events") || =
{})[event.type];

                for (var j in handlers) {
                    var handler =3D handlers[j];

                    // Filter the functions by class
                    if (all || namespace.test(handler.type)) {
                        // Pass in a reference to the handler function =
itself
                        // So that we can later remove it
                        event.handler =3D handler;
                        event.data =3D handler.data;

                        // Ektron Begin
                        // Ektron Note:  added try/catch
                    try
                    {
                            // Ektron End
                            var ret =3D handler.apply(this, arguments);
                            // Ektron Begin
                        }
                    catch(ex)
                    {
                            Ektron.OnException.diagException(ex, =
arguments, handler);
                        }
                        // Ektron End
                        if (ret !=3D=3D undefined) {
                            event.result =3D ret;
                            if (ret =3D=3D=3D false) {
                                event.preventDefault();
                                event.stopPropagation();
                            }
                        }

                        if (event.isImmediatePropagationStopped())
                            break;

                    }
                }
            },

            props: "altKey attrChange attrName bubbles button cancelable =
charCode clientX clientY ctrlKey currentTarget data detail eventPhase =
fromElement handler keyCode metaKey newValue originalTarget pageX pageY =
prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement =
target toElement view wheelDelta which".split(" "),

            fix: function(event) {
                if (event[expando])
                    return event;

                // store a copy of the original event object
                // and "clone" to set read-only properties
                var originalEvent =3D event;
                event =3D jQuery.Event(originalEvent);

                for (var i =3D this.props.length, prop; i; ) {
                    prop =3D this.props[--i];
                    event[prop] =3D originalEvent[prop];
                }

                // Fix target property, if necessary
                if (!event.target)
                    event.target =3D event.srcElement || document; // =
Fixes #1925 where srcElement might not be defined either

                // check if target is a textnode (safari)
                if (event.target.nodeType =3D=3D 3)
                    event.target =3D event.target.parentNode;

                // Add relatedTarget, if necessary
                if (!event.relatedTarget && event.fromElement)
                    event.relatedTarget =3D event.fromElement =3D=3D =
event.target ? event.toElement : event.fromElement;

                // Calculate pageX/Y if missing and clientX/Y available
                if (event.pageX =3D=3D null && event.clientX !=3D null) =
{
                    var doc =3D document.documentElement, body =3D =
document.body;
                    event.pageX =3D event.clientX + (doc && =
doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);
                    event.pageY =3D event.clientY + (doc && =
doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);
                }

                // Add which for key events
                if (!event.which && ((event.charCode || event.charCode =
=3D=3D=3D 0) ? event.charCode : event.keyCode))
                    event.which =3D event.charCode || event.keyCode;

                // Add metaKey to non-Mac browsers (use ctrl for PC's =
and Meta for Macs)
                if (!event.metaKey && event.ctrlKey)
                    event.metaKey =3D event.ctrlKey;

                // Add which for click: 1 =3D=3D left; 2 =3D=3D middle; =
3 =3D=3D right
                // Note: button is not normalized, so don't use it
                if (!event.which && event.button)
                    event.which =3D (event.button & 1 ? 1 : =
(event.button & 2 ? 3 : (event.button & 4 ? 2 : 0)));

                return event;
            },

            proxy: function(fn, proxy) {
                proxy =3D proxy || function() { return fn.apply(this, =
arguments); };
                // Set the guid of unique handler to the same of =
original handler, so it can be removed
                proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || =
this.guid++;
                // So proxy can be declared as an argument
                return proxy;
            },

            special: {
                ready: {
                    // Make sure the ready event is setup
                    setup: bindReady,
                    teardown: function() { }
                }
            },

            specialAll: {
                live: {
                    setup: function(selector, namespaces) {
                        jQuery.event.add(this, namespaces[0], =
liveHandler);
                    },
                    teardown: function(namespaces) {
                        if (namespaces.length) {
                            var remove =3D 0, name =3D RegExp("(^|\\.)" =
+ namespaces[0] + "(\\.|$)");

                            jQuery.each((jQuery.data(this, =
"events").live || {}), function() {
                                if (name.test(this.type))
                                    remove++;
                            });

                            if (remove < 1)
                                jQuery.event.remove(this, namespaces[0], =
liveHandler);
                        }
                    }
                }
            }
        };

        jQuery.Event =3D function(src) {
            // Allow instantiation without the 'new' keyword
            if (!this.preventDefault)
                return new jQuery.Event(src);

            // Event object
            if (src && src.type) {
                this.originalEvent =3D src;
                this.type =3D src.type;
                // Event type
            } else
                this.type =3D src;

            // timeStamp is buggy for some events on Firefox(#3843)
            // So we won't rely on the native value
            this.timeStamp =3D now();

            // Mark it as fixed
            this[expando] =3D true;
        };

        function returnFalse() {
            return false;
        }
        function returnTrue() {
            return true;
        }

        // jQuery.Event is based on DOM3 Events as specified by the =
ECMAScript Language Binding
        // =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html
        jQuery.Event.prototype =3D {
            preventDefault: function() {
                this.isDefaultPrevented =3D returnTrue;

                var e =3D this.originalEvent;
                if (!e)
                    return;
                // if preventDefault exists run it on the original event
                if (e.preventDefault)
                    e.preventDefault();
                // otherwise set the returnValue property of the =
original event to false (IE)
                e.returnValue =3D false;
            },
            stopPropagation: function() {
                this.isPropagationStopped =3D returnTrue;

                var e =3D this.originalEvent;
                if (!e)
                    return;
                // if stopPropagation exists run it on the original =
event
                if (e.stopPropagation)
                    e.stopPropagation();
                // otherwise set the cancelBubble property of the =
original event to true (IE)
                e.cancelBubble =3D true;
            },
            stopImmediatePropagation: function() {
                this.isImmediatePropagationStopped =3D returnTrue;
                this.stopPropagation();
            },
            isDefaultPrevented: returnFalse,
            isPropagationStopped: returnFalse,
            isImmediatePropagationStopped: returnFalse
        };
        // Checks if an event happened on an element within another =
element
        // Used in jQuery.event.special.mouseenter and mouseleave =
handlers
        var withinElement =3D function(event) {
            // Check if mouse(over|out) are still within the same parent =
element
            var parent =3D event.relatedTarget;
            // Traverse up the tree
            while (parent && parent !=3D this)
                try { parent =3D parent.parentNode; }
            catch (e) { parent =3D this; }

            if (parent !=3D this) {
                // set the correct event type
                event.type =3D event.data;
                // handle event if we actually just moused on to a non =
sub-element
                jQuery.event.handle.apply(this, arguments);
            }
        };

        jQuery.each({
            mouseover: 'mouseenter',
            mouseout: 'mouseleave'
        }, function(orig, fix) {
            jQuery.event.special[fix] =3D {
                setup: function() {
                    jQuery.event.add(this, orig, withinElement, fix);
                },
                teardown: function() {
                    jQuery.event.remove(this, orig, withinElement);
                }
            };
        });

        jQuery.fn.extend({
            bind: function(type, data, fn) {
                return type =3D=3D "unload" ? this.one(type, data, fn) : =
this.each(function() {
                    jQuery.event.add(this, type, fn || data, fn && =
data);
                });
            },

            one: function(type, data, fn) {
                var one =3D jQuery.event.proxy(fn || data, =
function(event) {
                    jQuery(this).unbind(event, one);
                    return (fn || data).apply(this, arguments);
                });
                return this.each(function() {
                    jQuery.event.add(this, type, one, fn && data);
                });
            },

            unbind: function(type, fn) {
                return this.each(function() {
                    jQuery.event.remove(this, type, fn);
                });
            },

            trigger: function(type, data) {
                return this.each(function() {
                    jQuery.event.trigger(type, data, this);
                });
            },

            triggerHandler: function(type, data) {
                if (this[0]) {
                    var event =3D jQuery.Event(type);
                    event.preventDefault();
                    event.stopPropagation();
                    jQuery.event.trigger(event, data, this[0]);
                    return event.result;
                }
            },

            toggle: function(fn) {
                // Save reference to arguments for access in closure
                var args =3D arguments, i =3D 1;

                // link all the functions, so any of them can unbind =
this click handler
                while (i < args.length)
                    jQuery.event.proxy(fn, args[i++]);

                return this.click(jQuery.event.proxy(fn, function(event) =
{
                    // Figure out which function to execute
                    this.lastToggle =3D (this.lastToggle || 0) % i;

                    // Make sure that clicks stop
                    event.preventDefault();

                    // and execute the function
                    return args[this.lastToggle++].apply(this, =
arguments) || false;
                }));
            },

            hover: function(fnOver, fnOut) {
                return this.mouseenter(fnOver).mouseleave(fnOut);
            },

            ready: function(fn) {
                // Attach the listeners
                bindReady();

                // If the DOM is already ready
                if (jQuery.isReady)
                // Execute the function immediately
                    fn.call(document, jQuery);

                // Otherwise, remember the function for later
                else
                // Add the function to the wait list
                    jQuery.readyList.push(fn);

                return this;
            },

            live: function(type, fn) {
                var proxy =3D jQuery.event.proxy(fn);
                proxy.guid +=3D this.selector + type;

                jQuery(document).bind(liveConvert(type, this.selector), =
this.selector, proxy);

                return this;
            },

            die: function(type, fn) {
                jQuery(document).unbind(liveConvert(type, =
this.selector), fn ? { guid: fn.guid + this.selector + type} : null);
                return this;
            }
        });

        function liveHandler(event) {
            var check =3D RegExp("(^|\\.)" + event.type + "(\\.|$)"),
		    stop =3D true,
		    elems =3D [];

            jQuery.each(jQuery.data(this, "events").live || [], =
function(i, fn) {
                if (check.test(fn.type)) {
                    var elem =3D =
jQuery(event.target).closest(fn.data)[0];
                    if (elem)
                        elems.push({ elem: elem, fn: fn });
                }
            });

            elems.sort(function(a, b) {
                return jQuery.data(a.elem, "closest") - =
jQuery.data(b.elem, "closest");
            });

            jQuery.each(elems, function() {
                if (this.fn.call(this.elem, event, this.fn.data) =
=3D=3D=3D false)
                    return (stop =3D false);
            });

            return stop;
        }

        function liveConvert(type, selector) {
            return ["live", type, selector.replace(/\./g, "`").replace(/ =
/g, "|")].join(".");
        }

        jQuery.extend({
            isReady: false,
            readyList: [],
            // Handle when the DOM is ready
            ready: function() {
                // Make sure that the DOM is not already loaded
                if (!jQuery.isReady) {
                    // Remember that the DOM is ready
                    jQuery.isReady =3D true;

                    // If there are functions bound, to execute
                    if (jQuery.readyList) {
                        // Execute all of them
                        jQuery.each(jQuery.readyList, function() {
                            this.call(document, jQuery);
                        });

                        // Reset the list of functions
                        jQuery.readyList =3D null;
                    }

                    // Trigger any bound ready events
                    jQuery(document).triggerHandler("ready");
                }
            }
        });

        var readyBound =3D false;

        function bindReady() {
            if (readyBound) return;
            readyBound =3D true;

            // Mozilla, Opera and webkit nightlies currently support =
this event
            if (document.addEventListener) {
                // Use the handy event callback
                document.addEventListener("DOMContentLoaded", function() =
{
                    document.removeEventListener("DOMContentLoaded", =
arguments.callee, false);
                    jQuery.ready();
                }, false);

                // If IE event model is used
            } else if (document.attachEvent) {
                // ensure firing before onload,
                // maybe late but safe also for iframes
                document.attachEvent("onreadystatechange", function() {
                    if (document.readyState =3D=3D=3D "complete") {
                        document.detachEvent("onreadystatechange", =
arguments.callee);
                        jQuery.ready();
                    }
                });

                // If IE and not an iframe
                // continually check to see if the document is ready
                if (document.documentElement.doScroll && window =3D=3D =
window.top) (function() {
                    if (jQuery.isReady) return;

                    try {
                        // If IE is used, use the trick by Diego Perini
                        // http://javascript.nwbox.com/IEContentLoaded/
                        document.documentElement.doScroll("left");
                    } catch (error) {
                        setTimeout(arguments.callee, 0);
                        return;
                    }

                    // and execute any waiting functions
                    jQuery.ready();
                })();
            }

            // A fallback to window.onload, that will always work
            jQuery.event.add(window, "load", jQuery.ready);
        }

        =
jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick," +
	    =
"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," =
+
	    "change,select,submit,keydown,keypress,keyup,error").split(","), =
function(i, name) {

	        // Handle event binding
	        jQuery.fn[name] =3D function(fn) {
	            return fn ? this.bind(name, fn) : this.trigger(name);
	        };
	    });

        // Prevent memory leaks in IE
        // And prevent errors on refresh with events like mouseover in =
other browsers
        // Window isn't included so as not to unbind existing unload =
events
        jQuery(window).bind('unload', function() {
            for (var id in jQuery.cache)
            // Skip the window
                if (id !=3D 1 && jQuery.cache[id].handle)
                jQuery.event.remove(jQuery.cache[id].handle.elem);
        });
        (function() {

            jQuery.support =3D {};

            var root =3D document.documentElement,
		    script =3D document.createElement("script"),
		    div =3D document.createElement("div"),
		    id =3D "script" + (new Date).getTime();

            div.style.display =3D "none";
            div.innerHTML =3D '   <link/><table></table><a href=3D"/a" =
style=3D"color:red;float:left;opacity:.5;">a</a><select><option>text</opt=
ion></select><object><param/></object>';

            var all =3D div.getElementsByTagName("*"),
		    a =3D div.getElementsByTagName("a")[0];

            // Can't get basic test support
            if (!all || !all.length || !a) {
                return;
            }

            jQuery.support =3D {
                // IE strips leading whitespace when .innerHTML is used
                leadingWhitespace: div.firstChild.nodeType =3D=3D 3,

                // Make sure that tbody elements aren't automatically =
inserted
                // IE will insert them into empty tables
                tbody: !div.getElementsByTagName("tbody").length,

                // Make sure that you can get all elements in an =
<object> element
                // IE 7 always returns no results
                objectAll: !!div.getElementsByTagName("object")[0]
			    .getElementsByTagName("*").length,

                // Make sure that link elements get serialized correctly =
by innerHTML
                // This requires a wrapper element in IE
                htmlSerialize: =
!!div.getElementsByTagName("link").length,

                // Get the style information from getAttribute
                // (IE uses .cssText insted)
                style: /red/.test(a.getAttribute("style")),

                // Make sure that URLs aren't manipulated
                // (IE normalizes it by default)
                hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",

                // Make sure that element opacity exists
                // (IE uses filter instead)
                opacity: a.style.opacity =3D=3D=3D "0.5",

                // Verify style float existence
                // (IE uses styleFloat instead of cssFloat)
                cssFloat: !!a.style.cssFloat,

                // Will be defined later
                scriptEval: false,
                noCloneEvent: true,
                boxModel: null
            };

            script.type =3D "text/javascript";
            try {
                script.appendChild(document.createTextNode("window." + =
id + "=3D1;"));
            } catch (e) { }

            root.insertBefore(script, root.firstChild);

            // Make sure that the execution of code works by injecting a =
script
            // tag with appendChild/createTextNode
            // (IE doesn't support this, fails, and uses .text instead)
            if (window[id]) {
                jQuery.support.scriptEval =3D true;
                delete window[id];
            }

            root.removeChild(script);

            if (div.attachEvent && div.fireEvent) {
                div.attachEvent("onclick", function() {
                    // Cloning a node shouldn't copy over any
                    // bound event handlers (IE does this)
                    jQuery.support.noCloneEvent =3D false;
                    div.detachEvent("onclick", arguments.callee);
                });
                div.cloneNode(true).fireEvent("onclick");
            }

            // Figure out if the W3C box model works as expected
            // document.body must exist before we can do this
            jQuery(function() {
                var div =3D document.createElement("div");
                div.style.width =3D div.style.paddingLeft =3D "1px";
                // Ektron Begin
                // Ektron Note: added try/catch block to get around =
document.body is null or not an object
                //              see jQuery Ticket #6018 (supposedly =
fixed in jQuery v1.4)
                try {
                // Ektron End
                    document.body.appendChild(div);
                    jQuery.boxModel =3D jQuery.support.boxModel =3D =
div.offsetWidth =3D=3D=3D 2;
                    document.body.removeChild(div).style.display =3D =
'none';
                // Ektron Begin
                }
                catch (e) { }
                // Ektron End
                div =3D null;

            });
        })();

        var styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : =
"styleFloat";

        jQuery.props =3D {
            "for": "htmlFor",
            "class": "className",
            "float": styleFloat,
            cssFloat: styleFloat,
            styleFloat: styleFloat,
            readonly: "readOnly",
            maxlength: "maxLength",
            cellspacing: "cellSpacing",
            rowspan: "rowSpan",
            tabindex: "tabIndex"
        };
        jQuery.fn.extend({
            // Keep a copy of the old load
            _load: jQuery.fn.load,

            load: function(url, params, callback) {
                if (typeof url !=3D=3D "string")
                    return this._load(url);

                var off =3D url.indexOf(" ");
                if (off >=3D 0) {
                    var selector =3D url.slice(off, url.length);
                    url =3D url.slice(0, off);
                }

                // Default to a GET request
                var type =3D "GET";

                // If the second parameter was provided
                if (params)
                // If it's a function
                    if (jQuery.isFunction(params)) {
                    // We assume that it's the callback
                    callback =3D params;
                    params =3D null;

                    // Otherwise, build a param string
                } else if (typeof params =3D=3D=3D "object") {
                    params =3D jQuery.param(params);
                    type =3D "POST";
                }

                var self =3D this;

                // Request the remote document
                jQuery.ajax({
                    url: url,
                    type: type,
                    dataType: "html",
                    data: params,
                    complete: function(res, status) {
                        // If successful, inject the HTML into all the =
matched elements
                        if (status =3D=3D "success" || status =3D=3D =
"notmodified")
                        // See if a selector was specified
                            self.html(selector ?
                        // Create a dummy div to hold the results
						    jQuery("<div/>")
                        // inject the contents of the document in, =
removing the scripts
                        // to avoid any 'Permission Denied' errors in IE
							    .append(res.responseText.replace(/<script(.|\s)*?\/script>/g, =
""))

                        // Locate the specified elements
							    .find(selector) :

                        // If not, just inject the full result
						    res.responseText);

                        if (callback)
                            self.each(callback, [res.responseText, =
status, res]);
                    }
                });
                return this;
            },

            serialize: function() {
                return jQuery.param(this.serializeArray());
            },
            serializeArray: function() {
                return this.map(function() {
                    return this.elements ? =
jQuery.makeArray(this.elements) : this;
                })
		    .filter(function() {
		        return this.name && !this.disabled &&
				    (this.checked || /select|textarea/i.test(this.nodeName) ||
					    /text|hidden|password|search/i.test(this.type));
		    })
		    .map(function(i, elem) {
		        var val =3D jQuery(this).val();
		        return val =3D=3D null ? null :


				    jQuery.isArray(val) ?
					    jQuery.map(val, function(val, i) {
					        return { name: elem.name, value: val };
					    }) :
					    { name: elem.name, value: val };
		    }).get();
            }
        });

        // Attach a bunch of functions for handling common AJAX events
        =
jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSe=
nd".split(","), function(i, o) {
            jQuery.fn[o] =3D function(f) {
                return this.bind(o, f);
            };
        });

        var jsc =3D now();

        jQuery.extend({

            get: function(url, data, callback, type) {
                // shift arguments if data argument was ommited
                if (jQuery.isFunction(data)) {
                    callback =3D data;
                    data =3D null;
                }

                return jQuery.ajax({
                    type: "GET",
                    url: url,
                    data: data,
                    success: callback,
                    dataType: type
                });
            },

            getScript: function(url, callback) {
                return jQuery.get(url, null, callback, "script");
            },

            getJSON: function(url, data, callback) {
                return jQuery.get(url, data, callback, "json");
            },

            post: function(url, data, callback, type) {
                if (jQuery.isFunction(data)) {
                    callback =3D data;
                    data =3D {};
                }

                return jQuery.ajax({
                    type: "POST",
                    url: url,
                    data: data,
                    success: callback,
                    dataType: type
                });
            },

            ajaxSetup: function(settings) {
                jQuery.extend(jQuery.ajaxSettings, settings);
            },

            ajaxSettings: {
                url: location.href,
                global: true,
                type: "GET",
                contentType: "application/x-www-form-urlencoded",
                processData: true,
                async: true,
                /*
                timeout: 0,
                data: null,
                username: null,
                password: null,
                */
                // Create the request object; Microsoft failed to =
properly
                // implement the XMLHttpRequest in IE7, so we use the =
ActiveXObject when it is available
                // This function can be overriden by calling =
jQuery.ajaxSetup
                xhr: function() {
                    return window.ActiveXObject ? new =
ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
                },
                accepts: {
                    xml: "application/xml, text/xml",
                    html: "text/html",
                    script: "text/javascript, application/javascript",
                    json: "application/json, text/javascript",
                    text: "text/plain",
                    _default: "*/*"
                }
            },

            // Last-Modified header cache for next request
            lastModified: {},

            ajax: function(s) {
                // Extend the settings, but re-extend 's' so that it can =
be
                // checked again later (in the test suite, specifically)
                s =3D jQuery.extend(true, s, jQuery.extend(true, {}, =
jQuery.ajaxSettings, s));

                var jsonp, jsre =3D /=3D\?(&|$)/g, status, data,
			    type =3D s.type.toUpperCase();

                // convert data if not already a string
                if (s.data && s.processData && typeof s.data !=3D=3D =
"string")
                    s.data =3D jQuery.param(s.data);

                // Handle JSONP Parameter Callbacks
                if (s.dataType =3D=3D "jsonp") {
                    if (type =3D=3D "GET") {
                        if (!s.url.match(jsre))
                            s.url +=3D (s.url.match(/\?/) ? "&" : "?") + =
(s.jsonp || "callback") + "=3D?";
                    } else if (!s.data || !s.data.match(jsre))
                        s.data =3D (s.data ? s.data + "&" : "") + =
(s.jsonp || "callback") + "=3D?";
                    s.dataType =3D "json";
                }

                // Build temporary JSONP function
                if (s.dataType =3D=3D "json" && (s.data && =
s.data.match(jsre) || s.url.match(jsre))) {
                    jsonp =3D "jsonp" + jsc++;

                    // Replace the =3D? sequence both in the query =
string and the data
                    if (s.data)
                        s.data =3D (s.data + "").replace(jsre, "=3D" + =
jsonp + "$1");
                    s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");

                    // We need to make sure
                    // that a JSONP style response is executed properly
                    s.dataType =3D "script";

                    // Handle JSONP-style loading
                    window[jsonp] =3D function(tmp) {
                        data =3D tmp;
                        success();
                        complete();
                        // Garbage collect
                        window[jsonp] =3D undefined;
                        try { delete window[jsonp]; } catch (e) { }
                        if (head)
                            head.removeChild(script);
                    };
                }

                if (s.dataType =3D=3D "script" && s.cache =3D=3D null)
                    s.cache =3D false;

                if (s.cache =3D=3D=3D false && type =3D=3D "GET") {
                    var ts =3D now();
                    // try replacing _=3D if it is there
                    var ret =3D s.url.replace(/(\?|&)_=3D.*?(&|$)/, =
"$1_=3D" + ts + "$2");
                    // if nothing was replaced, add timestamp to the end
                    s.url =3D ret + ((ret =3D=3D s.url) ? =
(s.url.match(/\?/) ? "&" : "?") + "_=3D" + ts : "");
                }

                // If data is available, append data to url for get =
requests
                if (s.data && type =3D=3D "GET") {
                    s.url +=3D (s.url.match(/\?/) ? "&" : "?") + s.data;

                    // IE likes to send both get and post data, prevent =
this
                    s.data =3D null;
                }

                // Watch for a new set of requests
                if (s.global && !jQuery.active++)
                    jQuery.event.trigger("ajaxStart");

                // Matches an absolute URL, and saves the domain
                var parts =3D /^(\w+:)?\/\/([^\/?#]+)/.exec(s.url);

                // If we're requesting a remote document
                // and trying to load JSON or Script with a GET
                if (s.dataType =3D=3D "script" && type =3D=3D "GET" && =
parts
			    && (parts[1] && parts[1] !=3D location.protocol || parts[2] !=3D =
location.host)) {

                    var head =3D =
document.getElementsByTagName("head")[0];
                    var script =3D document.createElement("script");
                    script.src =3D s.url;
                    if (s.scriptCharset)
                        script.charset =3D s.scriptCharset;

                    // Handle Script loading
                    if (!jsonp) {
                        var done =3D false;

                        // Attach handlers for all browsers
                        script.onload =3D script.onreadystatechange =3D =
function() {
                            if (!done && (!this.readyState ||
							    this.readyState =3D=3D "loaded" || this.readyState =3D=3D =
"complete")) {
                                done =3D true;
                                success();
                                complete();

                                // Handle memory leak in IE
                                script.onload =3D =
script.onreadystatechange =3D null;
                                head.removeChild(script);
                            }
                        };
                    }

                    head.appendChild(script);

                    // We handle everything using the script element =
injection
                    return undefined;
                }

                var requestDone =3D false;

                // Create the request object
                var xhr =3D s.xhr();

                // Open the socket
                // Passing null username, generates a login popup on =
Opera (#2865)
                if (s.username)
                    xhr.open(type, s.url, s.async, s.username, =
s.password);
                else
                    xhr.open(type, s.url, s.async);

                // Need an extra try/catch for cross domain requests in =
Firefox 3
                try {
                    // Set the correct header, if data is being sent
                    if (s.data)
                        xhr.setRequestHeader("Content-Type", =
s.contentType);

                    // Set the If-Modified-Since header, if ifModified =
mode.
                    if (s.ifModified)
                        xhr.setRequestHeader("If-Modified-Since",
					    jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT");

                    // Set header so the called script knows that it's =
an XMLHttpRequest
                    xhr.setRequestHeader("X-Requested-With", =
"XMLHttpRequest");

                    // Set the Accepts header for the server, depending =
on the dataType
                    xhr.setRequestHeader("Accept", s.dataType && =
s.accepts[s.dataType] ?
				    s.accepts[s.dataType] + ", */*" :
				    s.accepts._default);
                } catch (e) { }

                // Allow custom headers/mimetypes and early abort
                if (s.beforeSend && s.beforeSend(xhr, s) =3D=3D=3D =
false) {
                    // Handle the global AJAX counter
                    if (s.global && ! --jQuery.active)
                        jQuery.event.trigger("ajaxStop");
                    // close opended socket
                    xhr.abort();
                    return false;
                }

                if (s.global)
                    jQuery.event.trigger("ajaxSend", [xhr, s]);

                // Wait for a response to come back
                var onreadystatechange =3D function(isTimeout) {
                    // The request was aborted, clear the interval and =
decrement jQuery.active
                    if (xhr.readyState =3D=3D 0) {
                        if (ival) {
                            // clear poll interval
                            clearInterval(ival);
                            ival =3D null;
                            // Handle the global AJAX counter
                            if (s.global && ! --jQuery.active)
                                jQuery.event.trigger("ajaxStop");
                        }
                        // The transfer is complete and the data is =
available, or the request timed out
                    } else if (!requestDone && xhr && (xhr.readyState =
=3D=3D 4 || isTimeout =3D=3D "timeout")) {
                        requestDone =3D true;

                        // clear poll interval
                        if (ival) {
                            clearInterval(ival);
                            ival =3D null;
                        }

                        status =3D isTimeout =3D=3D "timeout" ? =
"timeout" :
					    !jQuery.httpSuccess(xhr) ? "error" :
					    s.ifModified && jQuery.httpNotModified(xhr, s.url) ? =
"notmodified" :
					    "success";

                        if (status =3D=3D "success") {
                            // Watch for, and catch, XML document parse =
errors
                            try {
                                // process the data (runs the xml =
through httpData regardless of callback)
                                data =3D jQuery.httpData(xhr, =
s.dataType, s);
                            } catch (e) {
                                status =3D "parsererror";
                            }
                        }

                        // Make sure that the request was successful or =
notmodified
                        if (status =3D=3D "success") {
                            // Cache Last-Modified header, if ifModified =
mode.
                            var modRes;
                            try {
                                modRes =3D =
xhr.getResponseHeader("Last-Modified");
                            } catch (e) { } // swallow exception thrown =
by FF if header is not available

                            if (s.ifModified && modRes)
                                jQuery.lastModified[s.url] =3D modRes;

                            // JSONP handles its own success callback
                            if (!jsonp)
                                success();
                        } else
                            jQuery.handleError(s, xhr, status);

                        // Fire the complete handlers
                        complete();

                        if (isTimeout)
                            xhr.abort();

                        // Stop memory leaks
                        if (s.async)
                            xhr =3D null;
                    }
                };

                if (s.async) {
                    // don't attach the handler to the request, just =
poll it instead
                    var ival =3D setInterval(onreadystatechange, 13);

                    // Timeout checker
                    if (s.timeout > 0)
                        setTimeout(function() {
                            // Check to see if the request is still =
happening
                            if (xhr && !requestDone)
                                onreadystatechange("timeout");
                        }, s.timeout);
                }

                // Send the data
                try {
                    xhr.send(s.data);
                } catch (e) {
                    jQuery.handleError(s, xhr, null, e);
                }

                // firefox 1.5 doesn't fire statechange for sync =
requests
                if (!s.async)
                    onreadystatechange();

                function success() {
                    // If a local callback was specified, fire it and =
pass it the data
                    if (s.success)
                        s.success(data, status);

                    // Fire the global callback
                    if (s.global)
                        jQuery.event.trigger("ajaxSuccess", [xhr, s]);
                }

                function complete() {
                    // Process result
                    if (s.complete)
                        s.complete(xhr, status);

                    // The request was completed
                    if (s.global)
                        jQuery.event.trigger("ajaxComplete", [xhr, s]);

                    // Handle the global AJAX counter
                    if (s.global && ! --jQuery.active)
                        jQuery.event.trigger("ajaxStop");
                }

                // return XMLHttpRequest to allow aborting the request =
etc.
                return xhr;
            },

            handleError: function(s, xhr, status, e) {
                // If a local callback was specified, fire it
                if (s.error) s.error(xhr, status, e);

                // Fire the global callback
                if (s.global)
                    jQuery.event.trigger("ajaxError", [xhr, s, e]);
            },

            // Counter for holding the number of active queries
            active: 0,

            // Determines if an XMLHttpRequest was successful or not
            httpSuccess: function(xhr) {
                try {
                    // IE error sometimes returns 1223 when it should be =
204 so treat it as success, see #1450
                    return !xhr.status && location.protocol =3D=3D =
"file:" ||
				    (xhr.status >=3D 200 && xhr.status < 300) || xhr.status =3D=3D =
304 || xhr.status =3D=3D 1223;
                } catch (e) { }
                return false;
            },

            // Determines if an XMLHttpRequest returns NotModified
            httpNotModified: function(xhr, url) {
                try {
                    var xhrRes =3D =
xhr.getResponseHeader("Last-Modified");

                    // Firefox always returns 200. check Last-Modified =
date
                    return xhr.status =3D=3D 304 || xhrRes =3D=3D =
jQuery.lastModified[url];
                } catch (e) { }
                return false;
            },

            httpData: function(xhr, type, s) {
                var ct =3D xhr.getResponseHeader("content-type"),
			    xml =3D type =3D=3D "xml" || !type && ct && ct.indexOf("xml") =
>=3D 0,
			    data =3D xml ? xhr.responseXML : xhr.responseText;

                if (xml && data.documentElement.tagName =3D=3D =
"parsererror")
                    throw "parsererror";

                // Allow a pre-filtering function to sanitize the =
response
                // s !=3D null is checked to keep backwards =
compatibility
                if (s && s.dataFilter)
                    data =3D s.dataFilter(data, type);

                // The filter can actually parse the response
                if (typeof data =3D=3D=3D "string") {

                    // If the type is "script", eval it in global =
context
                    if (type =3D=3D "script")
                        jQuery.globalEval(data);

                    // Get the JavaScript object, if JSON is used.
                    if (type =3D=3D "json")
                        data =3D window["eval"]("(" + data + ")");
                }

                return data;
            },

            // Serialize an array of form elements or a set of
            // key/values into a query string
            param: function(a) {
                var s =3D [];

                function add(key, value) {
                    s[s.length] =3D encodeURIComponent(key) + '=3D' + =
encodeURIComponent(value);
                };

                // If an array was passed in, assume that it is an array
                // of form elements
                if (jQuery.isArray(a) || a.jquery)
                // Serialize the form elements
                    jQuery.each(a, function() {
                        add(this.name, this.value);
                    });

                // Otherwise, assume that it's an object of key/value =
pairs
                else
                // Serialize the key/values
                    for (var j in a)
                // If the value is an array then the key names need to =
be repeated
                    if (jQuery.isArray(a[j]))
                    jQuery.each(a[j], function() {
                        add(j, this);
                    });
                else
                    add(j, jQuery.isFunction(a[j]) ? a[j]() : a[j]);

                // Return the resulting serialization
                return s.join("&").replace(/%20/g, "+");
            }

        });
        var elemdisplay =3D {},
	    timerId,
	    fxAttrs =3D [
        // height animations
		    ["height", "marginTop", "marginBottom", "paddingTop", =
"paddingBottom"],
        // width animations
		    ["width", "marginLeft", "marginRight", "paddingLeft", =
"paddingRight"],
        // opacity animations
		    ["opacity"]
	    ];

        function genFx(type, num) {
            var obj =3D {};
            jQuery.each(fxAttrs.concat.apply([], fxAttrs.slice(0, num)), =
function() {
                obj[this] =3D type;
            });
            return obj;
        }

        jQuery.fn.extend({
            show: function(speed, callback) {
                if (speed) {
                    return this.animate(genFx("show", 3), speed, =
callback);
                } else {
                    for (var i =3D 0, l =3D this.length; i < l; i++) {
                        var old =3D jQuery.data(this[i], "olddisplay");

                        this[i].style.display =3D old || "";

                        if (jQuery.css(this[i], "display") =3D=3D=3D =
"none") {
                            var tagName =3D this[i].tagName, display;

                            if (elemdisplay[tagName]) {
                                display =3D elemdisplay[tagName];
                            } else {
                                var elem =3D jQuery("<" + tagName + " =
/>").appendTo("body");

                                display =3D elem.css("display");
                                if (display =3D=3D=3D "none")
                                    display =3D "block";

                                elem.remove();

                                elemdisplay[tagName] =3D display;
                            }

                            jQuery.data(this[i], "olddisplay", display);
                        }
                    }

                    // Set the display of the elements in a second loop
                    // to avoid the constant reflow
                    for (var i =3D 0, l =3D this.length; i < l; i++) {
                        this[i].style.display =3D jQuery.data(this[i], =
"olddisplay") || "";
                    }

                    return this;
                }
            },

            hide: function(speed, callback) {
                if (speed) {
                    return this.animate(genFx("hide", 3), speed, =
callback);
                } else {
                    for (var i =3D 0, l =3D this.length; i < l; i++) {
                        var old =3D jQuery.data(this[i], "olddisplay");
                        if (!old && old !=3D=3D "none")
                            jQuery.data(this[i], "olddisplay", =
jQuery.css(this[i], "display"));
                    }

                    // Set the display of the elements in a second loop
                    // to avoid the constant reflow
                    for (var i =3D 0, l =3D this.length; i < l; i++) {
                        this[i].style.display =3D "none";
                    }

                    return this;
                }
            },

            // Save the old toggle function
            _toggle: jQuery.fn.toggle,

            toggle: function(fn, fn2) {
                var bool =3D typeof fn =3D=3D=3D "boolean";

                return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
			    this._toggle.apply(this, arguments) :
			    fn =3D=3D null || bool ?
				    this.each(function() {
				        var state =3D bool ? fn : jQuery(this).is(":hidden");
				        jQuery(this)[state ? "show" : "hide"]();
				    }) :
				    this.animate(genFx("toggle", 3), fn, fn2);
            },

            fadeTo: function(speed, to, callback) {
                return this.animate({ opacity: to }, speed, callback);
            },

            animate: function(prop, speed, easing, callback) {
                var optall =3D jQuery.speed(speed, easing, callback);

                return this[optall.queue =3D=3D=3D false ? "each" : =
"queue"](function() {

                    var opt =3D jQuery.extend({}, optall), p,
				    hidden =3D this.nodeType =3D=3D 1 && jQuery(this).is(":hidden"),
				    self =3D this;

                    for (p in prop) {
                        if (prop[p] =3D=3D "hide" && hidden || prop[p] =
=3D=3D "show" && !hidden)
                            return opt.complete.call(this);

                        if ((p =3D=3D "height" || p =3D=3D "width") && =
this.style) {
                            // Store display property
                            opt.display =3D jQuery.css(this, "display");

                            // Make sure that nothing sneaks out
                            opt.overflow =3D this.style.overflow;
                        }
                    }

                    if (opt.overflow !=3D null)
                        this.style.overflow =3D "hidden";

                    opt.curAnim =3D jQuery.extend({}, prop);

                    jQuery.each(prop, function(name, val) {
                        var e =3D new jQuery.fx(self, opt, name);

                        if (/toggle|show|hide/.test(val))
                            e[val =3D=3D "toggle" ? hidden ? "show" : =
"hide" : val](prop);
                        else {
                            var parts =3D =
val.toString().match(/^([+-]=3D)?([\d+-.]+)(.*)$/),
						    start =3D e.cur(true) || 0;

                            if (parts) {
                                var end =3D parseFloat(parts[2]),
							    unit =3D parts[3] || "px";

                                // We need to compute starting value
                                if (unit !=3D "px") {
                                    self.style[name] =3D (end || 1) + =
unit;
                                    start =3D ((end || 1) / e.cur(true)) =
* start;
                                    self.style[name] =3D start + unit;
                                }

                                // If a +=3D/-=3D token was provided, =
we're doing a relative animation
                                if (parts[1])
                                    end =3D ((parts[1] =3D=3D "-=3D" ? =
-1 : 1) * end) + start;

                                e.custom(start, end, unit);
                            } else
                                e.custom(start, val, "");
                        }
                    });

                    // For JS strict compliance
                    return true;
                });
            },

            stop: function(clearQueue, gotoEnd) {
                var timers =3D jQuery.timers;

                if (clearQueue)
                    this.queue([]);

                this.each(function() {
                    // go in reverse order so anything added to the =
queue during the loop is ignored
                    for (var i =3D timers.length - 1; i >=3D 0; i--)
                        if (timers[i].elem =3D=3D this) {
                        if (gotoEnd)
                        // force the next step to be the last
                            timers[i](true);
                        timers.splice(i, 1);
                    }
                });

                // start the next in the queue if the last step wasn't =
forced
                if (!gotoEnd)
                    this.dequeue();

                return this;
            }

        });

        // Generate shortcuts for custom animations
        jQuery.each({
            slideDown: genFx("show", 1),
            slideUp: genFx("hide", 1),
            slideToggle: genFx("toggle", 1),
            fadeIn: { opacity: "show" },
            fadeOut: { opacity: "hide" }
        }, function(name, props) {
            jQuery.fn[name] =3D function(speed, callback) {
                return this.animate(props, speed, callback);
            };
        });

        jQuery.extend({

            speed: function(speed, easing, fn) {
                var opt =3D typeof speed =3D=3D=3D "object" ? speed : {
                    complete: fn || !fn && easing ||
				    jQuery.isFunction(speed) && speed,
                    duration: speed,
                    easing: fn && easing || easing && =
!jQuery.isFunction(easing) && easing
                };

                opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =
=3D=3D=3D "number" ? opt.duration :
			    jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;

                // Queueing
                opt.old =3D opt.complete;
                opt.complete =3D function() {
                    if (opt.queue !=3D=3D false)
                        jQuery(this).dequeue();
                    if (jQuery.isFunction(opt.old))
                        opt.old.call(this);
                };

                return opt;
            },

            easing: {
                linear: function(p, n, firstNum, diff) {
                    return firstNum + diff * p;
                },
                swing: function(p, n, firstNum, diff) {
                    return ((-Math.cos(p * Math.PI) / 2) + 0.5) * diff + =
firstNum;
                }
            },

            timers: [],

            fx: function(elem, options, prop) {
                this.options =3D options;
                this.elem =3D elem;
                this.prop =3D prop;

                if (!options.orig)
                    options.orig =3D {};
            }

        });

        jQuery.fx.prototype =3D {

            // Simple function for setting a style value
            update: function() {
                if (this.options.step)
                    this.options.step.call(this.elem, this.now, this);

                (jQuery.fx.step[this.prop] || =
jQuery.fx.step._default)(this);

                // Set display property to block for height/width =
animations
                if ((this.prop =3D=3D "height" || this.prop =3D=3D =
"width") && this.elem.style)
                    this.elem.style.display =3D "block";
            },

            // Get the current size
            cur: function(force) {
                if (this.elem[this.prop] !=3D null && (!this.elem.style =
|| this.elem.style[this.prop] =3D=3D null))
                    return this.elem[this.prop];

                var r =3D parseFloat(jQuery.css(this.elem, this.prop, =
force));
                return r && r > -10000 ? r : =
parseFloat(jQuery.curCSS(this.elem, this.prop)) || 0;
            },

            // Start an animation from one number to another
            custom: function(from, to, unit) {
                this.startTime =3D now();
                this.start =3D from;
                this.end =3D to;
                this.unit =3D unit || this.unit || "px";
                this.now =3D this.start;
                this.pos =3D this.state =3D 0;

                var self =3D this;
                function t(gotoEnd) {
                    return self.step(gotoEnd);
                }

                t.elem =3D this.elem;

                if (t() && jQuery.timers.push(t) && !timerId) {
                    timerId =3D setInterval(function() {
                        var timers =3D jQuery.timers;

                        for (var i =3D 0; i < timers.length; i++)
                            if (!timers[i]())
                            timers.splice(i--, 1);

                        if (!timers.length) {
                            clearInterval(timerId);
                            timerId =3D undefined;
                        }
                    }, 13);
                }
            },

            // Simple 'show' function
            show: function() {
                // Remember where we started, so that we can go back to =
it later
                this.options.orig[this.prop] =3D =
jQuery.attr(this.elem.style, this.prop);
                this.options.show =3D true;

                // Begin the animation
                // Make sure that we start at a small width/height to =
avoid any
                // flash of content
                this.custom(this.prop =3D=3D "width" || this.prop =3D=3D =
"height" ? 1 : 0, this.cur());

                // Start by showing the element
                jQuery(this.elem).show();
            },

            // Simple 'hide' function
            hide: function() {
                // Remember where we started, so that we can go back to =
it later
                this.options.orig[this.prop] =3D =
jQuery.attr(this.elem.style, this.prop);
                this.options.hide =3D true;

                // Begin the animation
                this.custom(this.cur(), 0);
            },

            // Each step of an animation
            step: function(gotoEnd) {
                var t =3D now();

                if (gotoEnd || t >=3D this.options.duration + =
this.startTime) {
                    this.now =3D this.end;
                    this.pos =3D this.state =3D 1;
                    this.update();

                    this.options.curAnim[this.prop] =3D true;

                    var done =3D true;
                    for (var i in this.options.curAnim)
                        if (this.options.curAnim[i] !=3D=3D true)
                        done =3D false;

                    if (done) {
                        if (this.options.display !=3D null) {
                            // Reset the overflow
                            this.elem.style.overflow =3D =
this.options.overflow;

                            // Reset the display
                            this.elem.style.display =3D =
this.options.display;
                            if (jQuery.css(this.elem, "display") =3D=3D =
"none")
                                this.elem.style.display =3D "block";
                        }

                        // Hide the element if the "hide" operation was =
done
                        if (this.options.hide)
                            jQuery(this.elem).hide();

                        // Reset the properties, if the item has been =
hidden or shown
                        if (this.options.hide || this.options.show)
                            for (var p in this.options.curAnim)
                            jQuery.attr(this.elem.style, p, =
this.options.orig[p]);

                        // Execute the complete function
                        this.options.complete.call(this.elem);
                    }

                    return false;
                } else {
                    var n =3D t - this.startTime;
                    this.state =3D n / this.options.duration;

                    // Perform the easing function, defaults to swing
                    this.pos =3D jQuery.easing[this.options.easing || =
(jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, =
this.options.duration);
                    this.now =3D this.start + ((this.end - this.start) * =
this.pos);

                    // Perform the next step of the animation
                    this.update();
                }

                return true;
            }

        };

        jQuery.extend(jQuery.fx, {
            speeds: {
                slow: 600,
                fast: 200,
                // Default speed
                _default: 400
            },
            step: {

                opacity: function(fx) {
                    jQuery.attr(fx.elem.style, "opacity", fx.now);
                },

                _default: function(fx) {
                    if (fx.elem.style && fx.elem.style[fx.prop] !=3D =
null)
                        fx.elem.style[fx.prop] =3D fx.now + fx.unit;
                    else
                        fx.elem[fx.prop] =3D fx.now;
                }
            }
        });
        if (document.documentElement["getBoundingClientRect"])
            jQuery.fn.offset =3D function() {
                if (!this[0]) return { top: 0, left: 0 };
                if (this[0] =3D=3D=3D this[0].ownerDocument.body) return =
jQuery.offset.bodyOffset(this[0]);
                var box =3D this[0].getBoundingClientRect(), doc =3D =
this[0].ownerDocument, body =3D doc.body, docElem =3D =
doc.documentElement,
			    clientTop =3D docElem.clientTop || body.clientTop || 0, =
clientLeft =3D docElem.clientLeft || body.clientLeft || 0,
			    top =3D box.top + (self.pageYOffset || jQuery.boxModel && =
docElem.scrollTop || body.scrollTop) - clientTop,
			    left =3D box.left + (self.pageXOffset || jQuery.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;
                return { top: top, left: left };
            };
        else
            jQuery.fn.offset =3D function() {
                if (!this[0]) return { top: 0, left: 0 };
                if (this[0] =3D=3D=3D this[0].ownerDocument.body) return =
jQuery.offset.bodyOffset(this[0]);
                jQuery.offset.initialized || jQuery.offset.initialize();

                var elem =3D this[0], offsetParent =3D =
elem.offsetParent, prevOffsetParent =3D elem,
			    doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,
			    body =3D doc.body, defaultView =3D doc.defaultView,
			    prevComputedStyle =3D defaultView.getComputedStyle(elem, null),
			    top =3D elem.offsetTop, left =3D elem.offsetLeft;

                while ((elem =3D elem.parentNode) && elem !=3D=3D body =
&& elem !=3D=3D docElem) {
                    computedStyle =3D defaultView.getComputedStyle(elem, =
null);
                    top -=3D elem.scrollTop, left -=3D elem.scrollLeft;
                    if (elem =3D=3D=3D offsetParent) {
                        top +=3D elem.offsetTop, left +=3D =
elem.offsetLeft;
                        if (jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.tagName)))
                            top +=3D =
parseInt(computedStyle.borderTopWidth, 10) || 0,
					    left +=3D parseInt(computedStyle.borderLeftWidth, 10) || 0;
                        prevOffsetParent =3D offsetParent, offsetParent =
=3D elem.offsetParent;
                    }
                    if =
(jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible")
                        top +=3D parseInt(computedStyle.borderTopWidth, =
10) || 0,
				    left +=3D parseInt(computedStyle.borderLeftWidth, 10) || 0;
                    prevComputedStyle =3D computedStyle;
                }

                if (prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static")
                    top +=3D body.offsetTop,
			    left +=3D body.offsetLeft;

                if (prevComputedStyle.position =3D=3D=3D "fixed")
                    top +=3D Math.max(docElem.scrollTop, =
body.scrollTop),
			    left +=3D Math.max(docElem.scrollLeft, body.scrollLeft);

                return { top: top, left: left };
            };

        jQuery.offset =3D {
            initialize: function() {
                if (this.initialized) return;
                var body =3D document.body, container =3D =
document.createElement('div'), innerDiv, checkDiv, table, td, rules, =
prop, bodyMarginTop =3D body.style.marginTop,
			    html =3D '<div =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;"><div></div></div><table =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;" cellpadding=3D"0" =
cellspacing=3D"0"><tr><td></td></tr></table>';

                rules =3D { position: 'absolute', top: 0, left: 0, =
margin: 0, border: 0, width: '1px', height: '1px', visibility: 'hidden' =
};
                for (prop in rules) container.style[prop] =3D =
rules[prop];

                container.innerHTML =3D html;
                body.insertBefore(container, body.firstChild);
                innerDiv =3D container.firstChild, checkDiv =3D =
innerDiv.firstChild, td =3D innerDiv.nextSibling.firstChild.firstChild;

                this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D =
5);
                this.doesAddBorderForTableAndCells =3D (td.offsetTop =
=3D=3D=3D 5);

                innerDiv.style.overflow =3D 'hidden', =
innerDiv.style.position =3D 'relative';
                this.subtractsBorderForOverflowNotVisible =3D =
(checkDiv.offsetTop =3D=3D=3D -5);

                body.style.marginTop =3D '1px';
                this.doesNotIncludeMarginInBodyOffset =3D =
(body.offsetTop =3D=3D=3D 0);
                body.style.marginTop =3D bodyMarginTop;

                body.removeChild(container);
                this.initialized =3D true;
            },

            bodyOffset: function(body) {
                jQuery.offset.initialized || jQuery.offset.initialize();
                var top =3D body.offsetTop, left =3D body.offsetLeft;
                if (jQuery.offset.doesNotIncludeMarginInBodyOffset)
                    top +=3D parseInt(jQuery.curCSS(body, 'marginTop', =
true), 10) || 0,
			    left +=3D parseInt(jQuery.curCSS(body, 'marginLeft', true), 10) =
|| 0;
                return { top: top, left: left };
            }
        };


        jQuery.fn.extend({
            position: function() {
                var left =3D 0, top =3D 0, results;

                if (this[0]) {
                    // Get *real* offsetParent
                    var offsetParent =3D this.offsetParent(),

                    // Get correct offsets
			    offset =3D this.offset(),
			    parentOffset =3D /^body|html$/i.test(offsetParent[0].tagName) ? { =
top: 0, left: 0} : offsetParent.offset();

                    // Subtract element margins
                    // note: when an element has margin: auto the =
offsetLeft and marginLeft
                    // are the same in Safari causing offset.left to =
incorrectly be 0
                    offset.top -=3D num(this, 'marginTop');
                    offset.left -=3D num(this, 'marginLeft');

                    // Add offsetParent borders
                    parentOffset.top +=3D num(offsetParent, =
'borderTopWidth');
                    parentOffset.left +=3D num(offsetParent, =
'borderLeftWidth');

                    // Subtract the two offsets
                    results =3D {
                        top: offset.top - parentOffset.top,
                        left: offset.left - parentOffset.left
                    };
                }

                return results;
            },

            offsetParent: function() {
                var offsetParent =3D this[0].offsetParent || =
document.body;
                while (offsetParent && =
(!/^body|html$/i.test(offsetParent.tagName) && jQuery.css(offsetParent, =
'position') =3D=3D 'static'))
                    offsetParent =3D offsetParent.offsetParent;
                return jQuery(offsetParent);
            }
        });


        // Create scrollLeft and scrollTop methods
        jQuery.each(['Left', 'Top'], function(i, name) {
            var method =3D 'scroll' + name;

            jQuery.fn[method] =3D function(val) {
                if (!this[0]) return null;

                return val !=3D=3D undefined ?

                // Set the scroll offset
			    this.each(function() {
			        this =3D=3D window || this =3D=3D document ?
					    window.scrollTo(
						    !i ? val : jQuery(window).scrollLeft(),
						     i ? val : jQuery(window).scrollTop()
					    ) :
					    this[method] =3D val;
			    }) :

                // Return the scroll offset
			    this[0] =3D=3D window || this[0] =3D=3D document ?
				    self[i ? 'pageYOffset' : 'pageXOffset'] ||
					    jQuery.boxModel && document.documentElement[method] ||
					    document.body[method] :
				    this[0][method];
            };
        });
        // Create innerHeight, innerWidth, outerHeight and outerWidth =
methods
        jQuery.each(["Height", "Width"], function(i, name) {

            var tl =3D i ? "Left" : "Top",  // top or left
		    br =3D i ? "Right" : "Bottom", // bottom or right
		    lower =3D name.toLowerCase();

            // innerHeight and innerWidth
            jQuery.fn["inner" + name] =3D function() {
                return this[0] ?
			    jQuery.css(this[0], lower, false, "padding") :
			    null;
            };

            // outerHeight and outerWidth
            jQuery.fn["outer" + name] =3D function(margin) {
                return this[0] ?
			    jQuery.css(this[0], lower, false, margin ? "margin" : "border") :
			    null;
            };

            var type =3D name.toLowerCase();

            jQuery.fn[type] =3D function(size) {
                // Get window width or height
                return this[0] =3D=3D window ?
                // Everyone else use document.documentElement or =
document.body depending on Quirks vs Standards mode
			    document.compatMode =3D=3D "CSS1Compat" && =
document.documentElement["client" + name] ||
			    document.body["client" + name] :

                // Get document width or height
			    this[0] =3D=3D document ?
                // Either scroll[Width/Height] or offset[Width/Height], =
whichever is greater
				    Math.max(
					    document.documentElement["client" + name],
					    document.body["scroll" + name], =
document.documentElement["scroll" + name],
					    document.body["offset" + name], =
document.documentElement["offset" + name]
				    ) :

                // Get or set width or height on the element
				    size =3D=3D=3D undefined ?
                // Get width or height on the element
					    (this.length ? jQuery.css(this[0], type) : null) :

                // Set the width or height on the element (default to =
pixels if value is unitless)
					    this.css(type, typeof size =3D=3D=3D "string" ? size : size + =
"px");
            };

        });
    })();
	// Ektron - End jQuery

	/*
    **************************************
       Define $ektron
    **************************************
    */
    var $ektron =3D window.$ektron =3D window.jQuery;

    // return $ and jQuery objects as needed
    window.jQuery.noConflict(true);

    // if $ and jQuery were never defined, make them $ektron
    if ("undefined" =3D=3D typeof(window.$))
    {
        window.$ =3D window.$ektron;
    }
    if ("undefined" =3D=3D typeof(window.jQuery))
    {
        window.jQuery =3D window.$ektron;
    }


	/*
    **************************************
       Ektron Namespace
    **************************************
    */
    if ("undefined" =3D=3D typeof Ektron)
    {
    	var Ektron =3D window.Ektron =3D {};
    }
    /*
    If you are creating a new class, add it to the Ektron namespace.
    USAGE:
    (function(){
        Ektron.MyClass =3D function MyClass(...)
        {
        }; // constructor
        // shared public
        Ektron.MyClass.sharedPublic =3D function sharedPublic(...)
        {
        };
        // shared private
        var s_private =3D [];
        function private()
        {
        };
    })(); // Ektron.MyClass
    */

    /*
    **************************************
       Ektron.QueryString Namespace
    **************************************
    */
    Ektron.QueryString =3D {};

    window.location.search.replace(new RegExp( =
"([^?=3D&]+)(=3D([^&]*))?", "g" ),
        function( $0, $1, $2, $3 )
        {
            Ektron.QueryString[$1] =3D $3;
        }
    );

    /*  Use this namespaced object to access any of the QueryString =
parameters
        by key.  For example:

        Given the URL http://www.ektron.com?id=3D224

        To alert the key "id" value we would simply do the following
        Ektron.ready(function()
            {
                alert(Ektron.QueryString["id"]);
            }
        );

	/*
    **************************************
       Ektron.RegExp Namespace
    **************************************
    */
    Ektron.RegExp =3D {};

    Ektron.RegExp.escape =3D function(s)
	{
		return (s+"").replace(Ektron.RegExp.escape.re, "\\$&");
	};
	Ektron.RegExp.escape.re =3D /[^\w\s]/g;

	Ektron.RegExp.Char =3D {};
	Ektron.RegExp.Char.amp =3D /\&/g;
	Ektron.RegExp.Char.lt =3D /</g;
	Ektron.RegExp.Char.gt =3D />/g;
	Ektron.RegExp.Char.apos =3D /\'/g;
	Ektron.RegExp.Char.quot =3D /\"/g;
	Ektron.RegExp.Char.lf =3D /\n/g;
	Ektron.RegExp.Char.cr =3D /\r/g;
	Ektron.RegExp.Char.backslash =3D /\\/g;

	Ektron.RegExp.Entity =3D {};
	Ektron.RegExp.Entity.amp =3D /\&amp;/g;
	Ektron.RegExp.Entity.lt =3D /\&lt;/g;
	Ektron.RegExp.Entity.gt =3D /\&gt;/g;
	Ektron.RegExp.Entity.apos =3D /\&apos;/g;
	Ektron.RegExp.Entity.quot =3D /\&quot;/g;

	Ektron.RegExp.CharacterClass =3D {};

	// IE (as of IE 7) omits non-breaking space and other Unicode space =
separators in "\s".
	Ektron.RegExp.CharacterClass.s =3D "[\t\x0b\f =
\xa0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\n\r\u2028\u2029]";
	/*
	ECMA-262 3rd Edition - December 1999

	15.10.2.12 CharacterClassEscape
	The production CharacterClassEscape :: s evaluates by returning the set =
of characters containing the
	characters that are on the right-hand side of the WhiteSpace (7.2) or =
LineTerminator (7.3)
	productions.

	7.2 White Space
	\u0009 Tab <TAB>
	\u000B Vertical Tab <VT>
	\u000C Form Feed <FF>
	\u0020 Space <SP>
	\u00A0 No-break space <NBSP>
	Other category =93Zs=94 Any other Unicode
	=93space separator=94

	7.3 Line Terminator
	\u000A Line Feed <LF>
	\u000D Carriage Return <CR>
	\u2028 Line separator <LS>
	\u2029 Paragraph separator <PS>

	Unicode Regular Expressions http://unicode.org/reports/tr18/
	Unicode Regular Expression Guidelines =
http://unicode.org/reports/tr18/tr18-6d2.html
	UNICODE CHARACTER DATABASE =
http://www.unicode.org/Public/UNIDATA/UCD.html
	Revision 5.1.0
	Date 2008-03-25
	http://www.unicode.org/Public/UNIDATA/PropList.txt
	# PropList-5.1.0.txt
	# Date: 2008-03-20, 17:55:27 GMT [MD]
	0020          ; White_Space # Zs       SPACE
	00A0          ; White_Space # Zs       NO-BREAK SPACE
	1680          ; White_Space # Zs       OGHAM SPACE MARK
	180E          ; White_Space # Zs       MONGOLIAN VOWEL SEPARATOR
	2000..200A    ; White_Space # Zs  [11] EN QUAD..HAIR SPACE
	202F          ; White_Space # Zs       NARROW NO-BREAK SPACE
	205F          ; White_Space # Zs       MEDIUM MATHEMATICAL SPACE
	3000          ; White_Space # Zs       IDEOGRAPHIC SPACE

	Reference: =
http://en.wikipedia.org/wiki/Space_(punctuation)#Table_of_spaces
	*/

	/*
    **************************************
       Ektron.OnException
    **************************************
    */
    Ektron.OnException =3D function(me, onexception, ex, args, callee)
    /*
		callee is optional

    USAGE: (not a class; this is an event, do not use 'new')
        function myFunction(arg1, arg2, ..., onexception)
        {
	        try
	        {
		        // code
	        }
	        catch (ex)
	        {
		        Ektron.OnException(this, onexception, ex, arguments);
	        }
	        try
	        {
				callback(arg);
	        }
	        catch (ex)
	        {
		        Ektron.OnException(this, onexception, ex, [arg], callback);
	        }
        }
        myObject.myFunction(arg0, arg1, =
Ektron.OnException.returnValue(null)); // return null if error
        myObject.myFunction(arg0, arg1, =
Ektron.OnException.returnArgument(0)); // return arg0 if error
        myObject.myFunction(arg0, arg1, =
Ektron.OnException.returnException); // return error message if error
        myObject.myFunction(arg0, arg1, function(ex, args) // custom =
response if error
        {
	        return "An error occurred. arg1=3D" + args[1] + " Error=3D" + =
ex.message;
        });
    */
    {
        var returnValue; // default undefined
        var method =3D function(){};
        if (callee)
        {
			method =3D callee;
        }
        else if (args && args.callee)
        {
			method =3D args.callee;
        }
        var onexceptionList =3D
        [
			Ektron.onexception // namespace
        ,	me.constructor.onexception // class
        ,	me.onexception // object
        ,	method.onexception // method
        ,	onexception // argument, normally args[args.length-1]
        ];
        for (var i =3D 0; i < onexceptionList.length; i++)
        {
	        var onexception =3D onexceptionList[i];
	        if ("function" =3D=3D typeof onexception && (0 =3D=3D i || =
onexception !=3D onexceptionList[i-1]))
	        {
		        var result =3D onexception.call(me, ex, args, callee);
		        if (typeof result !=3D "undefined") returnValue =3D result;
	        }
        }
        if ("undefined" =3D=3D typeof returnValue)
        {
	        throw ex;
        }
        return returnValue;
    };
    Ektron.OnException.exceptionMessage =3D function(ex, args, callee)
    /*
		args is optioal
		callee is optional
	*/
    {
		var msg =3D "";
        try
        {
			// Have seen 'ex' be a string in FF 2.
			msg =3D ex.message || ex || "";
		}
		catch (exIgnore) {};
        var file =3D "";
        try
        {
			file =3D ex.filename || ex.fileName || ex.sourceURL || "";
			if (file) file =3D "\nFile: " + file;
        }
        catch (exIgnore) {};
        var line =3D "";
        try
        {
			// Have see "permission denied" error in FF 2 when attempting to read =
ex.lineNumber
			line =3D ex.lineNumber || ex.line || "";
			if (line) line =3D "\nLine: " + line;
		}
		catch (exIgnore) {};
		var func =3D "";
        try
        {
			if (callee || (args && args.callee))
			{
				var funcCode =3D String(callee || args.callee);
				var funcCodeLines =3D funcCode.split("\n");
				var max =3D Ektron.OnException.exceptionMessage.maxLinesOfCode;
				if (funcCodeLines && funcCodeLines.length > max)
				{
					funcCodeLines.splice(max, funcCodeLines.length - max);
					funcCode =3D funcCodeLines.join("\n") + "...";
				}
				func +=3D "\n\nFunction:\n" + funcCode + "\n";
				if (args && args.length > 0)
				{
					func +=3D "Arguments:\n";
				}
			}
			if (args && args.length)
			{
				for (var i =3D 0; i < args.length; i++)
				{
					var arg =3D args[i];
					if (arg && "object" =3D=3D typeof arg)
					{
						if (/* ELEMENT_NODE */ 1 =3D=3D arg.nodeType)
						{
							var show =3D "[HTMLElement " + arg.tagName;
							if (arg.id) show +=3D " id=3D\"" + arg.id + "\"";
							if (arg.className) show +=3D " class=3D\"" + arg.className + =
"\"";
							show +=3D "]";
							arg =3D show;
						}
						else if (/* TEXT_NODE */ 3 =3D=3D arg.nodeType)
						{
							arg =3D "[Node \"" + arg.nodeValue + "\"]";
						}
					}
					func +=3D "\n" + arg + "\n";
				}
			}
		}
		catch (exIgnore) {};
        return msg + file + line + func;
    };
    Ektron.OnException.exceptionMessage.maxLinesOfCode =3D 24;

    Ektron.OnException.ignoreException =3D function(ex, args, callee) { =
return null; };
    Ektron.OnException.throwException =3D function(ex, args, callee) { =
throw ex; };
    Ektron.OnException.returnException =3D function(ex, args, callee) { =
return Ektron.OnException.exceptionMessage(ex); };
    Ektron.OnException.returnValue =3D function(v)
    {
        return function(ex, args, callee) { return v; };
    };
    Ektron.OnException.returnArgument =3D function(n)
    {
        return function(ex, args, callee) { if (args && args.length > n) =
return args[n]; };
    };
    Ektron.OnException.alertException =3D function(ex, args, callee) { =
alert(Ektron.OnException.exceptionMessage(ex, args, callee)); };
    Ektron.OnException.consoleException =3D function(ex, args, callee) { =
if (typeof console !=3D "undefined") =
console.error(Ektron.OnException.exceptionMessage(ex, args, callee)); /* =
firebug */ };
	Ektron.OnException.diagException =3D function(ex, args, callee)
	{
		if (document !=3D null && document.cookie && =
document.cookie.indexOf("Ektron.diagException=3D") > -1)
		{
			if (confirm("Click OK to debug or Cancel to continue.\n\n" + =
Ektron.OnException.exceptionMessage(ex, args, callee)))
			{
				debugger;
			}
		}
		return null;
	}


	/*
    **************************************
       Ektron.Class Singleton Object
    **************************************
    */
    // This function implements multiple inheritance and is compatible =
with prototype inheritance.
    Ektron.Class =3D
    {
        functionName : function(fn)
        {
	        if (typeof fn !=3D "function") throw new TypeError("fn must be =
of type Function");
	        var a =3D fn.toString().match(/function (\w+)\(/);
	        return (a !=3D null ? a[1] : "anonymous");
        },
        nonEnumerables : ["toLocaleString", "toString", "valueOf"],
        inherits : function (thisObject, objBase, baseClassName)
        /*
        USAGE:
	        Example 1
	        function MyClass(arg1, arg2, ...)
	        {
		        Ektron.Class.inherits(this, new MyBaseClass(arg1, arg2, ...));
		        this.myMethod =3D function(arg1, arg2, ...)
		        {
			        this.MyBaseClass_myMethod(arg1, arg2, ...); // call base =
class method
		        };
	        }
	        var objMy =3D new MyClass(arg1, arg2, arg3);
	        Example 2
	        function MyClass(base, arg1, arg2, ...)
	        {
		        Ektron.Class.inherits(this, base, "base");
		        this.myMethod =3D function(arg1, arg2, ...)
		        {
			        this.base_myMethod(arg1, arg2, ...); // call base class =
method
		        };
	        }
	        var objMyBase =3D new MyBaseClass(arg1, arg2, ...);
	        var objMy =3D new MyClass(objMyBase, arg1, arg2, arg3);
	        Note: multiple inheritance is supported
        */
        {
	        if (typeof thisObject !=3D "object") throw new =
TypeError("thisObject must be of type Object");
	        if (null =3D=3D=3D thisObject) throw new RangeError("thisObject =
is null");
	        if (typeof objBase !=3D "object") throw new TypeError("objBase =
must be of type Object");
	        if (null =3D=3D=3D objBase) throw new RangeError("objBase is =
null");
	        if (typeof objBase.constructor !=3D "function") throw new =
TypeError("objBase.constructor must be of type Function");
	        if (typeof baseClassName !=3D "string" && typeof baseClassName =
!=3D "undefined") throw new TypeError("baseClassName must be of type =
String or undefined");
	        if ("undefined" =3D=3D typeof baseClassName)
	        {
		        for (var p in objBase.constructor.prototype)
		        {
			        throw new TypeError("baseClassName must be specified when =
objBase is derived using prototype");
		        }
	        }
	        if (typeof baseClassName !=3D "string")
	        {
		        baseClassName =3D =
Ektron.Class.functionName(objBase.constructor);
	        }
	        if ("anonymous" =3D=3D baseClassName) throw new =
TypeError("baseClassName must be specified when objBase constructor is =
anonymous");
	        // Copy properties from base object to thisObject
	        for (var p in objBase)
	        {
		        if (p !=3D "constructor")
		        {
			        thisObject[p] =3D objBase[p];
			        if ("function" =3D=3D typeof objBase[p])
			        {
				        thisObject[baseClassName + "_" + p] =3D objBase[p];
			        }
		        }
	        }
	        for (var i in Ektron.Class.nonEnumerables)
	        {
		        thisObject[baseClassName + "_" + =
Ektron.Class.nonEnumerables[i]] =3D =
objBase[Ektron.Class.nonEnumerables[i]];
	        }
	        return thisObject;
        },
        overrides : function(baseClassName, methods)
        /*
	        baseClassName: (optional) the (arbitrary) name of the base =
class, used to access base methods
	        methods: (optional) array of method names (as strings) to =
override.
			        If undefined, all methods are overridable.
        */
        {
	        if (typeof baseClassName !=3D "string" && typeof baseClassName =
!=3D "undefined") throw new TypeError("baseClassName must be of type =
String or undefined");
	        if (typeof baseClassName !=3D "string") baseClassName =3D =
Ektron.Class.functionName(objBase.constructor);
	        if (typeof methods !=3D "undefined" && methods !=3D null && =
methods.constructor !=3D Array) throw new TypeError("methods must be of =
type Array or undefined");

	        return function (objBase, args)
	        /*
	        USAGE:
		        function MyClass(arg_1, arg_2, ...)
		        {
			        this.myMethod =3D function(arg_m1, arg_m2, ...)
			        {
				        this.base_myMethod(arg_m1, arg_m2, ...); // call base class =
method
			        };
		        }
		        MyClass.overrides =3D Ektron.Class.overrides("base", [ =
"myMethod" ]);
		        var objMyBase =3D new MyBaseClass(arg_b1, arg_b2, ...);
		        MyClass.overrides(objMyBase, [arg_1, arg_2, ...]);
	        */
	        {
		        if (typeof objBase !=3D "object") throw new TypeError("objBase =
must be of type Object");
		        if (null =3D=3D=3D objBase) throw new RangeError("objBase is =
null");
		        if (typeof objBase.constructor !=3D "function") throw new =
TypeError("objBase.constructor must be of type Function");
		        if (typeof args !=3D "object" && typeof args !=3D "undefined") =
throw new TypeError("args must be of type Array or undefined");
		        if ("undefined" =3D=3D typeof args) args =3D [];
		        objBase.constructor =3D this;
		        var name =3D "";
		        // Copy base methods in case they are overridden
		        if ("object" =3D=3D typeof methods && methods.constructor =
=3D=3D Array)
		        {
			        for (var i =3D 0; i < methods.length; i++)
			        {
				        name =3D baseClassName + "_" + methods[i];
				        if ("undefined" =3D=3D typeof objBase[name])
				        {
					        objBase[name] =3D objBase[methods[i]];
				        }
			        }
		        }
		        else
		        {
			        var aryBaseMethods =3D [];
			        for (var p in objBase)
			        {
				        if (("function" =3D=3D typeof objBase[p]) && (p !=3D =
"constructor"))
				        {
					        aryBaseMethods[p] =3D objBase[p];
				        }
			        }
			        for (var p in aryBaseMethods)
			        {
				        name =3D baseClassName + "_" + p;
				        if ("undefined" =3D=3D typeof objBase[name])
				        {
					        objBase[name] =3D aryBaseMethods[p];
				        }
			        }
			        for (var i in Ektron.Class.nonEnumerables)
			        {
				        name =3D baseClassName + "_" + =
Ektron.Class.nonEnumerables[i];
				        if ("undefined" =3D=3D typeof objBase[name])
				        {
					        objBase[name] =3D objBase[Ektron.Class.nonEnumerables[i]];
				        }
			        }
		        }
		        // 'this' is the derived class constructor function
		        this.apply(objBase, args);
		        return objBase;
	        };
        }
    };

	/*
    **************************************
       Ektron.ready Function for "EktronReady" Event
    **************************************
    */
    Ektron.ready =3D function(fn)
	{
	    if (!jQuery.isReady)
	    {
            $ektron(document).ready(fn);
        }
        else
        {
	        $ektron(document).one("EktronReady", function()
	        {
		        try
		        {
			        fn.apply(this, arguments);
		        }
		        catch (ex)
		        {
			        Ektron.OnException.diagException(ex, [fn]);
		        }
	        });
	    }
	};
	// for PageRequestManager
	Ektron.ready.endRequestHandler =3D function(sender, args)
	{
		var objError =3D args.get_error();
		if (objError)
		{
			args.set_errorHandled(true);
			Ektron.OnException.diagException(new Error("Error during Ajax =
request:\n" + objError.message), arguments);
		}
		else
		{
			$ektron(document).trigger("EktronReady", ["endRequest", sender, =
args]);
		}
	};
	// for Page.ClientScript.GetCallbackEventReference, which is JavaScript =
function WebForm_DoCallback
	Ektron.ready.ClientScriptCallbackEvent =3D=20
	{
		eventCallback: function(result, context)
		{
			// note: $ektron.ajaxCallback triggers "EktronReady", ["callback"]
			$ektron(document).trigger("EktronReady", ["callbackEvent", context]);
		}
	,	errorCallback: function(message, context)
		{
			Ektron.OnException.diagException(new Error("Error during Ajax =
DoCallback request:\n" + message), arguments);
		}
	};

	// If RadAjaxControl is already defined at this time, DON'T override =
its _endRequest handler,
	// just add to the MS Ajax endRequest, which will fire after Telerik's.
	if (typeof Sys !=3D "undefined" && Sys.WebForms && =
Sys.WebForms.PageRequestManager && =
Sys.WebForms.PageRequestManager.getInstance() !=3D null)
	{
		=
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(Ektron.ready=
.endRequestHandler);
	}
	else
	{
		$ektron(document).ready(function()
		{
//			if (typeof Telerik !=3D "undefined" && Telerik.Web && =
Telerik.Web.UI && Telerik.Web.UI.RadAjaxControl)
//			{
//				Ektron.Class.overrides("RadAjaxControl", =
["_endRequest"]).call(function()
//				{
//					this._endRequest =3D function()
//					{
//						=
Telerik.Web.UI.RadAjaxControl.prototype.RadAjaxControl__endRequest.apply(=
this, arguments);
//						$ektron(document).trigger("EktronReady", =
["RadAjaxControl.ResponseEnd"]);
//					};
//				}, Telerik.Web.UI.RadAjaxControl.prototype);
////				Ektron.Class.overrides("RadAjaxControl", =
["EvalScriptCode"]).call(function()
////				{
////					this.EvalScriptCode =3D function()
////					{
////						this.RadAjaxControl_EvalScriptCode.apply(this, arguments);
////					};
////				}, Telerik.Web.UI.RadAjaxControl);
//			}
//			else
			if (typeof Sys !=3D "undefined" && Sys.WebForms && =
Sys.WebForms.PageRequestManager && =
Sys.WebForms.PageRequestManager.getInstance() !=3D null)
			{
				=
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(Ektron.ready=
.endRequestHandler);
			}
		});
	}


	Ektron.RegExp.ltrim =3D new RegExp("^" + Ektron.RegExp.CharacterClass.s =
+ "+");
	Ektron.RegExp.rtrim =3D new RegExp(Ektron.RegExp.CharacterClass.s + =
"+$");

    // Ektron speed and correctness improvement
    $ektron.trim =3D function( text )
    {
        return =
(text+"").replace(Ektron.RegExp.ltrim,"").replace(Ektron.RegExp.rtrim,"")=
;
    };

    /*
    **************************************
       Ektron Extensions to the Library
    **************************************
    */
    $ektron.extend(
	{
        // Left Trim method
        ltrim: function(text) { return =
(text+"").replace(Ektron.RegExp.ltrim,""); },
        // Right Trim method
        rtrim: function(text) { return =
(text+"").replace(Ektron.RegExp.rtrim,""); },
       =20
        // method to work around bugs in jquery' offset() when element =
is nested inside relative/absolute elements
        // from: =
http://www.mail-archive.com/jquery-en@googlegroups.com/msg72499.html
        positionedOffset: function(elem) {
            var offsetParent =3D elem.offsetParent(), offset =3D =
elem.offset(), position =3D elem.position();
            if ( !/^body|html$/i.test( offsetParent[ 0 ].tagName ) ) {
                return { left : position.left, top : position.top, from =
: offsetParent }
            } else {
                return { left : offset.left, top : offset.top, from : =
offsetParent }
            }
        },
       =20
        // Method to add new functions to the window.onload event while =
preserving any existing onload functionality
        addLoadEvent: function(fn)
        {
	        var oldOnLoad =3D window.onload;
	        if (typeof window.onload !=3D 'function')
	        {
		        window.onload =3D fn;
	        }
	        else
	        {
		        window.onload =3D function()
		        {
			        oldOnLoad();
			        fn();
		        }
	        }
        },

        // See also $ektron.fn.ajaxCallback
		ajaxCallback: function(uniqueId, data, callback, onexception) // or =
function(options)
		{
			var options =3D ("object" =3D=3D typeof uniqueId ? uniqueId :
			{
				uniqueId: uniqueId,
				data: data,
				success: callback,
				onexception: onexception
			});
			var ajaxSettings =3D $ektron.extend(
			{
				uniqueId: "__Page",
				type: "POST",
				dataType: "html",
				data: "",
				success: function() { },
				onexception: null
			}, options);

			var uniqueId =3D ajaxSettings.uniqueId;
			var data =3D ajaxSettings.data;
			if ("object" =3D=3D typeof data && data !=3D null)
			{
				data =3D $ektron.param(data);
			}
			var successCallback =3D ajaxSettings.success;
			var onexception =3D ajaxSettings.onexception;

			var aryClientManager =3D [];

			$ektron(":hidden[id*=3D'EktronClientManager']").each(function()
			{
				if (this.value)
				{
					var values =3D this.value.split(",");
					for (var i in values)
					{
						var name =3D values[i];
						if (!aryClientManager[name])
						{
							aryClientManager.push(name);
							aryClientManager[name] =3D true;
						}
					}
				}
			});

			return $ektron.ajax($ektron.extend(ajaxSettings,
			{
				data:
				{
					__CALLBACKID: uniqueId,
					__CALLBACKPARAM: data,
					__VIEWSTATE: "",
					EktronClientManager: aryClientManager.join(",")
				},
				success: function(data)
				{
					if ("string" =3D=3D typeof data)
					{
						var aryMatch =3D data.match(/^([0-9]+)\|/);
						if (aryMatch && 2 =3D=3D aryMatch.length)
						{
							var nCount =3D parseInt(aryMatch[1], 10);
							data =3D data.substring(aryMatch[0].length + nCount);
						}
						else
						{
							data =3D data.replace(/^[se]/, "").replace(/0\|$/, "");
						}
					}
					try
					{
						successCallback.apply(this, arguments);
					}
					catch (ex)
					{
						Ektron.OnException(this, onexception, ex, arguments, =
successCallback);
					}
					$ektron(document).trigger("EktronReady", ["callback"]);
				}
			}));
		},

        isEditableElement: function(elem)
        {
			if (!elem) return false;
			var bEditable =3D (true =3D=3D elem.isContentEditable);
			if (elem.ownerDocument)
			{
			    if ("on" =3D=3D elem.ownerDocument.designMode)
			    {
					bEditable =3D true;
					var strContentEditable =3D elem.contentEditable; // FF requires 3.0 =
and later
					if ("false" =3D=3D strContentEditable)
					{
						bEditable =3D false;
					}
					else if (strContentEditable !=3D "true")
					{
						$ektron(elem).parents("[contenteditable]").each(function()
						{
							var strContentEditable =3D this.contentEditable; // FF requires =
3.0 and later
							if ("true" =3D=3D strContentEditable) return false; // break
							if ("false" =3D=3D strContentEditable)
							{
								bEditable =3D false;
								return false; // break
							}
						});
					}
			    }
			    else if ((("INPUT" =3D=3D elem.tagName && ("text" =3D=3D =
elem.type || "" =3D=3D elem.type)) || "TEXTAREA" =3D=3D elem.tagName) && =
!elem.disabled && !elem.readOnly)
			    {
			        bEditable =3D true;
			    }
			}
			return bEditable;
        }
    });

    $ektron.fn.extend(
    {
        unwrapInner: function()
        {
			var ret =3D [];
			this.each(function()
			{
				var $this =3D $ektron(this);
				if (null =3D=3D this.firstChild && null =3D=3D this.lastChild)
				{
					// empty, just remove=20
					$this.remove();
				}
				else if (this.firstChild !=3D null && this.lastChild !=3D null)
				{
					// replace with its children
					var content =3D $this.contents();
					$this.replaceWith(content);
					ret =3D ret.concat(content.get());
				}
				else
				{
					// corrupt DOM (seen in IE 7 when pasting blocking tags in tags w/ =
inline content model, eg, P in SPAN
					// just leave it, but don't add it to the return stack
					Ektron.OnException.diagException(new ReferenceError("Corrupt DOM"), =
[this.nodeName, this.innerHTML]);
				}
		    });
		    return this.pushStack(ret);
        },

        // See also $ektron.ajaxCallback
		ajaxCallback: function(uniqueId, data, callback, onexception) // or =
function(options)
		{
			var me =3D this;
			var options =3D ("object" =3D=3D typeof uniqueId ? uniqueId :
			{
				uniqueId: uniqueId,
				data: data,
				complete: callback,
				onexception: onexception
			});
			var ajaxSettings =3D $ektron.extend(
			{
				success: function() {},
				complete: function() {},
				onexception: null
			}, options);
			var successCallback =3D ajaxSettings.success;
			var completeCallback =3D ajaxSettings.complete;
			var onexception =3D ajaxSettings.onexception;

			$ektron.ajaxCallback($ektron.extend(ajaxSettings,
			{
				success: function(data)
				{
					$ektron.each(me, function()
					{
						$ektron(this).html(data);
					});
					try
					{
						successCallback.apply(me, arguments);
					}
					catch (ex)
					{
						Ektron.OnException(me, onexception, ex, arguments, =
successCallback);
					}
				},
				complete: function()
				{
					try
					{
						completeCallback.apply(me, arguments);
					}
					catch (ex)
					{
						Ektron.OnException(me, onexception, ex, arguments, =
completeCallback);
					}
				},
				onexception: onexception
			}));
			return this;
		},

        // Correct uniqueness for all id attributes and assoc labels.
        // Correct uniqueness for all name attributes.
        makeIdentifiersUnique: function(makeUnique)
        // makeUnique: (optional) function that returns unique =
identifier given an identifier (string)
        {
	        var descendantOrSelf =3D this.find("*").andSelf();
	        var strUniqueSuffix =3D Math.floor(Math.random() * =
1679616).toString(36); // 4 digit alphanum
	        // makeUnique must ensure the new unique 'id' continues to =
match <label for>
	        makeUnique =3D ("function" =3D=3D typeof makeUnique ? =
makeUnique : function(id)
	        {
		        // Remove suffix of "_" 4-digit-alphanum (if it exists), then =
append new suffix
		        return id.replace(/_[0-9a-z]{4}$/,"") + "_" + strUniqueSuffix;
	        });

	        descendantOrSelf.filter("[id]").each(function()
	        {
		        this.id =3D makeUnique(this.id);
	        });

	        descendantOrSelf.filter("label").each(function()
	        {
		        this.htmlFor =3D makeUnique(this.htmlFor);
	        });

	        // caution: do not split id & name uniqueness code b/c for <a>, =
id should equal name,
	        // which won't be the case if the .random() function is called =
twice.

	        descendantOrSelf.filter("[name]").each(function()
	        {
		        try
		        {
			        if ($ektron.browser.msie)
			        {
				        // Microsoft JScript allows the name to be changed at run =
time.
				        // HOWEVER!
				        // This does not cause the name in the programming model to =
change
				        // in the collection of elements, but it does change the =
name used
				        // for submitting elements. The NAME attribute cannot be set =
at run time
				        // on elements dynamically created with the createElement =
method.
				        // To create an element with a name attribute, include the =
attribute
				        // and value when using the createElement method.
				        var strHTML =3D this.outerHTML + "";
				        strHTML =3D strHTML.replace(new RegExp("name=3D" + =
this.name, "g"), "name=3D" + makeUnique(this.name));
				        $ektron(this).replaceWith(strHTML);
			        }
			        else
			        {
				        this.name =3D makeUnique(this.name);
			        }
		        }
		        catch (ex)
		        {
			        // ignore
		        };
	        });

	        return this;
        }
    });

    // Ektron Overrides of the Library
    Ektron.Class.overrides("jquery", ["clone"]).call(function()
    {
        // override methods
        /* Usage:
	        $ektron(selector).clone(true);
	        $ektron(selector).clone(true).makeIdentifiersUnique();
        */
        this.clone =3D function(events)
        {
	        var ret =3D this.jquery_clone.apply(this, arguments);	// pass =
all arguments in case jquery API changes

	        // Copy .value and .checked attributes of form fields
	        var dstFormElements =3D =
ret.find("*").andSelf().filter(":input");
	        if (dstFormElements.length > 0)
	        {
		        var srcFormElements =3D =
this.find("*").andSelf().filter(":input");
		        dstFormElements.each(function(i)
		        {
			        $ektron(this).val( srcFormElements.eq(i).val() );
			        if ("checkbox" =3D=3D this.type || "radio" =3D=3D this.type)
			        {
				        this.checked =3D srcFormElements.get(i).checked;
			        }
		        });
	        }
	        return ret;
        };
    }, $ektron.fn);

    Ektron.Class.overrides("jquery", ["handle"]).call(function()
    {
        this.handle =3D function(event)
        {
	        try
	        {
		        return $ektron.event.jquery_handle.apply(this, arguments); // =
pass all arguments in case jquery API changes
	        }
	        catch (ex)
	        {
	        	Ektron.OnException.diagException(ex, arguments, =
$ektron.event.jquery_handle);
		        return false;
	        }
        };
    }, $ektron.event);
}

Ektron.ready(function(event, eventName)
{
    if ("localhost" =3D=3D location.hostname && typeof SymRealOnLoad =
!=3D "undefined")
    {
        if (document !=3D null && document.cookie && -1 =3D=3D =
document.cookie.indexOf("Ektron.SymantecWarning=3D"))
		{
			var msg =3D "The Symantec ad blocking in your system may prevent some =
web pages from functioning properly. Please consult your IT =
administrator if you need to turn it off. ";
			msg +=3D "\nFor more information, please =
read:\n\nhttp://dev.ektron.com/kb_article.aspx?id=3D24520";
			alert(msg);
			var date =3D new Date();
            var periodInDays =3D 1;
            date.setTime(date.getTime() + (periodInDays * 24 * 60 * 60 * =
1000));
            var expires =3D "expires=3D" + date.toUTCString(); // use =
expires attribute, max-age is not supported by IE
			document.cookie =3D "Ektron.SymantecWarning=3Dtrue; " + expires + "; =
path=3D/";
	    }
	}
});

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/WebResource.axd?d=hyHATbbMvctjQebkjwh-tw2&t=633527605112930887

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, =
validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget =3D eventTarget;
    this.eventArgument =3D eventArgument;
    this.validation =3D validation;
    this.validationGroup =3D validationGroup;
    this.actionUrl =3D actionUrl;
    this.trackFocus =3D trackFocus;
    this.clientSubmit =3D clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
    var validationResult =3D true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) =3D=3D 'function') {
            validationResult =3D =
Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) !=3D "undefined") && =
(options.actionUrl !=3D null) && (options.actionUrl.length > 0)) {
            theForm.action =3D options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus =3D theForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D =
null)) {
                if (typeof(document.activeElement) =3D=3D "undefined") {
                    lastFocus.value =3D options.eventTarget;
                }
                else {
                    var active =3D document.activeElement;
                    if ((typeof(active) !=3D "undefined") && (active =
!=3D null)) {
                        if ((typeof(active.id) !=3D "undefined") && =
(active.id !=3D null) && (active.id.length > 0)) {
                            lastFocus.value =3D active.id;
                        }
                        else if (typeof(active.name) !=3D "undefined") {
                            lastFocus.value =3D active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}
var __pendingCallbacks =3D new Array();
var __synchronousCallBackIndex =3D -1;
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, =
context, errorCallback, useAsync) {
    var postData =3D __theFormPostData +
                "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) =
+
                "&__CALLBACKPARAM=3D" + =
WebForm_EncodeCallback(eventArgument);
    if (theForm["__EVENTVALIDATION"]) {
        postData +=3D "&__EVENTVALIDATION=3D" + =
WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest =3D new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists =3D true;
    try {
        setRequestHeaderMethodExists =3D (xmlRequest && =
xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback =3D new Object();
    callback.eventCallback =3D eventCallback;
    callback.context =3D context;
    callback.errorCallback =3D errorCallback;
    callback.async =3D useAsync;
    var callbackIndex =3D =
WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
    if (!useAsync) {
        if (__synchronousCallBackIndex !=3D -1) {
            __pendingCallbacks[__synchronousCallBackIndex] =3D null;
        }
        __synchronousCallBackIndex =3D callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange =3D WebForm_CallbackComplete;
        callback.xmlRequest =3D xmlRequest;
        xmlRequest.open("POST", theForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded; charset=3Dutf-8");
        xmlRequest.send(postData);
        return;
    }
    callback.xmlRequest =3D new Object();
    var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame =3D document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame =3D document.createElement("IFRAME");
        xmlRequestFrame.width =3D "1";
        xmlRequestFrame.height =3D "1";
        xmlRequestFrame.frameBorder =3D "0";
        xmlRequestFrame.id =3D callbackFrameID;
        xmlRequestFrame.name =3D callbackFrameID;
        xmlRequestFrame.style.position =3D "absolute";
        xmlRequestFrame.style.top =3D "-100px"
        xmlRequestFrame.style.left =3D "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src =3D callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval =3D window.setInterval(function() {
        xmlRequestFrame =3D document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form =
method=3D"post"><input type=3D"hidden" name=3D"__CALLBACKLOADSCRIPT" =
value=3D"t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action =3D theForm.action;
            var count =3D __theFormPostCollection.length;
            var element;
            for (var i =3D 0; i < count; i++) {
                element =3D __theFormPostCollection[i];
                if (element) {
                    var fieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type =3D "hidden";
                    fieldElement.name =3D element.name;
                    fieldElement.value =3D element.value;
                    =
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type =3D "hidden";
            callbackIdFieldElement.name =3D "__CALLBACKID";
            callbackIdFieldElement.value =3D eventTarget;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type =3D "hidden";
            callbackParamFieldElement.name =3D "__CALLBACKPARAM";
            callbackParamFieldElement.value =3D eventArgument;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);=

            if (theForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type =3D "hidden";
                callbackValidationFieldElement.name =3D =
"__EVENTVALIDATION";
                callbackValidationFieldElement.value =3D =
theForm["__EVENTVALIDATION"].value;
                =
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem=
ent);
            }
            var callbackIndexFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type =3D "hidden";
            callbackIndexFieldElement.name =3D "__CALLBACKINDEX";
            callbackIndexFieldElement.value =3D callbackIndex;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);=

            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function WebForm_CallbackComplete() {
    for (var i =3D 0; i < __pendingCallbacks.length; i++) {
        callbackObject =3D __pendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && =
(callbackObject.xmlRequest.readyState =3D=3D 4)) {
            WebForm_ExecuteCallback(callbackObject);
            if (!__pendingCallbacks[i].async) {
                __synchronousCallBackIndex =3D -1;
            }
            __pendingCallbacks[i] =3D null;
            var callbackFrameID =3D "__CALLBACKFRAME" + i;
            var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function WebForm_ExecuteCallback(callbackObject) {
    var response =3D callbackObject.xmlRequest.responseText;
    if (response.charAt(0) =3D=3D "s") {
        if ((typeof(callbackObject.eventCallback) !=3D "undefined") && =
(callbackObject.eventCallback !=3D null)) {
            callbackObject.eventCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else if (response.charAt(0) =3D=3D "e") {
        if ((typeof(callbackObject.errorCallback) !=3D "undefined") && =
(callbackObject.errorCallback !=3D null)) {
            callbackObject.errorCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else {
        var separatorIndex =3D response.indexOf("|");
        if (separatorIndex !=3D -1) {
            var validationFieldLength =3D parseInt(response.substring(0, =
separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField =3D =
response.substring(separatorIndex + 1, separatorIndex + =
validationFieldLength + 1);
                if (validationField !=3D "") {
                    var validationFieldElement =3D =
theForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement =3D =
document.createElement("INPUT");
                        validationFieldElement.type =3D "hidden";
                        validationFieldElement.name =3D =
"__EVENTVALIDATION";
                        theForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value =3D validationField;
                }
                if ((typeof(callbackObject.eventCallback) !=3D =
"undefined") && (callbackObject.eventCallback !=3D null)) {
                    =
callbackObject.eventCallback(response.substring(separatorIndex + =
validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}
function WebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i =3D 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] =3D element;
    return i;
}
var __nonMSDOMBrowser =3D =
(window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1);
var __theFormPostData =3D "";
var __theFormPostCollection =3D new Array();
function WebForm_InitCallback() {
    var count =3D theForm.elements.length;
    var element;
    for (var i =3D 0; i < count; i++) {
        element =3D theForm.elements[i];
        var tagName =3D element.tagName.toLowerCase();
        if (tagName =3D=3D "input") {
            var type =3D element.type;
            if ((type =3D=3D "text" || type =3D=3D "hidden" || type =
=3D=3D "password" ||
                ((type =3D=3D "checkbox" || type =3D=3D "radio") && =
element.checked)) &&
                (element.id !=3D "__EVENTVALIDATION")) {
                WebForm_InitCallbackAddField(element.name, =
element.value);
            }
        }
        else if (tagName =3D=3D "select") {
            var selectCount =3D element.options.length;
            for (var j =3D 0; j < selectCount; j++) {
                var selectChild =3D element.options[j];
                if (selectChild.selected =3D=3D true) {
                    WebForm_InitCallbackAddField(element.name, =
element.value);
                }
            }
        }
        else if (tagName =3D=3D "textarea") {
            WebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function WebForm_InitCallbackAddField(name, value) {
    var nameValue =3D new Object();
    nameValue.name =3D name;
    nameValue.value =3D value;
    __theFormPostCollection[__theFormPostCollection.length] =3D =
nameValue;
    __theFormPostData +=3D WebForm_EncodeCallback(name) + "=3D" + =
WebForm_EncodeCallback(value) + "&";
}
function WebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray =3D new Array();
function WebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) =3D=3D 'undefined') {
        return false;
    }
    var disabledIndex =3D 0;
    for (var i =3D 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__nonMSDOMBrowser) {
            c =3D document.getElementById(__enabledControlArray[i]);
        }
        else {
            c =3D document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled =
=3D=3D true)) {
            c.disabled =3D false;
            __disabledControlArray[disabledIndex++] =3D c;
        }
    }
    setTimeout("WebForm_ReDisableControls()", 0);
    return true;
}
function WebForm_ReDisableControls() {
    for (var i =3D 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled =3D true;
    }
}
function WebForm_FireDefaultButton(event, target) {
    if (event.keyCode =3D=3D 13) {
        var src =3D event.srcElement || event.target;
        if (!src || (src.tagName.toLowerCase() !=3D "textarea")) {
            var defaultButton;
            if (__nonMSDOMBrowser) {
               defaultButton =3D document.getElementById(target);
            }
            else {
                defaultButton =3D document.all[target];
            }
            if (defaultButton && typeof(defaultButton.click) !=3D =
"undefined") {
                defaultButton.click();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_GetScrollX() {
    if (__nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function WebForm_GetScrollY() {
    if (__nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function WebForm_SaveScrollPositionSubmit() {
    if (__nonMSDOMBrowser) {
        theForm.elements['__SCROLLPOSITIONY'].value =3D =
window.pageYOffset;
        theForm.elements['__SCROLLPOSITIONX'].value =3D =
window.pageXOffset;
    }
    else {
        theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
        theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit =
!=3D null)) {
        return this.oldSubmit();
    }
    return true;
}
function WebForm_SaveScrollPositionOnSubmit() {
    theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
    theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit =
!=3D null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function WebForm_RestoreScrollPosition() {
    if (__nonMSDOMBrowser) {
        window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, =
theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theForm.__SCROLLPOSITIONX.value, =
theForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theForm.oldOnLoad) !=3D "undefined") && =
(theForm.oldOnLoad !=3D null)) {
        return theForm.oldOnLoad();
    }
    return true;
}
function WebForm_TextBoxKeyHandler(event) {
    if (event.keyCode =3D=3D 13) {
        var target;
        if (__nonMSDOMBrowser) {
            target =3D event.target;
        }
        else {
            target =3D event.srcElement;
        }
        if ((typeof(target) !=3D "undefined") && (target !=3D null)) {
            if (typeof(target.onchange) !=3D "undefined") {
                target.onchange();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_TrimString(value) {
    return value.replace(/^\s+|\s+$/g, '')
}
function WebForm_AppendToClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index =3D=3D=3D -1) {
        element.className =3D (element.className =3D=3D=3D '') ? =
className : element.className + ' ' + className;
    }
}
function WebForm_RemoveClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D =
WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length));
    }
}
function WebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function WebForm_GetElementByTagName(element, tagName) {
    var elements =3D WebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function WebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function WebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return WebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function WebForm_GetElementPosition(element) {
    var result =3D new Object();
    result.x =3D 0;
    result.y =3D 0;
    result.width =3D 0;
    result.height =3D 0;
    if (element.offsetParent) {
        result.x =3D element.offsetLeft;
        result.y =3D element.offsetTop;
        var parent =3D element.offsetParent;
        while (parent) {
            result.x +=3D parent.offsetLeft;
            result.y +=3D parent.offsetTop;
            var parentTagName =3D parent.tagName.toLowerCase();
            if (parentTagName !=3D "table" &&
                parentTagName !=3D "body" &&=20
                parentTagName !=3D "html" &&=20
                parentTagName !=3D "div" &&=20
                parent.clientTop &&=20
                parent.clientLeft) {
                result.x +=3D parent.clientLeft;
                result.y +=3D parent.clientTop;
            }
            parent =3D parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x =3D element.left;
        result.y =3D element.top;
    }
    else {
        if (element.x) {
            result.x =3D element.x;
        }
        if (element.y) {
            result.y =3D element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width =3D element.offsetWidth;
        result.height =3D element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && =
element.style.pixelHeight) {
        result.width =3D element.style.pixelWidth;
        result.height =3D element.style.pixelHeight;
    }
    return result;
}
function WebForm_GetParentByTagName(element, tagName) {
    var parent =3D element.parentNode;
    var upperTagName =3D tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) {
        parent =3D parent.parentNode ? parent.parentNode : =
parent.parentElement;
    }
    return parent;
}
function WebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height =3D height + "px";
    }
}
function WebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width =3D width + "px";
    }
}
function WebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left =3D x + "px";
    }
}
function WebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top =3D y + "px";
    }
}

------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/ScriptResource.axd?d=A8lfkXdg8DDV4b-m3O_IHTxyXlLHJZff2ql-0TXcq43EFHk1edvUo6bR_0VDJPFm0&t=ffffffffc4dd7e7f

=EF=BB=BF// (c) 2010 CodePlex Foundation
(function(g,b){var =
o=3D"object",t=3D"set_",l=3D"#",n=3D"$",k=3D"string",j=3D".",h=3D" =
",s=3D"onreadystatechange",m=3D"load",y=3D"_readyQueue",x=3D"_domReadyQue=
ue",r=3D"error",d=3Dfalse,q=3D"on",a=3Dnull,c=3Dtrue,e=3D"undefined",f=3D=
"function",i=3D"number",A=3Dfunction(a){a=3Da||{};p(arguments,function(b)=
{b&&v(b,function(c,b){a[b]=3Dc})},1);return a},v=3Dfunction(a,c){for(var =
b in a)c(a[b],b)},p=3Dfunction(a,g,h){var d;if(a){a=3Da instanceof =
Array||typeof a.length=3D=3D=3Di&&(typeof =
a.callee=3D=3D=3Df||a.item&&typeof =
a.nodeType=3D=3D=3De&&!a.addEventListener&&!a.attachEvent)?a:[a];for(var =
b=3Dh||0,j=3Da.length;b<j;b++)if(g(a[b],b)){d=3Dc;break}}return!d},u=3Dfu=
nction(b,e,d){var c=3Db[e],a=3Dtypeof c=3D=3D=3Df;a&&c.call(b,d);return =
a};if(!b||!b.loader){function =
M(a){a=3Da||{};p(arguments,function(b){b&&v(b,function(c,b){if(typeof =
a[b]=3D=3D=3De)a[b]=3Dc})},1);return a}var =
z=3D!!document.attachEvent;function C(b,a){var c=3Db[a];delete =
b[a];return c}function =
K(d,b,c){p(C(d,b),function(b){b.apply(a,c||[])})}function =
I(a,c,b){return a?(a[c]=3Da[c]||b):b}function =
G(c,b,a){I(c,b,[]).push(a)}function =
B(b,a){return(a||document).getElementsByTagName(b)}function J(a){return =
document.createElement(a)}function D(b,e,g,i,h,f){function =
c(){if(!z||!h||/loaded|complete/.test(b.readyState)){if(z)b.detachEvent(g=
||q+e,c);else{b.removeEventListener(e,c,d);f&&b.removeEventListener(r,c,d=
)}i.apply(b);b=3Da}}if(z)b.attachEvent(g||q+e,c);else{b.addEventListener(=
e,c,d);f&&b.addEventListener(r,c,d)}}function =
E(){b._domReady&&b._2Pass(C(b,x))}function F(){var =
a=3Db._ready;if(!a&&b._domReady&&!(b.loader&&b.loader._loading))b._ready=3D=
a=3Dc;a&&b._2Pass(C(b,y))}g.Sys=3Db=3DM(b,{version:[3,0,31106,0],__namesp=
ace:c,debug:d,scripts:{},activateDom:c,composites:{},components:{},plugin=
s:{},create:{},converters:{},_domLoaded:function(){if(b._domChecked)retur=
n;b._domChecked=3Dc;function d(){if(!b._domReady){b._domReady=3Dc;var =
d=3Db._autoRequire;d&&b.require(d,function(){b._autoRequire=3Da;K(b,"_aut=
oQueue")},autoToken);E();F()}}D(g,m,a,d);var =
e;if(z)if(g=3D=3Dg.top&&document.documentElement.doScroll){var =
h,i,f=3DJ("div");e=3Dfunction(){try{f.doScroll("left")}catch(b){h=3Dg.set=
Timeout(e,0);return}f=3Da;d()};e()}else D(document,a,s,d,c);else =
document.addEventListener&&D(document,"DOMContentLoaded",a,d)},_getById:f=
unction(b,d,h,f,a,g){if(a)if(f&&a.id=3D=3D=3Dd)b.push(a);else!g&&p(B("*",=
a),function(a){if(a.id=3D=3D=3Dd){b.push(a);return c}});else{var =
e=3Ddocument.getElementById(d);e&&b.push(e)}return =
b.length},_getByClass:function(l,d,g,m,a,n){function i(b){var =
e,a=3Db.className;if(a&&(a=3D=3D=3Dd||a.indexOf(h+d)>=3D0||a.indexOf(d+h)=
>=3D0)){l.push(b);e=3Dc}return e}var b,f,e;if(m&&i(a)&&g)return =
c;if(!n){a=3Da||document;var =
k=3Da.querySelectorAll||a.getElementsByClassName;if(k){if(a.querySelector=
All)d=3Dj+d;e=3Dk.call(a,d);for(b=3D0,f=3De.length;b<f;b++){l.push(e[b]);=
if(g)return =
c}}else{e=3DB("*",a);for(b=3D0,f=3De.length;b<f;b++)if(i(e[b])&&g)return =
c}}},query:function(a,c){return new =
b.ElementSet(a,c)},"get":function(b,a){return a&&typeof =
a.get=3D=3D=3Df?a.get(b):this._find(b,a,c)},_find:function(m,d,f,h){var =
e=3D[],j;if(typeof m=3D=3D=3Dk)j=3D[m];else j=3Dm;var i=3Dd instanceof =
Array,o=3D/^([\$#\.])((\w|[$:\.\-])+)$/,q=3D/^((\w+)|\*)$/;if(typeof =
d=3D=3D=3Dk||d instanceof Array)d=3Db._find(d);if(d instanceof =
b.ElementSet)d=3Dd.get();p(j,function(a){if(typeof =
a!=3D=3Dk)if(h)contains(d,a)&&e.push(a);else e.push(a);else{var =
j=3Do.exec(a);if(j&&j.length=3D=3D=3D4){a=3Dj[2];var =
s=3Dj[1];if(s=3D=3D=3Dn)b._getComponent(e,a,d);else{var =
r=3Ds=3D=3D=3Dl?b._getById:b._getByClass;if(d)p(d,function(b){if(b.nodeTy=
pe=3D=3D=3D1)return r(e,a,f,i,b,h)});else r(e,a,f)}}else =
if(q.test(a))if(d instanceof =
Array)p(d,function(b){if(b.nodeType=3D=3D=3D1){if(i&&(a=3D=3D=3D"*"||b.ta=
gName.toLowerCase()=3D=3D=3Da)){e.push(b);if(f)return =
c}if(!h)if(!p(B(a,b),function(a){e.push(a);if(f)return c}))return =
c}});else{var m=3DB(a,d);if(f){m[0]&&e.push(m[0]);return =
c}p(m,function(a){e.push(a)})}else =
if(g.jQuery){!h&&e.push.apply(e,jQuery(a,d).get());i&&e.push.apply(e,jQue=
ry(d).filter(a).get())}}});return =
e.length?f?e[0]||a:e:a},onDomReady:function(a){G(this,x,a);E()},onReady:f=
unction(a){G(this,y,a);F()},_set:function(a,b){v(b,function(c,b){u(a,"add=
_"+b,c)||u(a,t+b,c)||(a[b]=3Dc)})}});b._getComponent=3Db._getComponent||f=
unction(){};b._2Pass=3Db._2Pass||function(a){p(a,function(a){a()})};var =
w;if(!b.ElementSet){w=3Db.ElementSet=3Dfunction(c,a){this._elements=3Dtyp=
eof a=3D=3D=3Do&&typeof =
a.query=3D=3D=3Df?a.query(c).get():b._find(c,a)||[]};w.prototype=3D{__cla=
ss:c,components:function(d,c){var a=3Dnew =
b.ElementSet(this.get());return new =
b.ComponentSet(a,d,c)},component:function(b,a){return =
this.components(b,a).get(0)},each:function(c){for(var =
b=3Dthis._elements,a=3D0,e=3Db.length;a<e;a++)if(c.call(b[a],a)=3D=3D=3Dd=
)break;return this},"get":function(c){var b=3Dthis._elements;return =
typeof c=3D=3D=3De?Array.apply(a,b):b[c]||a},find:function(a){return new =
b.ElementSet(a,this)},filter:function(a){return new =
b.ElementSet(b._find(a,this._elements,d,c))}}}if(!b.ComponentSet){w=3Db.C=
omponentSet=3Dfunction(a,d,c){this._elementSet=3Da||(a=3Dnew =
b.ElementSet);this._components=3Dthis._execute(a,d,c)};w.prototype=3D{__c=
lass:c,setProperties:function(a){return =
this.each(function(){b._set(this,a)})},"get":function(c){var =
b=3Dthis._components;return typeof =
c=3D=3D=3De?Array.apply(a,b):b[c||0]||a},each:function(a){p(this._compone=
nts,function(b,e){if(a.call(b,e)=3D=3D=3Dd)return c});return =
this},elements:function(){return =
this._elementSet},_execute:function(f,b,c){var a=3D[];function d(c){var =
a;return c instanceof =
b||(a=3Dc.constructor)&&(a=3D=3D=3Db||a.inheritsFrom&&a.inheritsFrom(b)||=
a.implementsInterface&&a.implementsInterface(b))}if(b instanceof =
Array)a.push.apply(a,b);else f.each(function(){var =
c=3Dthis.control;c&&(!b||d(c))&&a.push(c);p(this._behaviors,function(c){(=
!b||d(c))&&a.push(c)})});if(typeof c!=3D=3De)if(a[c])a=3D[a[c]];else =
a=3D[];return a}}}w=3Da}var L=3Dfunction(a,d){if(d)return =
function(){return =
b.plugins[a.name].plugin.apply(this,arguments)};else{var =
c=3Dfunction(){var c=3Darguments.callee,a=3Dc._component;return =
b._createComp.call(this,a,a.defaults,arguments)};c._component=3Da;return =
c}};b._getCreate=3DL;function H(){var =
sb=3D"callback",Q=3D"completed",hb=3D"completedRequest",gb=3D"invokingReq=
uest",vb=3D"Sys.Net.XMLHttpExecutor",M=3D"Content-Type",kb=3D"text/xml",r=
b=3D"SelectionLanguage",fb=3D"navigate",eb=3D"dispose",db=3D"init",L=3D"u=
nload",P=3D"none",cb=3D"HTML",I=3D"absolute",O=3D"BODY",bb=3D"InternetExp=
lorer",ab=3D"disposing",H=3D"+",qb=3D"MonthNames",pb=3D"MonthGenitiveName=
s",Z=3D"Abbreviated",E=3D"-",D=3D"/",Y=3D"yyyy",X=3D"MMMM",W=3D"dddd",B=3D=
100,J=3D"collectionChanged",V=3D"get_",C=3D"propertyChanged",G=3D",",U=3D=
"null",S=3D"Firefox",T=3D"initialize",jb=3D"beginUpdate",y=3D-1,ob=3D"Und=
efined",x=3D"",F=3D"\n",nb=3D"Exception",w,z;b._foreach=3Dp;b._forIn=3Dv;=
b._merge=3DA;b._callIf=3Du;w=3DFunction;w.__typeName=3D"Function";w.__cla=
ss=3Dc;w.createCallback=3Dfunction(b,a){return function(){var =
e=3Darguments.length;if(e>0){for(var =
d=3D[],c=3D0;c<e;c++)d[c]=3Darguments[c];d[e]=3Da;return =
b.apply(this,d)}return =
b.call(this,a)}};w.createDelegate=3Dfunction(a,b){return =
function(){return =
b.apply(a,arguments)}};w.emptyFunction=3Dw.emptyMethod=3Dfunction(){};w.v=
alidateParameters=3Dfunction(c,b,a){return =
Function._validateParams(c,b,a)};w._validateParams=3Dfunction(i,g,e){var =
b,f=3Dg.length;e=3De!=3D=3Dd;b=3DFunction._validateParameterCount(i,g,e);=
if(b){b.popStackFrame();return b}for(var c=3D0,k=3Di.length;c<k;c++){var =
h=3Dg[Math.min(c,f-1)],j=3Dh.name;if(h.parameterArray)j+=3D"["+(c-f+1)+"]=
";else =
if(!e&&c>=3Df)break;b=3DFunction._validateParameter(i[c],h,j);if(b){b.pop=
StackFrame();return b}}return =
a};w._validateParameterCount=3Dfunction(m,g,l){var =
b,f,e=3Dg.length,h=3Dm.length;if(h<e){var i=3De;for(b=3D0;b<e;b++){var =
j=3Dg[b];if(j.optional||j.parameterArray)i--}if(h<i)f=3Dc}else =
if(l&&h>e){f=3Dc;for(b=3D0;b<e;b++)if(g[b].parameterArray){f=3Dd;break}}i=
f(f){var k=3DError.parameterCount();k.popStackFrame();return k}return =
a};w._validateParameter=3Dfunction(d,b,j){var =
c,i=3Db.type,n=3D!!b.integer,m=3D!!b.domElement,o=3D!!b.mayBeNull;c=3DFun=
ction._validateParameterType(d,i,n,m,o,j);if(c){c.popStackFrame();return =
c}var =
g=3Db.elementType,h=3D!!b.elementMayBeNull;if(i=3D=3D=3DArray&&typeof =
d!=3D=3De&&d!=3D=3Da&&(g||!h))for(var =
l=3D!!b.elementInteger,k=3D!!b.elementDomElement,f=3D0;f<d.length;f++){va=
r =
p=3Dd[f];c=3DFunction._validateParameterType(p,g,l,k,h,j+"["+f+"]");if(c)=
{c.popStackFrame();return c}}return =
a};w._validateParameterType=3Dfunction(c,f,n,m,o,g){var d,k;if(typeof =
c=3D=3D=3De||c=3D=3D=3Da){if(o)return =
a;d=3Dc=3D=3D=3Da?Error.argumentNull(g):Error.argumentUndefined(g);d.popS=
tackFrame();return d}if(f&&f.__enum){if(typeof =
c!=3D=3Di){d=3DError.argumentType(g,Object.getType(c),f);d.popStackFrame(=
);return d}if(c%1=3D=3D=3D0){var =
h=3Df.prototype;if(!f.__flags||c=3D=3D=3D0){for(k in =
h)if(h[k]=3D=3D=3Dc)return a}else{var l=3Dc;for(k in h){var =
j=3Dh[k];if(j=3D=3D=3D0)continue;if((j&c)=3D=3D=3Dj)l-=3Dj;if(l=3D=3D=3D0=
)return =
a}}}d=3DError.argumentOutOfRange(g,c,String.format(b.Res.enumInvalidValue=
,c,f.getName()));d.popStackFrame();return =
d}if(m&&(!b._isDomElement(c)||c.nodeType=3D=3D=3D3)){d=3DError.argument(g=
,b.Res.argumentDomElement);d.popStackFrame();return =
d}if(f&&!b._isInstanceOfType(f,c)){d=3DError.argumentType(g,Object.getTyp=
e(c),f);d.popStackFrame();return =
d}if(f=3D=3D=3DNumber&&n)if(c%1!=3D=3D0){d=3DError.argumentOutOfRange(g,c=
,b.Res.argumentInteger);d.popStackFrame();return d}return =
a};w=3DError;w.__typeName=3D"Error";w.__class=3Dc;b._errorArgument=3Dfunc=
tion(e,a,g){var f=3D"Sys.Argument"+e+nb,d=3Df+": =
"+(g||b.Res["argument"+e]);if(a)d+=3DF+String.format(b.Res.paramName,a);v=
ar =
c=3DError.create(d,{name:f,paramName:a});c.popStackFrame();c.popStackFram=
e();return c};b._error=3Dfunction(g,f,d){var c=3D"Sys."+g+nb,e=3Dc+": =
"+(f||b.Res[d]),a=3DError.create(e,{name:c});a.popStackFrame();a.popStack=
Frame();return a};w.create=3Dfunction(c,b){var a=3Dnew =
Error(c);a.message=3Dc;if(b)for(var d in =
b)a[d]=3Db[d];a.popStackFrame();return =
a};w.argument=3Dfunction(a,c){return =
b._errorArgument(x,a,c)};w.argumentNull=3Dfunction(a,c){return =
b._errorArgument("Null",a,c)};w.argumentOutOfRange=3Dfunction(f,c,h){var =
d=3D"Sys.ArgumentOutOfRangeException: =
"+(h||b.Res.argumentOutOfRange);if(f)d+=3DF+String.format(b.Res.paramName=
,f);if(typeof =
c!=3D=3De&&c!=3D=3Da)d+=3DF+String.format(b.Res.actualValue,c);var =
g=3DError.create(d,{name:"Sys.ArgumentOutOfRangeException",paramName:f,ac=
tualValue:c});g.popStackFrame();return =
g};w.argumentType=3Dfunction(e,d,c,f){var =
a=3D"Sys.ArgumentTypeException: ";if(f)a+=3Df;else =
if(d&&c)a+=3DString.format(b.Res.argumentTypeWithTypes,d.getName(),c.getN=
ame());else =
a+=3Db.Res.argumentType;if(e)a+=3DF+String.format(b.Res.paramName,e);var =
g=3DError.create(a,{name:"Sys.ArgumentTypeException",paramName:e,actualTy=
pe:d,expectedType:c});g.popStackFrame();return =
g};w.argumentUndefined=3Dfunction(a,c){return =
b._errorArgument(ob,a,c)};w.format=3Dfunction(a){return =
b._error("Format",a,"format")};w.invalidOperation=3Dfunction(a){return =
b._error("InvalidOperation",a,"invalidOperation")};w.notImplemented=3Dfun=
ction(a){return =
b._error("NotImplemented",a,"notImplemented")};w.parameterCount=3Dfunctio=
n(a){return =
b._error("ParameterCount",a,"parameterCount")};w.prototype.popStackFrame=3D=
function(){var b=3Dthis;if(typeof =
b.stack=3D=3D=3De||b.stack=3D=3D=3Da||typeof =
b.fileName=3D=3D=3De||b.fileName=3D=3D=3Da||typeof =
b.lineNumber=3D=3D=3De||b.lineNumber=3D=3D=3Da)return;var =
c=3Db.stack.split(F),f=3Dc[0],h=3Db.fileName+":"+b.lineNumber;while(typeo=
f f!=3D=3De&&f!=3D=3Da&&f.indexOf(h)<0){c.shift();f=3Dc[0]}var =
g=3Dc[1];if(typeof g=3D=3D=3De||g=3D=3D=3Da)return;var =
d=3Dg.match(/@(.*):(\d+)$/);if(typeof =
d=3D=3D=3De||d=3D=3D=3Da)return;b.fileName=3Dd[1];b.lineNumber=3DparseInt=
(d[2]);c.shift();b.stack=3Dc.join(F)};w=3DObject;w.__typeName=3D"Object";=
w.__class=3Dc;w.getType=3Dfunction(b){var =
a=3Db.constructor;return!a||typeof =
a!=3D=3Df||!a.__typeName||a.__typeName=3D=3D=3D"Object"?Object:a};w.getTy=
peName=3Dfunction(a){return =
Object.getType(a).getName()};w=3DString;w.__typeName=3D"String";w.__class=
=3Dc;z=3Dw.prototype;z.endsWith=3Dfunction(a){return =
this.substr(this.length-a.length)=3D=3D=3Da};z.startsWith=3Dfunction(a){r=
eturn this.substr(0,a.length)=3D=3D=3Da};z.trim=3Dfunction(){return =
this.replace(/^\s+|\s+$/g,x)};z.trimEnd=3Dfunction(){return =
this.replace(/\s+$/,x)};z.trimStart=3Dfunction(){return =
this.replace(/^\s+/,x)};w.format=3Dfunction(){return =
String._toFormattedString(d,arguments)};w._toFormattedString=3Dfunction(o=
,m){for(var f=3Dx,h=3Dm[0],b=3D0;c;){var =
i=3Dh.indexOf("{",b),g=3Dh.indexOf("}",b);if(i<0&&g<0){f+=3Dh.slice(b);br=
eak}if(g>0&&(g<i||i<0)){f+=3Dh.slice(b,g+1);b=3Dg+2;continue}f+=3Dh.slice=
(b,i);b=3Di+1;if(h.charAt(b)=3D=3D=3D"{"){f+=3D"{";b++;continue}if(g<0)br=
eak;var =
k=3Dh.substring(b,g),j=3Dk.indexOf(":"),n=3DparseInt(j<0?k:k.substring(0,=
j),10)+1,l=3Dj<0?x:k.substring(j+1),d=3Dm[n];if(typeof =
d=3D=3D=3De||d=3D=3D=3Da)d=3Dx;if(d.toFormattedString)f+=3Dd.toFormattedS=
tring(l);else if(o&&d.localeFormat)f+=3Dd.localeFormat(l);else =
if(d.format)f+=3Dd.format(l);else f+=3Dd.toString();b=3Dg+1}return =
f};w=3DBoolean;w.__typeName=3D"Boolean";w.__class=3Dc;w.parse=3Dfunction(=
e){var b=3De.trim().toLowerCase(),a;if(b=3D=3D=3D"false")a=3Dd;else =
if(b=3D=3D=3D"true")a=3Dc;return =
a};w=3DDate;w.__typeName=3D"Date";w.__class=3Dc;w=3DNumber;w.__typeName=3D=
"Number";w.__class=3Dc;w=3DRegExp;w.__typeName=3D"RegExp";w.__class=3Dc;i=
f(!g)this.window=3Dthis;g.Type=3Dw=3DFunction;z=3Dw.prototype;z.callBaseM=
ethod=3Dfunction(a,e,c){var d=3Db._getBaseMethod(this,a,e);return =
c?d.apply(a,c):d.apply(a)};z.getBaseMethod=3Dfunction(a,c){return =
b._getBaseMethod(this,a,c)};z.getBaseType=3Dfunction(){return typeof =
this.__baseType=3D=3D=3De?a:this.__baseType};z.getInterfaces=3Dfunction()=
{var c=3D[],a=3Dthis;while(a){var b=3Da.__interfaces;if(b)for(var =
d=3D0,f=3Db.length;d<f;d++){var =
e=3Db[d];!Array.contains(c,e)&&c.push(e)}a=3Da.__baseType}return =
c};z.getName=3Dfunction(){return typeof =
this.__typeName=3D=3D=3De?x:this.__typeName};z.implementsInterface=3Dfunc=
tion(h){var f=3Dthis;f.resolveInheritance();var =
g=3Dh.getName(),a=3Df.__interfaceCache;if(a){var i=3Da[g];if(typeof =
i!=3D=3De)return i}else a=3Df.__interfaceCache=3D{};var =
b=3Df;while(b){var =
j=3Db.__interfaces;if(j&&Array.indexOf(j,h)!=3D=3Dy)return =
a[g]=3Dc;b=3Db.__baseType}return =
a[g]=3Dd};z.inheritsFrom=3Dfunction(a){this.resolveInheritance();return =
b._inheritsFrom(this,a)};b._inheritsFrom=3Dfunction(e,b){var d;if(b){var =
a=3De.__baseType;while(a){if(a=3D=3D=3Db){d=3Dc;break}a=3Da.__baseType}}r=
eturn!!d};z.initializeBase=3Dfunction(b,c){this.resolveInheritance();var =
a=3Dthis.__baseType;if(a)c?a.apply(b,c):a.apply(b);return =
b};z.isImplementedBy=3Dfunction(b){if(typeof =
b=3D=3D=3De||b=3D=3D=3Da)return d;var =
c=3DObject.getType(b);return!!(c.implementsInterface&&c.implementsInterfa=
ce(this))};z.isInstanceOfType=3Dfunction(a){return =
b._isInstanceOfType(this,a)};z.registerClass=3Dfunction(f,e,g){var =
a=3Dthis,j=3Da.prototype;j.constructor=3Da;a.__typeName=3Df;a.__class=3Dc=
;if(e){a.__baseType=3De;a.__basePrototypePending=3Dc}b.__upperCaseTypes[f=
.toUpperCase()]=3Da;if(g)for(var =
i=3Da.__interfaces=3D[],d=3D2,k=3Darguments.length;d<k;d++){var =
h=3Darguments[d];i.push(h)}return =
a};b.registerComponent=3Dfunction(d,c){var =
f=3Dd.getName(),e=3Db.UI&&(b._inheritsFrom(d,b.UI.Control)||b._inheritsFr=
om(d,b.UI.Behavior)),a=3Dc&&c.name;if(!a){a=3Df;var =
g=3Da.lastIndexOf(j);if(g>=3D0){a=3Da.substr(g+1);if(a&&a.charAt(0)=3D=3D=
=3D"_")return}a=3Da.substr(0,1).toLowerCase()+a.substr(1)}if(!c)c=3D{};c.=
name=3Da;c.type=3Dd;c.typeName=3Df;c._isBehavior=3De;c=3Db.components[a]=3D=
A(b.components[a],c);var =
i=3Db._getCreate(c),h=3De?b.ElementSet.prototype:b.create;h[a]=3Di};b.reg=
isterPlugin=3Dfunction(a){var =
e=3Da.name,f=3Da.functionName||e;b.plugins[e]=3DA(b.plugins[e],a);var =
g=3Da.plugin,d;if(a.global)d=3Db;else =
if(a.dom)d=3Db.ElementSet.prototype;else =
if(a.components)d=3Db.ComponentSet.prototype;if(d)d[f]=3Db._getCreate(a,c=
)};b._createComp=3Dfunction(d,l,f){var =
i=3Dd.type,h=3Dd.parameters||[],j=3Dd._isBehavior,m=3Dj?f[0]:a,c=3Df[h.le=
ngth]||{};c=3DA({},l,c);p(h,function(a,g){var d=3Dtypeof =
a=3D=3D=3Dk?a:a.name,b=3Df[g];if(typeof b!=3D=3De&&typeof =
c[d]=3D=3D=3De)c[d]=3Db});if(this instanceof b.ElementSet){var =
g=3D[];this.each(function(){g.push(b._create(i,c,this))});return new =
b.ComponentSet(this,g)}else return =
b._create(i,c)};b._create=3Dfunction(f,g,c){var d=3Dtypeof =
c;if(d=3D=3D=3Dk)c=3Db.get(c);var =
a;b._2Pass(function(){a=3Dd=3D=3D=3De?new f:new =
f(c);u(a,jb);b._set(a,g);var =
h=3Db.Component;if(!h||!h._register(a))u(a,"endUpdate")||u(a,T)});return =
a};z.registerInterface=3Dfunction(d){var =
a=3Dthis;b.__upperCaseTypes[d.toUpperCase()]=3Da;a.prototype.constructor=3D=
a;a.__typeName=3Dd;a.__interface=3Dc;return =
a};z.resolveInheritance=3Dfunction(){var =
a=3Dthis;if(a.__basePrototypePending){var =
e=3Da.__baseType;e.resolveInheritance();var =
c=3De.prototype,d=3Da.prototype;for(var b in c)d[b]=3Dd[b]||c[b];delete =
a.__basePrototypePending}};w.getRootNamespaces=3Dfunction(){return =
Array.clone(b.__rootNamespaces)};w.isClass=3Dfunction(a){return!!(a&&a.__=
class)};w.isInterface=3Dfunction(a){return!!(a&&a.__interface)};w.isNames=
pace=3Dfunction(a){return!!(a&&a.__namespace)};w.parse=3Dfunction(d,f){va=
r =
c;if(f){c=3Db.__upperCaseTypes[f.getName().toUpperCase()+j+d.toUpperCase(=
)];return c||a}if(!d)return a;var =
e=3DType.__htClasses;if(!e)Type.__htClasses=3De=3D{};c=3De[d];if(!c){c=3D=
g.eval(d);e[d]=3Dc}return =
c};w.registerNamespace=3Dfunction(a){Type._registerNamespace(a)};w._regis=
terNamespace=3Dfunction(h){for(var =
f=3Dg,e=3Dh.split(j),d=3D0,k=3De.length;d<k;d++){var =
i=3De[d],a=3Df[i];if(!a)a=3Df[i]=3D{};if(!a.__namespace){!d&&h!=3D=3D"Sys=
"&&b.__rootNamespaces.push(a);a.__namespace=3Dc;a.__typeName=3De.slice(0,=
d+1).join(j);a.getName=3Dfunction(){return =
this.__typeName}}f=3Da}};w._checkDependency=3Dfunction(f,a){var =
g=3DType._registerScript._scripts,c=3Dg?!!g[f]:d;if(typeof =
a!=3D=3De&&!c)throw =
Error.invalidOperation(String.format(b.Res.requiredScriptReferenceNotIncl=
uded,a,f));return c};w._registerScript=3Dfunction(a,e){var =
d=3DType._registerScript._scripts;if(!d)Type._registerScript._scripts=3Dd=
=3D{};if(d[a])throw =
Error.invalidOperation(String.format(b.Res.scriptAlreadyLoaded,a));d[a]=3D=
c;if(e)for(var f=3D0,h=3De.length;f<h;f++){var =
g=3De[f];if(!Type._checkDependency(g))throw =
Error.invalidOperation(String.format(b.Res.scriptDependencyNotFound,a,g))=
;}};w._registerNamespace("Sys");b.__upperCaseTypes=3D{};b.__rootNamespace=
s=3D[b];b._isInstanceOfType=3Dfunction(g,f){if(typeof =
f=3D=3D=3De||f=3D=3D=3Da)return d;if(f instanceof g)return c;var =
b=3DObject.getType(f);return!!(b=3D=3D=3Dg)||b.inheritsFrom&&b.inheritsFr=
om(g)||b.implementsInterface&&b.implementsInterface(g)};b._getBaseMethod=3D=
function(e,f,d){var c=3De.getBaseType();if(c){var =
b=3Dc.prototype[d];return b instanceof Function?b:a}return =
a};b._isDomElement=3Dfunction(a){var e=3Dd;if(typeof =
a.nodeType!=3D=3Di){var =
c=3Da.ownerDocument||a.document||a;if(c!=3Da){var =
f=3Dc.defaultView||c.parentWindow;e=3Df!=3Da}else =
e=3D!c.body||!b._isDomElement(c.body)}return!e};var =
ib=3Db._isBrowser=3Dfunction(a){return =
b.Browser.agent=3D=3D=3Db.Browser[a]};p(b._ns,w._registerNamespace);delet=
e b._ns;w=3DArray;w.__typeName=3D"Array";w.__class=3Dc;var =
tb=3Db._indexOf=3Dfunction(d,f,a){if(typeof f=3D=3D=3De)return y;var =
c=3Dd.length;if(c!=3D=3D0){a=3Da-0;if(isNaN(a))a=3D0;else{if(isFinite(a))=
a=3Da-a%1;if(a<0)a=3DMath.max(0,c+a)}for(var =
b=3Da;b<c;b++)if(d[b]=3D=3D=3Df)return b}return =
y};w.add=3Dw.enqueue=3Dfunction(a,b){a[a.length]=3Db};w.addRange=3Dfuncti=
on(a,b){a.push.apply(a,b)};w.clear=3Dfunction(a){a.length=3D0};w.clone=3D=
function(b){return =
b.length=3D=3D=3D1?[b[0]]:Array.apply(a,b)};w.contains=3Dfunction(a,b){re=
turn tb(a,b)>=3D0};w.dequeue=3Dfunction(a){return =
a.shift()};w.forEach=3Dfunction(b,f,d){for(var =
a=3D0,g=3Db.length;a<g;a++){var c=3Db[a];typeof =
c!=3D=3De&&f.call(d,c,a,b)}};w.indexOf=3Dtb;w.insert=3Dfunction(a,b,c){a.=
splice(b,0,c)};w.parse=3Dfunction(a){return =
a?g.eval("("+a+")"):[]};w.remove=3Dfunction(b,c){var =
a=3Dtb(b,c);a>=3D0&&b.splice(a,1);return =
a>=3D0};w.removeAt=3Dfunction(a,b){a.splice(b,1)};Type._registerScript._s=
cripts=3D{"MicrosoftAjaxCore.js":c,"MicrosoftAjaxGlobalization.js":c,"Mic=
rosoftAjaxSerialization.js":c,"MicrosoftAjaxComponentModel.js":c,"Microso=
ftAjaxHistory.js":c,"MicrosoftAjaxNetwork.js":c,"MicrosoftAjaxWebServices=
.js":c};w=3Db.IDisposable=3Dfunction(){};w.registerInterface("Sys.IDispos=
able");w=3Db.StringBuilder=3Dfunction(b){this._parts=3Dtypeof =
b!=3D=3De&&b!=3D=3Da&&b!=3D=3Dx?[b.toString()]:[];this._value=3D{};this._=
len=3D0};w.prototype=3D{append:function(a){this._parts.push(a);return =
this},appendLine:function(b){this._parts.push(typeof =
b=3D=3D=3De||b=3D=3D=3Da||b=3D=3D=3Dx?"\r\n":b+"\r\n");return =
this},clear:function(){this._parts=3D[];this._value=3D{};this._len=3D0},i=
sEmpty:function(){return!this._parts.length||!this.toString()},toString:f=
unction(b){var d=3Dthis;b=3Db||x;var =
c=3Dd._parts;if(d._len!=3D=3Dc.length){d._value=3D{};d._len=3Dc.length}va=
r i=3Dd._value,h=3Di[b];if(typeof h=3D=3D=3De){if(b!=3D=3Dx)for(var =
f=3D0;f<c.length;){var g=3Dc[f];if(typeof =
g=3D=3D=3De||g=3D=3D=3Dx||g=3D=3D=3Da)c.splice(f,1);else =
f++}i[b]=3Dh=3Dc.join(b)}return =
h}};w.registerClass("Sys.StringBuilder");var =
lb=3Dnavigator.userAgent,K=3Db.Browser=3D{InternetExplorer:{},Firefox:{},=
Safari:{},Opera:{},agent:a,hasDebuggerStatement:d,name:navigator.appName,=
version:parseFloat(navigator.appVersion),documentMode:0};if(lb.indexOf(" =
MSIE =
")>y){K.agent=3DK.InternetExplorer;K.version=3DparseFloat(lb.match(/MSIE =
(\d+\.\d+)/)[1]);if(K.version>7&&document.documentMode>6)K.documentMode=3D=
document.documentMode;K.hasDebuggerStatement=3Dc}else if(lb.indexOf(" =
Firefox/")>y){K.agent=3DK.Firefox;K.version=3DparseFloat(lb.match(/ =
Firefox\/(\d+\.\d+)/)[1]);K.name=3DS;K.hasDebuggerStatement=3Dc}else =
if(lb.indexOf(" =
AppleWebKit/")>y){K.agent=3DK.Safari;K.version=3DparseFloat(lb.match(/ =
AppleWebKit\/(\d+(\.\d+)?)/)[1]);K.name=3D"Safari"}else =
if(lb.indexOf("Opera/")>y)K.agent=3DK.Opera;w=3Db.EventArgs=3Dfunction(){=
};w.registerClass("Sys.EventArgs");b.EventArgs.Empty=3Dnew =
b.EventArgs;w=3Db.CancelEventArgs=3Dfunction(){b.CancelEventArgs.initiali=
zeBase(this);this._cancel=3Dd};w.prototype=3D{get_cancel:function(){retur=
n =
this._cancel},set_cancel:function(a){this._cancel=3Da}};w.registerClass("=
Sys.CancelEventArgs",b.EventArgs);Type.registerNamespace("Sys.UI");w=3Db.=
_Debug=3Dfunction(){};w.prototype=3D{_appendConsole:function(a){typeof =
Debug!=3D=3De&&Debug.writeln;g.console&&g.console.log&&g.console.log(a);g=
.opera&&g.opera.postError(a);g.debugService&&g.debugService.trace(a)},_ge=
tTrace:function(){var c=3Db.get("#TraceConsole");return =
c&&c.tagName.toUpperCase()=3D=3D=3D"TEXTAREA"?c:a},_appendTrace:function(=
b){var =
a=3Dthis._getTrace();if(a)a.value+=3Db+F},"assert":function(d,a,c){if(!d)=
{a=3Dc&&this.assert.caller?String.format(b.Res.assertFailedCaller,a,this.=
assert.caller):String.format(b.Res.assertFailed,a);confirm(String.format(=
b.Res.breakIntoDebugger,a))&&this.fail(a)}},clearTrace:function(){var =
a=3Dthis._getTrace();if(a)a.value=3Dx},fail:function(a){this._appendConso=
le(a);b.Browser.hasDebuggerStatement&&g.eval("debugger")},trace:function(=
a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){t=
his._traceDump(a,b,c)},_traceDump:function(b,l,n,c,h){var =
d=3Dthis;l=3Dl||"traceDump";c=3Dc||x;var j=3Dc+l+": =
";if(b=3D=3D=3Da){d.trace(j+U);return}switch(typeof b){case =
e:d.trace(j+ob);break;case i:case =
k:case"boolean":d.trace(j+b);break;default:if(Date.isInstanceOfType(b)||R=
egExp.isInstanceOfType(b)){d.trace(j+b.toString());break}if(!h)h=3D[];els=
e =
if(Array.contains(h,b)){d.trace(j+"...");return}h.push(b);if(b=3D=3Dg||b=3D=
=3D=3Ddocument||g.HTMLElement&&b instanceof HTMLElement||typeof =
b.nodeName=3D=3D=3Dk){var s=3Db.tagName||"DomElement";if(b.id)s+=3D" - =
"+b.id;d.trace(c+l+" {"+s+"}")}else{var =
q=3DObject.getTypeName(b);d.trace(c+l+(typeof q=3D=3D=3Dk?" =
{"+q+"}":x));if(c=3D=3D=3Dx||n){c+=3D"    ";var m,r,t,o,p;if(b =
instanceof =
Array){r=3Db.length;for(m=3D0;m<r;m++)d._traceDump(b[m],"["+m+"]",n,c,h)}=
else for(o in b){p=3Db[o];typeof =
p!=3D=3Df&&d._traceDump(p,o,n,c,h)}}}Array.remove(h,b)}}};w.registerClass=
("Sys._Debug");w=3Db.Debug=3Dnew b._Debug;w.isDebug=3Dd;function =
Hb(e,g){var =
d=3Dthis,c,a,m;if(g){c=3Dd.__lowerCaseValues;if(!c){d.__lowerCaseValues=3D=
c=3D{};var j=3Dd.prototype;for(var l in =
j)c[l.toLowerCase()]=3Dj[l]}}else c=3Dd.prototype;function =
h(c){if(typeof a!=3D=3Di)throw =
Error.argument("value",String.format(b.Res.enumInvalidValue,c,this.__type=
Name));}if(!d.__flags){m=3Dg?e.toLowerCase():e;a=3Dc[m.trim()];typeof =
a!=3D=3Di&&h.call(d,e);return a}else{for(var =
k=3D(g?e.toLowerCase():e).split(G),n=3D0,f=3Dk.length-1;f>=3D0;f--){var =
o=3Dk[f].trim();a=3Dc[o];typeof =
a!=3D=3Di&&h.call(d,e.split(G)[f].trim());n|=3Da}return n}}function =
Gb(d){var f=3Dthis;if(typeof d=3D=3D=3De||d=3D=3D=3Da)return =
f.__string;var g=3Df.prototype,b;if(!f.__flags||d=3D=3D=3D0){for(b in =
g)if(g[b]=3D=3D=3Dd)return b}else{var =
c=3Df.__sortedValues;if(!c){c=3D[];for(b in =
g)c.push({key:b,value:g[b]});c.sort(function(a,b){return =
a.value-b.value});f.__sortedValues=3Dc}var =
i=3D[],j=3Dd;for(b=3Dc.length-1;b>=3D0;b--){var =
k=3Dc[b],h=3Dk.value;if(h=3D=3D=3D0)continue;if((h&d)=3D=3D=3Dh){i.push(k=
.key);j-=3Dh;if(j=3D=3D=3D0)break}}if(i.length&&j=3D=3D=3D0)return =
i.reverse().join(", ")}return =
x}w=3DType;w.prototype.registerEnum=3Dfunction(d,f){var =
a=3Dthis;b.__upperCaseTypes[d.toUpperCase()]=3Da;for(var e in =
a.prototype)a[e]=3Da.prototype[e];a.__typeName=3Dd;a.parse=3DHb;a.__strin=
g=3Da.toString();a.toString=3DGb;a.__flags=3Df;a.__enum=3Dc};w.isEnum=3Df=
unction(a){return!!(a&&a.__enum)};w.isFlags=3Dfunction(a){return!!(a&&a._=
_flags)};w=3Db.CollectionChange=3Dfunction(g,b,e,c,f){var =
d=3Dthis;d.action=3Dg;if(b)if(!(b instanceof =
Array))b=3D[b];d.newItems=3Db||a;if(typeof =
e!=3D=3Di)e=3Dy;d.newStartingIndex=3De;if(c)if(!(c instanceof =
Array))c=3D[c];d.oldItems=3Dc||a;if(typeof =
f!=3D=3Di)f=3Dy;d.oldStartingIndex=3Df};w.registerClass("Sys.CollectionCh=
ange");w=3Db.NotifyCollectionChangedAction=3Dfunction(){};w.prototype=3D{=
add:0,remove:1,reset:2};w.registerEnum("Sys.NotifyCollectionChangedAction=
");w=3Db.NotifyCollectionChangedEventArgs=3Dfunction(a){this._changes=3Da=
;b.NotifyCollectionChangedEventArgs.initializeBase(this)};w.prototype=3D{=
get_changes:function(){return =
this._changes||[]}};w.registerClass("Sys.NotifyCollectionChangedEventArgs=
",b.EventArgs);w=3Db.Observer=3Dfunction(){};w.registerClass("Sys.Observe=
r");w.makeObservable=3Dfunction(a){var d=3Da instanceof =
Array,c=3Db.Observer;if(a.setValue=3D=3D=3Dc._observeMethods.setValue)ret=
urn =
a;c._addMethods(a,c._observeMethods);d&&c._addMethods(a,c._arrayMethods);=
return a};w._addMethods=3Dfunction(c,a){for(var b in =
a)c[b]=3Da[b]};w._addEventHandler=3Dfunction(e,a,d){b.Observer._getContex=
t(e,c).events._addHandler(a,d)};w.addEventHandler=3Dfunction(d,a,c){b.Obs=
erver._addEventHandler(d,a,c)};w._removeEventHandler=3Dfunction(e,a,d){b.=
Observer._getContext(e,c).events._removeHandler(a,d)};w.removeEventHandle=
r=3Dfunction(d,a,c){b.Observer._removeEventHandler(d,a,c)};w.clearEventHa=
ndlers=3Dfunction(d,a){b.Observer._getContext(d,c).events._removeHandlers=
(a)};w.raiseEvent=3Dfunction(c,f,e){var =
d=3Db.Observer._getContext(c);if(!d)return;var =
a=3Dd.events.getHandler(f);a&&a(c,e||b.EventArgs.Empty)};w.addPropertyCha=
nged=3Dfunction(c,a){b.Observer._addEventHandler(c,C,a)};w.removeProperty=
Changed=3Dfunction(c,a){b.Observer._removeEventHandler(c,C,a)};w.beginUpd=
ate=3Dfunction(a){b.Observer._getContext(a,c).updating=3Dc};w.endUpdate=3D=
function(e){var =
c=3Db.Observer._getContext(e);if(!c||!c.updating)return;c.updating=3Dd;va=
r g=3Dc.dirty;c.dirty=3Dd;if(g){if(e instanceof Array){var =
f=3Dc.changes;c.changes=3Da;b.Observer.raiseCollectionChanged(e,f)}b.Obse=
rver.raisePropertyChanged(e,x)}};w.isUpdating=3Dfunction(c){var =
a=3Db.Observer._getContext(c);return =
a?a.updating:d};w._setValue=3Dfunction(d,o,l){for(var =
g,v,p=3Dd,i=3Do.split(j),n=3D0,r=3Di.length-1;n<r;n++){var =
q=3Di[n];g=3Dd[V+q];if(typeof g=3D=3D=3Df)d=3Dg.call(d);else =
d=3Dd[q];var s=3Dtypeof d;if(d=3D=3D=3Da||s=3D=3D=3De)throw =
Error.invalidOperation(String.format(b.Res.nullReferenceInPath,o));}var =
k,h=3Di[r];g=3Dd[V+h];if(typeof g=3D=3D=3Df)k=3Dg.call(d);else =
k=3Dd[h];u(d,t+h,l)||(d[h]=3Dl);if(k!=3D=3Dl){var =
m=3Db.Observer._getContext(p);if(m&&m.updating){m.dirty=3Dc;return}b.Obse=
rver.raisePropertyChanged(p,i[0])}};w.setValue=3Dfunction(c,a,d){b.Observ=
er._setValue(c,a,d)};w.raisePropertyChanged=3Dfunction(c,a){b.Observer.ra=
iseEvent(c,C,new =
b.PropertyChangedEventArgs(a))};w.addCollectionChanged=3Dfunction(c,a){b.=
Observer._addEventHandler(c,J,a)};w.removeCollectionChanged=3Dfunction(c,=
a){b.Observer._removeEventHandler(c,J,a)};w._collectionChange=3Dfunction(=
e,d){var a=3Dthis._getContext(e);if(a&&a.updating){a.dirty=3Dc;var =
b=3Da.changes;if(!b)a.changes=3Db=3D[d];else =
b.push(d)}else{this.raiseCollectionChanged(e,[d]);this.raisePropertyChang=
ed(e,"length")}};w.add=3Dfunction(a,c){var d=3Dnew =
b.CollectionChange(b.NotifyCollectionChangedAction.add,[c],a.length);Arra=
y.add(a,c);b.Observer._collectionChange(a,d)};w.addRange=3Dfunction(a,c){=
var d=3Dnew =
b.CollectionChange(b.NotifyCollectionChangedAction.add,c,a.length);Array.=
addRange(a,c);b.Observer._collectionChange(a,d)};w.clear=3Dfunction(c){va=
r d=3DArray.clone(c);Array.clear(c);b.Observer._collectionChange(c,new =
b.CollectionChange(b.NotifyCollectionChangedAction.reset,a,y,d,0))};w.ins=
ert=3Dfunction(a,c,d){Array.insert(a,c,d);b.Observer._collectionChange(a,=
new =
b.CollectionChange(b.NotifyCollectionChangedAction.add,[d],c))};w.remove=3D=
function(e,f){var =
g=3DArray.indexOf(e,f);if(g!=3D=3Dy){Array.remove(e,f);b.Observer._collec=
tionChange(e,new =
b.CollectionChange(b.NotifyCollectionChangedAction.remove,a,y,[f],g));ret=
urn c}return d};w.removeAt=3Dfunction(d,c){if(c>y&&c<d.length){var =
e=3Dd[c];Array.removeAt(d,c);b.Observer._collectionChange(d,new =
b.CollectionChange(b.NotifyCollectionChangedAction.remove,a,y,[e],c))}};w=
.raiseCollectionChanged=3Dfunction(c,a){b.Observer.raiseEvent(c,J,new =
b.NotifyCollectionChangedEventArgs(a))};w._observeMethods=3D{add_property=
Changed:function(a){b.Observer._addEventHandler(this,C,a)},remove_propert=
yChanged:function(a){b.Observer._removeEventHandler(this,C,a)},addEventHa=
ndler:function(a,c){b.Observer._addEventHandler(this,a,c)},removeEventHan=
dler:function(a,c){b.Observer._removeEventHandler(this,a,c)},clearEventHa=
ndlers:function(a){b.Observer._getContext(this,c).events._removeHandlers(=
a)},get_isUpdating:function(){return =
b.Observer.isUpdating(this)},beginUpdate:function(){b.Observer.beginUpdat=
e(this)},endUpdate:function(){b.Observer.endUpdate(this)},setValue:functi=
on(c,a){b.Observer._setValue(this,c,a)},raiseEvent:function(d,c){b.Observ=
er.raiseEvent(this,d,c||a)},raisePropertyChanged:function(a){b.Observer.r=
aiseEvent(this,C,new =
b.PropertyChangedEventArgs(a))}};w._arrayMethods=3D{add_collectionChanged=
:function(a){b.Observer._addEventHandler(this,J,a)},remove_collectionChan=
ged:function(a){b.Observer._removeEventHandler(this,J,a)},add:function(a)=
{b.Observer.add(this,a)},addRange:function(a){b.Observer.addRange(this,a)=
},clear:function(){b.Observer.clear(this)},insert:function(a,c){b.Observe=
r.insert(this,a,c)},remove:function(a){return =
b.Observer.remove(this,a)},removeAt:function(a){b.Observer.removeAt(this,=
a)},raiseCollectionChanged:function(a){b.Observer.raiseEvent(this,J,new =
b.NotifyCollectionChangedEventArgs(a))}};w._getContext=3Dfunction(c,d){va=
r b=3Dc._observerContext;return =
b?b():d?(c._observerContext=3Dthis._createContext())():a};w._createContex=
t=3Dfunction(){var a=3D{events:new b.EventHandlerList};return =
function(){return a}};function N(a,c,b){return a<c||a>b}function =
Ib(c,a){var d=3Dnew Date,e=3Dwb(d);if(a<B){var =
b=3Dyb(d,c,e);a+=3Db-b%B;if(a>c.Calendar.TwoDigitYearMax)a-=3DB}return =
a}function wb(f,d){if(!d)return 0;for(var =
c,e=3Df.getTime(),b=3D0,g=3Dd.length;b<g;b+=3D4){c=3Dd[b+2];if(c=3D=3D=3D=
a||e>=3Dc)return b}return 0}function yb(d,b,e,c){var =
a=3Dd.getFullYear();if(!c&&b.eras)a-=3Db.eras[e+3];return =
a}b._appendPreOrPostMatch=3Dfunction(f,b){for(var =
e=3D0,a=3Dd,c=3D0,h=3Df.length;c<h;c++){var =
g=3Df.charAt(c);switch(g){case"'":if(a)b.push("'");else =
e++;a=3Dd;break;case"\\":a&&b.push("\\");a=3D!a;break;default:b.push(g);a=
=3Dd}}return e};w=3DDate;w._expandFormat=3Dfunction(a,c){c=3Dc||"F";var =
d=3Dc.length;if(d=3D=3D=3D1)switch(c){case"d":return =
a.ShortDatePattern;case"D":return a.LongDatePattern;case"t":return =
a.ShortTimePattern;case"T":return a.LongTimePattern;case"f":return =
a.LongDatePattern+h+a.ShortTimePattern;case"F":return =
a.FullDateTimePattern;case"M":case"m":return =
a.MonthDayPattern;case"s":return =
a.SortableDateTimePattern;case"Y":case"y":return =
a.YearMonthPattern;default:throw =
Error.format(b.Res.formatInvalidString);}else =
if(d=3D=3D=3D2&&c.charAt(0)=3D=3D=3D"%")c=3Dc.charAt(1);return =
c};w._getParseRegExp=3Dfunction(g,i){var =
h=3Dg._parseRegExp;if(!h)g._parseRegExp=3Dh=3D{};else{var =
o=3Dh[i];if(o)return o}var =
e=3DDate._expandFormat(g,i);e=3De.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])=
/g,"\\\\$1");var =
d=3D["^"],p=3D[],j=3D0,m=3D0,l=3DDate._getTokenRegExp(),f;while((f=3Dl.ex=
ec(e))!=3D=3Da){var =
s=3De.slice(j,f.index);j=3Dl.lastIndex;m+=3Db._appendPreOrPostMatch(s,d);=
if(m%2){d.push(f[0]);continue}var q=3Df[0],t=3Dq.length,c;switch(q){case =
W:case"ddd":case =
X:case"MMM":case"gg":case"g":c=3D"(\\D+)";break;case"tt":case"t":c=3D"(\\=
D*)";break;case =
Y:case"fff":case"ff":case"f":c=3D"(\\d{"+t+"})";break;case"dd":case"d":ca=
se"MM":case"M":case"yy":case"y":case"HH":case"H":case"hh":case"h":case"mm=
":case"m":case"ss":case"s":c=3D"(\\d\\d?)";break;case"zzz":c=3D"([+-]?\\d=
\\d?:\\d{2})";break;case"zz":case"z":c=3D"([+-]?\\d\\d?)";break;case =
D:c=3D"(\\"+g.DateSeparator+")"}c&&d.push(c);p.push(f[0])}b._appendPreOrP=
ostMatch(e.slice(j),d);d.push(n);var =
r=3Dd.join(x).replace(/\s+/g,"\\s+"),k=3D{regExp:r,groups:p};h[i]=3Dk;ret=
urn =
k};w._getTokenRegExp=3Dfunction(){return/\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|y=
yyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};w.parseLocale=
=3Dfunction(a){return =
Date._parse(a,b.CultureInfo.CurrentCulture,arguments)};w.parseInvariant=3D=
function(a){return =
Date._parse(a,b.CultureInfo.InvariantCulture,arguments)};w._parse=3Dfunct=
ion(k,g,l){var =
b,f,e,i,h,j=3Dd;for(b=3D1,f=3Dl.length;b<f;b++){i=3Dl[b];if(i){j=3Dc;e=3D=
Date._parseExact(k,i,g);if(e)return =
e}}if(!j){h=3Dg._getDateTimeFormats();for(b=3D0,f=3Dh.length;b<f;b++){e=3D=
Date._parseExact(k,h[b],g);if(e)return e}}return =
a};w._parseExact=3Dfunction(w,J,s){w=3Dw.trim();var =
e=3Ds.dateTimeFormat,F=3Dthis._getParseRegExp(e,J),I=3D(new =
RegExp(F.regExp)).exec(w);if(I=3D=3D=3Da)return a;for(var =
H=3DF.groups,y=3Da,j=3Da,h=3Da,i=3Da,p=3Da,f=3D0,k,z=3D0,A=3D0,x=3D0,l=3D=
a,v=3Dd,r=3D0,K=3DH.length;r<K;r++){var g=3DI[r+1];if(g){var =
G=3DH[r],m=3DG.length,c=3DparseInt(g,10);switch(G){case"dd":case"d":i=3Dc=
;if(N(i,1,31))return a;break;case"MMM":case =
X:h=3Ds._getMonthIndex(g,m=3D=3D=3D3);if(N(h,0,11))return =
a;break;case"M":case"MM":h=3Dc-1;if(N(h,0,11))return =
a;break;case"y":case"yy":case Y:j=3Dm<4?Ib(e,c):c;if(N(j,0,9999))return =
a;break;case"h":case"hh":f=3Dc;if(f=3D=3D=3D12)f=3D0;if(N(f,0,11))return =
a;break;case"H":case"HH":f=3Dc;if(N(f,0,23))return =
a;break;case"m":case"mm":z=3Dc;if(N(z,0,59))return =
a;break;case"s":case"ss":A=3Dc;if(N(A,0,59))return =
a;break;case"tt":case"t":var =
D=3Dg.toUpperCase();v=3DD=3D=3D=3De.PMDesignator.toUpperCase();if(!v&&D!=3D=
=3De.AMDesignator.toUpperCase())return =
a;break;case"f":case"ff":case"fff":x=3Dc*Math.pow(10,3-m);if(N(x,0,999))r=
eturn a;break;case"ddd":case =
W:p=3Ds._getDayIndex(g,m=3D=3D=3D3);if(N(p,0,6))return =
a;break;case"zzz":var u=3Dg.split(/:/);if(u.length!=3D=3D2)return =
a;k=3DparseInt(u[0],10);if(N(k,-12,13))return a;var =
t=3DparseInt(u[1],10);if(N(t,0,59))return =
a;l=3Dk*60+(g.startsWith(E)?-t:t);break;case"z":case"zz":k=3Dc;if(N(k,-12=
,13))return a;l=3Dk*60;break;case"g":case"gg":var =
o=3Dg;if(!o||!e.eras)return a;o=3Do.toLowerCase().trim();for(var =
q=3D0,L=3De.eras.length;q<L;q+=3D4)if(o=3D=3D=3De.eras[q+1].toLowerCase()=
){y=3Dq;break}if(y=3D=3D=3Da)return a}}}var b=3Dnew =
Date,C,n=3De.Calendar.convert;C=3Dn?n.fromGregorian(b)[0]:b.getFullYear()=
;if(j=3D=3D=3Da)j=3DC;else =
if(e.eras)j+=3De.eras[(y||0)+3];if(h=3D=3D=3Da)h=3D0;if(i=3D=3D=3Da)i=3D1=
;if(n){b=3Dn.toGregorian(j,h,i);if(b=3D=3D=3Da)return =
a}else{b.setFullYear(j,h,i);if(b.getDate()!=3D=3Di)return =
a;if(p!=3D=3Da&&b.getDay()!=3D=3Dp)return =
a}if(v&&f<12)f+=3D12;b.setHours(f,z,A,x);if(l!=3D=3Da){var =
B=3Db.getMinutes()-(l+b.getTimezoneOffset());b.setHours(b.getHours()+pars=
eInt(B/60,10),B%60)}return =
b};z=3Dw.prototype;z.format=3Dfunction(a){return =
this._toFormattedString(a,b.CultureInfo.InvariantCulture)};z.localeFormat=
=3Dfunction(a){return =
this._toFormattedString(a,b.CultureInfo.CurrentCulture)};z._toFormattedSt=
ring=3Dfunction(h,n){var =
d=3Dthis,e=3Dn.dateTimeFormat,o=3De.Calendar.convert;if(!h||!h.length||h=3D=
=3D=3D"i"){var =
a;if(n&&n.name.length)if(o)a=3Dd._toFormattedString(e.FullDateTimePattern=
,n);else{var z=3Dnew =
Date(d.getTime()),K=3Dwb(d,e.eras);z.setFullYear(yb(d,e,K));a=3Dz.toLocal=
eString()}else a=3Dd.toString();return a}var =
A=3De.eras,w=3Dh=3D=3D=3D"s";h=3DDate._expandFormat(e,h);a=3D[];var =
i,J=3D["0","00","000"];function g(c,a){var b=3Dc+x;return =
a>1&&b.length<a?(J[a-2]+b).substr(-a):b}var =
l,t,C=3D/([^d]|^)(d|dd)([^d]|$)/g;function G(){if(l||t)return =
l;l=3DC.test(h);t=3Dc;return l}var =
v=3D0,s=3DDate._getTokenRegExp(),k;if(!w&&o)k=3Do.fromGregorian(d);for(;c=
;){var =
I=3Ds.lastIndex,m=3Ds.exec(h),F=3Dh.slice(I,m?m.index:h.length);v+=3Db._a=
ppendPreOrPostMatch(F,a);if(!m)break;if(v%2){a.push(m[0]);continue}functi=
on p(a,b){if(k)return k[b];switch(b){case 0:return a.getFullYear();case =
1:return a.getMonth();case 2:return a.getDate()}}var =
y=3Dm[0],f=3Dy.length;switch(y){case"ddd":case =
W:q=3Df=3D=3D=3D3?e.AbbreviatedDayNames:e.DayNames;a.push(q[d.getDay()]);=
break;case"d":case"dd":l=3Dc;a.push(g(p(d,2),f));break;case"MMM":case =
X:var =
u=3Df=3D=3D=3D3?Z:x,r=3De[u+pb],q=3De[u+qb],j=3Dp(d,1);a.push(r&&G()?r[j]=
:q[j]);break;case"M":case"MM":a.push(g(p(d,1)+1,f));break;case"y":case"yy=
":case =
Y:j=3Dk?k[0]:yb(d,e,wb(d,A),w);if(f<4)j=3Dj%B;a.push(g(j,f));break;case"h=
":case"hh":i=3Dd.getHours()%12;if(i=3D=3D=3D0)i=3D12;a.push(g(i,f));break=
;case"H":case"HH":a.push(g(d.getHours(),f));break;case"m":case"mm":a.push=
(g(d.getMinutes(),f));break;case"s":case"ss":a.push(g(d.getSeconds(),f));=
break;case"t":case"tt":j=3Dd.getHours()<12?e.AMDesignator:e.PMDesignator;=
a.push(f=3D=3D=3D1?j.charAt(0):j);break;case"f":case"ff":case"fff":a.push=
(g(d.getMilliseconds(),3).substr(0,f));break;case"z":case"zz":i=3Dd.getTi=
mezoneOffset()/60;a.push((i<=3D0?H:E)+g(Math.floor(Math.abs(i)),f));break=
;case"zzz":i=3Dd.getTimezoneOffset()/60;a.push((i<=3D0?H:E)+g(Math.floor(=
Math.abs(i)),2)+":"+g(Math.abs(d.getTimezoneOffset()%60),2));break;case"g=
":case"gg":e.eras&&a.push(e.eras[wb(d,A)+1]);break;case =
D:a.push(e.DateSeparator)}}return =
a.join(x)};String.localeFormat=3Dfunction(){return =
String._toFormattedString(c,arguments)};var Fb=3D{P:["Percent",["-n =
%","-n%","-%n"],["n %","n%","%n"],B],N:["Number",["(n)","-n","- =
n","n-","n =
-"],a,1],C:["Currency",["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-"=
,"-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n =
$)"],["$n","n$","$ n","n =
$"],1]};b._toFormattedString=3Dfunction(f,q){var =
i=3Dthis;if(!f||!f.length||f=3D=3D=3D"i")return =
q&&q.name.length?i.toLocaleString():i.toString();function =
o(a,c,d){for(var b=3Da.length;b<c;b++)a=3Dd?"0"+a:a+"0";return =
a}function s(l,i,n,q,s){var =
k=3Dn[0],m=3D1,r=3DMath.pow(10,i),p=3DMath.round(l*r)/r;if(!isFinite(p))p=
=3Dl;l=3Dp;var =
b=3Dl+x,a=3Dx,e,g=3Db.split(/e/i);b=3Dg[0];e=3Dg.length>1?parseInt(g[1]):=
0;g=3Db.split(j);b=3Dg[0];a=3Dg.length>1?g[1]:x;var =
t;if(e>0){a=3Do(a,e,d);b+=3Da.slice(0,e);a=3Da.substr(e)}else =
if(e<0){e=3D-e;b=3Do(b,e+1,c);a=3Db.slice(-e,b.length)+a;b=3Db.slice(0,-e=
)}if(i>0)a=3Ds+(a.length>i?a.slice(0,i):o(a,i,d));else a=3Dx;var =
f=3Db.length-1,h=3Dx;while(f>=3D0){if(k=3D=3D=3D0||k>f)return =
b.slice(0,f+1)+(h.length?q+h+a:a);h=3Db.slice(f-k+1,f+1)+(h.length?q+h:x)=
;f-=3Dk;if(m<n.length){k=3Dn[m];m++}}return b.slice(0,f+1)+q+h+a}var =
a=3Dq.numberFormat,g=3DMath.abs(i);f=3Df||"D";var =
h=3Dy;if(f.length>1)h=3DparseInt(f.slice(1),10);var =
m,e=3Df.charAt(0).toUpperCase();switch(e){case"D":m=3D"n";if(h!=3D=3Dy)g=3D=
o(x+g,h,c);if(i<0)g=3D-g;break;case"C":case"N":case"P":e=3DFb[e];var =
k=3De[0];m=3Di<0?e[1][a[k+"NegativePattern"]]:e[2]?e[2][a[k+"PositivePatt=
ern"]]:"n";if(h=3D=3D=3Dy)h=3Da[k+"DecimalDigits"];g=3Ds(Math.abs(i)*e[3]=
,h,a[k+"GroupSizes"],a[k+"GroupSeparator"],a[k+"DecimalSeparator"]);break=
;default:throw Error.format(b.Res.formatBadFormatSpecifier);}for(var =
r=3D/n|\$|-|%/g,l=3Dx;c;){var =
t=3Dr.lastIndex,p=3Dr.exec(m);l+=3Dm.slice(t,p?p.index:m.length);if(!p)br=
eak;switch(p[0]){case"n":l+=3Dg;break;case =
n:l+=3Da.CurrencySymbol;break;case =
E:if(/[1-9]/.test(g))l+=3Da.NegativeSign;break;case"%":l+=3Da.PercentSymb=
ol}}return l};w=3DNumber;w.parseLocale=3Dfunction(a){return =
Number._parse(a,b.CultureInfo.CurrentCulture)};w.parseInvariant=3Dfunctio=
n(a){return =
Number._parse(a,b.CultureInfo.InvariantCulture)};w._parse=3Dfunction(b,t)=
{b=3Db.trim();if(b.match(/^[+-]?infinity$/i))return =
parseFloat(b);if(b.match(/^0x[a-f0-9]+$/i))return parseInt(b);var =
c=3Dt.numberFormat,i=3DNumber._parseNumberNegativePattern(b,c,c.NumberNeg=
ativePattern),k=3Di[0],f=3Di[1];if(k=3D=3D=3Dx&&c.NumberNegativePattern!=3D=
=3D1){i=3DNumber._parseNumberNegativePattern(b,c,1);k=3Di[0];f=3Di[1]}if(=
k=3D=3D=3Dx)k=3DH;var =
m,e,g=3Df.indexOf("e");if(g<0)g=3Df.indexOf("E");if(g<0){e=3Df;m=3Da}else=
{e=3Df.substr(0,g);m=3Df.substr(g+1)}var =
d,n,s=3Dc.NumberDecimalSeparator,q=3De.indexOf(s);if(q<0){d=3De;n=3Da}els=
e{d=3De.substr(0,q);n=3De.substr(q+s.length)}var =
p=3Dc.NumberGroupSeparator;d=3Dd.split(p).join(x);var =
r=3Dp.replace(/\u00A0/g,h);if(p!=3D=3Dr)d=3Dd.split(r).join(x);var =
o=3Dk+d;if(n!=3D=3Da)o+=3Dj+n;if(m!=3D=3Da){var =
l=3DNumber._parseNumberNegativePattern(m,c,1);if(l[0]=3D=3D=3Dx)l[0]=3DH;=
o+=3D"e"+l[0]+l[1]}return =
o.match(/^[+-]?\d*\.?\d*(e[+-]?\d+)?$/)?parseFloat(o):Number.NaN};w._pars=
eNumberNegativePattern=3Dfunction(a,d,e){var =
b=3Dd.NegativeSign,c=3Dd.PositiveSign;switch(e){case =
4:b=3Dh+b;c=3Dh+c;case =
3:if(a.endsWith(b))return[E,a.substr(0,a.length-b.length)];else =
if(a.endsWith(c))return[H,a.substr(0,a.length-c.length)];break;case =
2:b+=3Dh;c+=3Dh;case =
1:if(a.startsWith(b))return[E,a.substr(b.length)];else =
if(a.startsWith(c))return[H,a.substr(c.length)];break;case =
0:if(a.startsWith("(")&&a.endsWith(")"))return[E,a.substr(1,a.length-2)]}=
return[x,a]};z=3Dw.prototype;z.format=3Dfunction(a){return =
b._toFormattedString.call(this,a,b.CultureInfo.InvariantCulture)};z.local=
eFormat=3Dfunction(a){return =
b._toFormattedString.call(this,a,b.CultureInfo.CurrentCulture)};function =
Ab(a){return a.split("=C2=A0").join(h).toUpperCase()}function xb(b){var =
a=3D[];p(b,function(b,c){a[c]=3DAb(b)});return a}function Cb(c){var =
b=3D{};v(c,function(c,d){b[d]=3Dc instanceof =
Array?c.length=3D=3D=3D1?[c]:Array.apply(a,c):typeof =
c=3D=3D=3Do?Cb(c):c});return =
b}w=3Db.CultureInfo=3Dfunction(c,b,a){this.name=3Dc;this.numberFormat=3Db=
;this.dateTimeFormat=3Da};w.prototype=3D{_getDateTimeFormats:function(){v=
ar b=3Dthis._dateTimeFormats;if(!b){var =
a=3Dthis.dateTimeFormat;this._dateTimeFormats=3Db=3D[a.MonthDayPattern,a.=
YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,=
a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTi=
mePattern,a.UniversalSortableDateTimePattern]}return =
b},_getMonthIndex:function(b,g){var =
a=3Dthis,c=3Dg?"_upperAbbrMonths":"_upperMonths",e=3Dc+"Genitive",h=3Da[c=
];if(!h){var =
f=3Dg?Z:x;a[c]=3Dxb(a.dateTimeFormat[f+qb]);a[e]=3Dxb(a.dateTimeFormat[f+=
pb])}b=3DAb(b);var d=3Dtb(a[c],b);if(d<0)d=3Dtb(a[e],b);return =
d},_getDayIndex:function(e,c){var =
a=3Dthis,b=3Dc?"_upperAbbrDays":"_upperDays",d=3Da[b];if(!d)a[b]=3Dxb(a.d=
ateTimeFormat[(c?Z:x)+"DayNames"]);return =
tb(a[b],Ab(e))}};w.registerClass("Sys.CultureInfo");w._parse=3Dfunction(a=
){var c=3Da.dateTimeFormat;if(c&&!c.eras)c.eras=3Da.eras;return new =
b.CultureInfo(a.name,a.numberFormat,c)};w._setup=3Dfunction(){var =
c=3Dthis,b=3Dg.__cultureInfo,f=3D["January","February","March","April","M=
ay","June","July","August","September","October","November","December",x]=
,e=3D["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","=
Dec",x],h=3D{name:x,numberFormat:{CurrencyDecimalDigits:2,CurrencyDecimal=
Separator:j,CurrencyGroupSizes:[3],NumberGroupSizes:[3],PercentGroupSizes=
:[3],CurrencyGroupSeparator:G,CurrencySymbol:"=C2=A4",NaNSymbol:"NaN",Cur=
rencyNegativePattern:0,NumberNegativePattern:1,PercentPositivePattern:0,P=
ercentNegativePattern:0,NegativeInfinitySymbol:"-Infinity",NegativeSign:E=
,NumberDecimalDigits:2,NumberDecimalSeparator:j,NumberGroupSeparator:G,Cu=
rrencyPositivePattern:0,PositiveInfinitySymbol:"Infinity",PositiveSign:H,=
PercentDecimalDigits:2,PercentDecimalSeparator:j,PercentGroupSeparator:G,=
PercentSymbol:"%",PerMilleSymbol:"=E2=80=B0",NativeDigits:["0","1","2","3=
","4","5","6","7","8","9"],DigitSubstitution:1},dateTimeFormat:{AMDesigna=
tor:"AM",Calendar:{MinSupportedDateTime:"@-62135568000000@",MaxSupportedD=
ateTime:"@253402300799999@",AlgorithmType:1,CalendarType:1,Eras:[1],TwoDi=
gitYearMax:2029},DateSeparator:D,FirstDayOfWeek:0,CalendarWeekRule:0,Full=
DateTimePattern:"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",SortableDat=
eTimePattern:"yyyy'-'MM'-'dd'T'HH':'mm':'ss",TimeSeparator:":",UniversalS=
ortableDateTimePattern:"yyyy'-'MM'-'dd =
HH':'mm':'ss'Z'",YearMonthPattern:"yyyy =
MMMM",AbbreviatedDayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Sho=
rtestDayNames:["Su","Mo","Tu","We","Th","Fr","Sa"],DayNames:["Sunday","Mo=
nday","Tuesday","Wednesday","Thursday","Friday","Saturday"],AbbreviatedMo=
nthNames:e,MonthNames:f,NativeCalendarName:"Gregorian =
Calendar",AbbreviatedMonthGenitiveNames:Array.clone(e),MonthGenitiveNames=
:Array.clone(f)},eras:[1,"A.D.",a,0]};c.InvariantCulture=3Dc._parse(h);sw=
itch(typeof b){case k:b=3Dg.eval("("+b+")");case =
o:c.CurrentCulture=3Dc._parse(b);delete =
__cultureInfo;break;default:b=3DCb(h);b.name=3D"en-US";b.numberFormat.Cur=
rencySymbol=3Dn;var d=3Db.dateTimeFormat;d.FullDatePattern=3D"dddd, MMMM =
dd, yyyy h:mm:ss tt";d.LongDatePattern=3D"dddd, MMMM dd, =
yyyy";d.LongTimePattern=3D"h:mm:ss =
tt";d.ShortDatePattern=3D"M/d/yyyy";d.ShortTimePattern=3D"h:mm =
tt";d.YearMonthPattern=3D"MMMM, =
yyyy";c.CurrentCulture=3Dc._parse(b)}};w._setup();Type.registerNamespace(=
"Sys.Serialization");w=3Db.Serialization.JavaScriptSerializer=3Dfunction(=
){};w.registerClass("Sys.Serialization.JavaScriptSerializer");w._esc=3D{c=
harsRegExs:{'"':/\"/g,"\\":/\\/g},chars:["\\",'"'],dateRegEx:/(^|[^\\])\"=
\\\/Date\((-?[0-9]+)(?:[a-zA-Z]|(?:\+|-)[0-9]{4})?\)\\\/\"/g,escapeChars:=
{"\\":"\\\\",'"':'\\"',"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"=
\\r"},escapeRegExG:/[\"\\\x00-\x1F]/g,escapeRegEx:/[\"\\\x00-\x1F]/i,json=
RegEx:/[^,:{}\[\]0-9.\-+Eaeflnr-u =
\n\r\t]/g,jsonStringRegEx:/\"(\\.|[^\"\\])*\"/g};w._init=3Dfunction(){for=
(var =
d=3Dthis._esc,g=3Dd.chars,f=3Dd.charsRegExs,e=3Dd.escapeChars,b=3D0;b<32;=
b++){var a=3DString.fromCharCode(b);g[b+2]=3Da;f[a]=3Dnew =
RegExp(a,"g");e[a]=3De[a]||"\\u"+("000"+b.toString(16)).slice(-4)}this._l=
oad=3Dc};w._serializeNumberWithBuilder=3Dfunction(a,c){if(!isFinite(a))th=
row =
Error.invalidOperation(b.Res.cannotSerializeNonFiniteNumbers);c.append(St=
ring(a))};w._serializeStringWithBuilder=3Dfunction(a,e){e.append('"');var=
 =
b=3Dthis._esc;if(b.escapeRegEx.test(a)){!this._load&&this._init();if(a.le=
ngth<128)a=3Da.replace(b.escapeRegExG,function(a){return =
b.escapeChars[a]});else for(var d=3D0;d<34;d++){var =
c=3Db.chars[d];if(a.indexOf(c)!=3D=3Dy){var =
f=3Db.escapeChars[c];a=3Dib("Opera")||ib(S)?a.split(c).join(f):a.replace(=
b.charsRegExs[c],f)}}}e.append(a).append('"')};w._serializeWithBuilder=3D=
function(b,a,q,p){var h=3Dthis,g;switch(typeof b){case =
o:if(b)if(Number.isInstanceOfType(b))h._serializeNumberWithBuilder(b,a);e=
lse if(Boolean.isInstanceOfType(b))a.append(b);else =
if(String.isInstanceOfType(b))h._serializeStringWithBuilder(b,a);else =
if(b instanceof =
Array){a.append("[");for(g=3D0;g<b.length;++g){g&&a.append(G);h._serializ=
eWithBuilder(b[g],a,d,p)}a.append("]")}else{if(Date.isInstanceOfType(b)){=
a.append('"\\/Date(').append(b.getTime()).append(')\\/"');break}var =
j=3D[],l=3D0;for(var m in =
b)if(m.charAt(0)!=3D=3Dn)if(m=3D=3D=3D"__type"&&l){j[l++]=3Dj[0];j[0]=3Dm=
}else j[l++]=3Dm;q&&j.sort();a.append("{");var r;for(g=3D0;g<l;g++){var =
t=3Dj[g],s=3Db[t],u=3Dtypeof =
s;if(u!=3D=3De&&u!=3D=3Df){r&&a.append(G);h._serializeWithBuilder(t,a,q,p=
);a.append(":");h._serializeWithBuilder(s,a,q,p);r=3Dc}}a.append("}")}els=
e a.append(U);break;case i:h._serializeNumberWithBuilder(b,a);break;case =
k:h._serializeStringWithBuilder(b,a);break;case"boolean":a.append(b);brea=
k;default:a.append(U)}};w.serialize=3Dfunction(c){var a=3Dnew =
b.StringBuilder;b.Serialization.JavaScriptSerializer._serializeWithBuilde=
r(c,a,d);return =
a.toString()};w.deserialize=3Dfunction(d,f){if(!d.length)throw =
Error.argument("data",b.Res.cannotDeserializeEmptyString);var =
h,c=3Db.Serialization.JavaScriptSerializer._esc;try{var =
e=3Dd.replace(c.dateRegEx,"$1new =
Date($2)");if(f&&c.jsonRegEx.test(e.replace(c.jsonStringRegEx,x)))throw =
a;return g.eval("("+e+")")}catch(h){throw =
Error.argument("data",b.Res.cannotDeserializeInvalidJson);}};Type.registe=
rNamespace("Sys.UI");w=3Db.EventHandlerList=3Dfunction(){this._list=3D{}}=
;w.prototype=3D{_addHandler:function(b,a){Array.add(this._getEvent(b,c),a=
)},addHandler:function(b,a){this._addHandler(b,a)},_removeHandler:functio=
n(c,b){var =
a=3Dthis._getEvent(c);if(!a)return;Array.remove(a,b)},_removeHandlers:fun=
ction(b){if(!b)this._list=3D{};else{var =
a=3Dthis._getEvent(b);if(!a)return;a.length=3D0}},removeHandler:function(=
b,a){this._removeHandler(b,a)},getHandler:function(c){var =
b=3Dthis._getEvent(c);if(!b||!b.length)return =
a;b=3DArray.clone(b);return function(c,d){for(var =
a=3D0,e=3Db.length;a<e;a++)b[a](c,d)}},_getEvent:function(c,d){var =
b=3Dthis._list[c];if(!b){if(!d)return a;this._list[c]=3Db=3D[]}return =
b}};w.registerClass("Sys.EventHandlerList");w=3Db.CommandEventArgs=3Dfunc=
tion(f,c,d,e){var =
a=3Dthis;b.CommandEventArgs.initializeBase(a);a._commandName=3Df;a._comma=
ndArgument=3Dc;a._commandSource=3Dd;a._commandEvent=3De};w.prototype=3D{g=
et_commandName:function(){return =
this._commandName||a},get_commandArgument:function(){return =
this._commandArgument},get_commandSource:function(){return =
this._commandSource||a},get_commandEvent:function(){return =
this._commandEvent||a}};w.registerClass("Sys.CommandEventArgs",b.CancelEv=
entArgs);w=3Db.INotifyPropertyChange=3Dfunction(){};w.registerInterface("=
Sys.INotifyPropertyChange");w=3Db.PropertyChangedEventArgs=3Dfunction(a){=
b.PropertyChangedEventArgs.initializeBase(this);this._propertyName=3Da};w=
.prototype=3D{get_propertyName:function(){return =
this._propertyName}};w.registerClass("Sys.PropertyChangedEventArgs",b.Eve=
ntArgs);w=3Db.INotifyDisposing=3Dfunction(){};w.registerInterface("Sys.IN=
otifyDisposing");w=3Db.Component=3Dfunction(){b.Application&&b.Applicatio=
n.registerDisposableObject(this)};w.prototype=3D{get_events:function(){re=
turn b.Observer._getContext(this,c).events},get_id:function(){return =
this._id||a},set_id:function(a){this._id=3Da},get_isInitialized:function(=
){return!!this._initialized},get_isUpdating:function(){return!!this._upda=
ting},add_disposing:function(a){this._addHandler(ab,a)},remove_disposing:=
function(a){this._removeHandler(ab,a)},add_propertyChanged:function(a){th=
is._addHandler(C,a)},remove_propertyChanged:function(a){this._removeHandl=
er(C,a)},_addHandler:function(a,c){b.Observer.addEventHandler(this,a,c)},=
_removeHandler:function(a,c){b.Observer.removeEventHandler(this,a,c)},beg=
inUpdate:function(){this._updating=3Dc},dispose:function(){var =
a=3Dthis;b.Observer.raiseEvent(a,ab);b.Observer.clearEventHandlers(a);b.A=
pplication.unregisterDisposableObject(a);b.Application.removeComponent(a)=
},endUpdate:function(){var =
a=3Dthis;a._updating=3Dd;!a._initialized&&a.initialize();a.updated()},ini=
tialize:function(){this._initialized=3Dc},raisePropertyChanged:function(a=
){b.Observer.raisePropertyChanged(this,a)},updated:function(){}};w.regist=
erClass("Sys.Component",a,b.IDisposable,b.INotifyPropertyChange,b.INotify=
Disposing);w._setProperties=3Dfunction(c,l){var =
e,m=3DObject.getType(c),h=3Dm=3D=3D=3DObject||m=3D=3D=3Db.UI.DomElement,k=
=3Db.Component.isInstanceOfType(c)&&!c.get_isUpdating();k&&c.beginUpdate(=
);for(var g in l){var d=3Dl[g],i=3Dh?a:c[V+g];if(h||typeof =
i!=3D=3Df){var n=3Dc[g];if(!d||typeof d!=3D=3Do||h&&!n)c[g]=3Dd;else =
this._setProperties(n,d)}else{var p=3Dc[t+g];if(typeof =
p=3D=3D=3Df)p.apply(c,[d]);else if(d instanceof =
Array){e=3Di.apply(c);for(var =
j=3D0,q=3De.length,r=3Dd.length;j<r;j++,q++)e[q]=3Dd[j]}else if(typeof =
d=3D=3D=3Do&&Object.getType(d)=3D=3D=3DObject){e=3Di.apply(c);this._setPr=
operties(e,d)}}}k&&c.endUpdate()};w._setReferences=3Dfunction(e,d){var =
a,c=3D{};v(d,function(d,e){c[e]=3Da=3D$find(d);if(!a)throw =
Error.invalidOperation(String.format(b.Res.referenceNotFound,d));});b._se=
t(e,c)};$create=3Dw.create=3Dfunction(g,d,c,h,e){var a=3De?new g(e):new =
g;u(a,jb);d&&b.Component._setProperties(a,d);if(c)for(var f in =
c)a["add_"+f](c[f]);b.Component._register(a,h);return =
a};w._register=3Dfunction(a,d,f){var =
g;if(b.Component.isInstanceOfType(a)){g=3Dc;var =
e=3Db.Application;a.get_id()&&e.addComponent(a);if(e.get_isCreatingCompon=
ents()){e._createdComponents.push(a);if(d)e._addComponentToSecondPass(a,d=
);else!f&&a.endUpdate()}else{d&&b.Component._setReferences(a,d);!f&&a.end=
Update()}}return g};b._getComponent=3Dfunction(d,c){var =
a=3Db.Application.findComponent(c);a&&d.push(a)};b._2Pass=3Dfunction(d){v=
ar =
a=3Db.Application,c=3D!a.get_isCreatingComponents();c&&a.beginCreateCompo=
nents();p(d,function(a){a()});c&&a.endCreateComponents()};w=3Db.UI.MouseB=
utton=3Dfunction(){};w.prototype=3D{leftButton:0,middleButton:1,rightButt=
on:2};w.registerEnum("Sys.UI.MouseButton");w=3Db.UI.Key=3Dfunction(){};w.=
prototype=3D{backspace:8,tab:9,enter:13,esc:27,space:32,pageUp:33,pageDow=
n:34,end:35,home:36,left:37,up:38,right:39,down:40,del:127};w.registerEnu=
m("Sys.UI.Key");w=3Db.UI.Point=3Dfunction(a,b){this.x=3Da;this.y=3Db};w.r=
egisterClass("Sys.UI.Point");w=3Db.UI.Bounds=3Dfunction(d,e,c,b){var =
a=3Dthis;a.x=3Dd;a.y=3De;a.height=3Db;a.width=3Dc};w.registerClass("Sys.U=
I.Bounds");w=3Db.UI.DomEvent=3Dfunction(h){var =
c=3Dthis,a=3Dh,d=3Dc.type=3Da.type.toLowerCase();c.rawEvent=3Da;c.altKey=3D=
a.altKey;if(typeof a.button!=3D=3De)c.button=3Dtypeof =
a.which!=3D=3De?a.button:a.button=3D=3D=3D4?b.UI.MouseButton.middleButton=
:a.button=3D=3D=3D2?b.UI.MouseButton.rightButton:b.UI.MouseButton.leftBut=
ton;if(d=3D=3D=3D"keypress")c.charCode=3Da.charCode||a.keyCode;else =
if(a.keyCode&&a.keyCode=3D=3D=3D46)c.keyCode=3D127;else =
c.keyCode=3Da.keyCode;c.clientX=3Da.clientX;c.clientY=3Da.clientY;c.ctrlK=
ey=3Da.ctrlKey;c.target=3Da.target||a.srcElement;if(!d.startsWith("key"))=
if(typeof a.offsetX!=3D=3De&&typeof =
a.offsetY!=3D=3De){c.offsetX=3Da.offsetX;c.offsetY=3Da.offsetY}else =
if(c.target&&c.target.nodeType!=3D=3D3&&typeof a.clientX=3D=3D=3Di){var =
f=3Db.UI.DomElement.getLocation(c.target),g=3Db.UI.DomElement._getWindow(=
c.target);c.offsetX=3D(g.pageXOffset||0)+a.clientX-f.x;c.offsetY=3D(g.pag=
eYOffset||0)+a.clientY-f.y}c.screenX=3Da.screenX;c.screenY=3Da.screenY;c.=
shiftKey=3Da.shiftKey};w.prototype=3D{preventDefault:function(){var =
a=3Dthis.rawEvent;if(a.preventDefault)a.preventDefault();else =
if(g.event)a.returnValue=3Dd},stopPropagation:function(){var =
a=3Dthis.rawEvent;if(a.stopPropagation)a.stopPropagation();else =
if(g.event)a.cancelBubble=3Dc}};w.registerClass("Sys.UI.DomEvent");$addHa=
ndler=3Dw.addHandler=3Dfunction(f,a,c,e){b.query(f).each(function(){var =
f=3Dthis,i=3Df.nodeType;if(i=3D=3D=3D3||i=3D=3D=3D2||i=3D=3D=3D8)return;i=
f(!f._events)f._events=3D{};var =
h=3Df._events[a];if(!h)f._events[a]=3Dh=3D[];var =
j=3Df,g;if(f.addEventListener){g=3Dfunction(a){return c.call(j,new =
b.UI.DomEvent(a))};f.addEventListener(a,g,d)}else =
if(f.attachEvent){g=3Dfunction(){var =
d,a=3D{};try{a=3Db.UI.DomElement._getWindow(j).event}catch(d){}return =
c.call(j,new =
b.UI.DomEvent(a))};f.attachEvent(q+a,g)}h.push({handler:c,browserHandler:=
g,autoRemove:e});e&&b.UI.DomElement._onDispose(f,b.UI.DomEvent._disposeHa=
ndlers)})};b.registerPlugin({name:"addHandler",dom:c,plugin:function(c,d,=
a){b.UI.DomEvent.addHandler(this.get(),c,d,a);return =
this}});$addHandlers=3Dw.addHandlers=3Dfunction(f,c,a,e){b.query(f).each(=
function(){var =
b=3Dthis.nodeType;if(b=3D=3D=3D3||b=3D=3D=3D2||b=3D=3D=3D8)return;for(var=
 g in c){var =
f=3Dc[g];if(a)f=3DFunction.createDelegate(a,f);$addHandler(this,g,f,e||d)=
}})};b.registerPlugin({name:"addHandlers",dom:c,plugin:function(d,a,c){b.=
UI.DomEvent.addHandlers(this.get(),d,a,c);return =
this}});$clearHandlers=3Dw.clearHandlers=3Dfunction(a){b.query(a).each(fu=
nction(){var =
a=3Dthis.nodeType;if(a=3D=3D=3D3||a=3D=3D=3D2||a=3D=3D=3D8)return;b.UI.Do=
mEvent._clearHandlers(this,d)})};b.registerPlugin({name:"clearHandlers",d=
om:c,plugin:function(){b.UI.DomEvent.clearHandlers(this.get());return =
this}});w._clearHandlers=3Dfunction(c,a){b.query(c).each(function(){var =
b=3Dthis.nodeType;if(b=3D=3D=3D3||b=3D=3D=3D2||b=3D=3D=3D8)return;var =
c=3Dthis._events;if(c)for(var g in c)for(var =
e=3Dc[g],d=3De.length-1;d>=3D0;d--){var =
f=3De[d];(!a||f.autoRemove)&&$removeHandler(this,g,f.handler)}})};w._disp=
oseHandlers=3Dfunction(){b.UI.DomEvent._clearHandlers(this,c)};$removeHan=
dler=3Dw.removeHandler=3Dfunction(c,a,d){b.UI.DomEvent._removeHandler(c,a=
,d)};w._removeHandler=3Dfunction(e,c,f){b.query(e).each(function(){var =
b=3Dthis,i=3Db.nodeType;if(i=3D=3D=3D3||i=3D=3D=3D2||i=3D=3D=3D8)return;f=
or(var =
h=3Da,g=3Db._events[c],e=3D0,j=3Dg.length;e<j;e++)if(g[e].handler=3D=3D=3D=
f){h=3Dg[e].browserHandler;break}if(b.removeEventListener)b.removeEventLi=
stener(c,h,d);else =
b.detachEvent&&b.detachEvent(q+c,h);g.splice(e,1)})};b.registerPlugin({na=
me:"removeHandler",dom:c,plugin:function(a,c){b.UI.DomEvent.removeHandler=
(this.get(),a,c);return =
this}});w=3Db.UI.DomElement=3Dfunction(){};w.registerClass("Sys.UI.DomEle=
ment");w.addCssClass=3Dfunction(a,c){if(!b.UI.DomElement.containsCssClass=
(a,c))if(a.className=3D=3D=3Dx)a.className=3Dc;else =
a.className+=3Dh+c};w.containsCssClass=3Dfunction(b,a){return =
Array.contains(b.className.split(h),a)};w.getBounds=3Dfunction(a){var =
c=3Db.UI.DomElement.getLocation(a);return new =
b.UI.Bounds(c.x,c.y,a.offsetWidth||0,a.offsetHeight||0)};$get=3Dw.getElem=
entById=3Dfunction(d,c){return =
b.get(l+d,c||a)};if(document.documentElement.getBoundingClientRect)w.getL=
ocation=3Dfunction(d){if(d.self||d.nodeType=3D=3D=3D9||d=3D=3D=3Ddocument=
.documentElement||d.parentNode=3D=3D=3Dd.ownerDocument.documentElement)re=
turn new b.UI.Point(0,0);var j=3Dd.getBoundingClientRect();if(!j)return =
new b.UI.Point(0,0);var =
n,e=3Dd.ownerDocument,i=3De.documentElement,f=3DMath.round(j.left)+(i.scr=
ollLeft||(e.body?e.body.scrollLeft:0)),g=3DMath.round(j.top)+(i.scrollTop=
||(e.body?e.body.scrollTop:0));if(ib(bb)){try{var =
h=3Dd.ownerDocument.parentWindow.frameElement||a;if(h){h=3Dh.frameBorder;=
var =
k=3Dh=3D=3D=3D"0"||h=3D=3D=3D"no"?2:0;f+=3Dk;g+=3Dk}}catch(n){}if(b.Brows=
er.version=3D=3D=3D7&&!document.documentMode){var =
l=3Ddocument.body,m=3Dl.getBoundingClientRect(),c=3D(m.right-m.left)/l.cl=
ientWidth;c=3DMath.round(c*B);c=3D(c-c%5)/B;if(!isNaN(c)&&c!=3D=3D1){f=3D=
Math.round(f/c);g=3DMath.round(g/c)}}if((document.documentMode||0)<8){f-=3D=
i.clientLeft;g-=3Di.clientTop}}return new b.UI.Point(f,g)};else =
if(ib("Safari"))w.getLocation=3Dfunction(e){if(e.window&&e.window=3D=3D=3D=
e||e.nodeType=3D=3D=3D9)return new b.UI.Point(0,0);for(var =
f=3D0,g=3D0,k=3Da,i=3Da,d,c=3De;c;k=3Dc,i=3Dd,c=3Dc.offsetParent){d=3Db.U=
I.DomElement._getCurrentStyle(c);var =
h=3Dc.tagName?c.tagName.toUpperCase():a;if((c.offsetLeft||c.offsetTop)&&(=
h!=3D=3DO||(!i||i.position!=3D=3DI))){f+=3Dc.offsetLeft;g+=3Dc.offsetTop}=
if(k&&b.Browser.version>=3D3){f+=3DparseInt(d.borderLeftWidth);g+=3Dparse=
Int(d.borderTopWidth)}}d=3Db.UI.DomElement._getCurrentStyle(e);var =
l=3Dd?d.position:a;if(l!=3D=3DI)for(c=3De.parentNode;c;c=3Dc.parentNode){=
h=3Dc.tagName?c.tagName.toUpperCase():a;if(h!=3D=3DO&&h!=3D=3Dcb&&(c.scro=
llLeft||c.scrollTop)){f-=3Dc.scrollLeft||0;g-=3Dc.scrollTop||0}d=3Db.UI.D=
omElement._getCurrentStyle(c);var =
j=3Dd?d.position:a;if(j&&j=3D=3D=3DI)break}return new =
b.UI.Point(f,g)};else =
w.getLocation=3Dfunction(f){if(f.window&&f.window=3D=3D=3Df||f.nodeType=3D=
=3D=3D9)return new b.UI.Point(0,0);for(var =
g=3D0,h=3D0,j=3Da,i=3Da,d=3Da,c=3Df;c;j=3Dc,i=3Dd,c=3Dc.offsetParent){var=
 =
e=3Dc.tagName?c.tagName.toUpperCase():a;d=3Db.UI.DomElement._getCurrentSt=
yle(c);if((c.offsetLeft||c.offsetTop)&&!(e=3D=3D=3DO&&(!i||i.position!=3D=
=3DI))){g+=3Dc.offsetLeft;h+=3Dc.offsetTop}if(j!=3D=3Da&&d){if(e!=3D=3D"T=
ABLE"&&e!=3D=3D"TD"&&e!=3D=3Dcb){g+=3DparseInt(d.borderLeftWidth)||0;h+=3D=
parseInt(d.borderTopWidth)||0}if(e=3D=3D=3D"TABLE"&&(d.position=3D=3D=3D"=
relative"||d.position=3D=3D=3DI)){g+=3DparseInt(d.marginLeft)||0;h+=3Dpar=
seInt(d.marginTop)||0}}}d=3Db.UI.DomElement._getCurrentStyle(f);var =
k=3Dd?d.position:a;if(k!=3D=3DI)for(c=3Df.parentNode;c;c=3Dc.parentNode){=
e=3Dc.tagName?c.tagName.toUpperCase():a;if(e!=3D=3DO&&e!=3D=3Dcb&&(c.scro=
llLeft||c.scrollTop)){g-=3Dc.scrollLeft||0;h-=3Dc.scrollTop||0;d=3Db.UI.D=
omElement._getCurrentStyle(c);if(d){g+=3DparseInt(d.borderLeftWidth)||0;h=
+=3DparseInt(d.borderTopWidth)||0}}}return new =
b.UI.Point(g,h)};w.isDomElement=3Dfunction(a){return =
b._isDomElement(a)};w.removeCssClass=3Dfunction(d,c){var =
a=3Dh+d.className+h,b=3Da.indexOf(h+c+h);if(b>=3D0)d.className=3D(a.subst=
r(0,b)+h+a.substring(b+c.length+1,a.length)).trim()};w.resolveElement=3Df=
unction(d,e){var c=3Dd;if(!c)return a;if(typeof =
c=3D=3D=3Dk)c=3Db.get(l+c,e);return =
c};w.raiseBubbleEvent=3Dfunction(c,d){var b=3Dc;while(b){var =
a=3Db.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){!a.onBubbleEvent=
(c,d)&&a._raiseBubbleEvent(c,d);return}b=3Db.parentNode}};w._ensureGet=3D=
function(a,c){return b.get(a,c)};w.setLocation=3Dfunction(b,c,d){var =
a=3Db.style;a.position=3DI;a.left=3Dc+"px";a.top=3Dd+"px"};w.toggleCssCla=
ss=3Dfunction(c,a){if(b.UI.DomElement.containsCssClass(c,a))b.UI.DomEleme=
nt.removeCssClass(c,a);else =
b.UI.DomElement.addCssClass(c,a)};w.getVisibilityMode=3Dfunction(a){retur=
n =
a._visibilityMode=3D=3D=3Db.UI.VisibilityMode.hide?b.UI.VisibilityMode.hi=
de:b.UI.VisibilityMode.collapse};w.setVisibilityMode=3Dfunction(a,c){b.UI=
.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!=3D=3Dc){a._vis=
ibilityMode=3Dc;if(b.UI.DomElement.getVisible(a)=3D=3D=3Dd)a.style.displa=
y=3Dc=3D=3D=3Db.UI.VisibilityMode.hide?a._oldDisplayMode:P}};w.getVisible=
=3Dfunction(d){var =
a=3Dd.currentStyle||b.UI.DomElement._getCurrentStyle(d);return =
a?a.visibility!=3D=3D"hidden"&&a.display!=3D=3DP:c};w.setVisible=3Dfuncti=
on(a,c){if(c!=3D=3Db.UI.DomElement.getVisible(a)){b.UI.DomElement._ensure=
OldDisplayMode(a);var =
d=3Da.style;d.visibility=3Dc?"visible":"hidden";d.display=3Dc||a._visibil=
ityMode=3D=3D=3Db.UI.VisibilityMode.hide?a._oldDisplayMode:P}};w.setComma=
nd=3Dfunction(d,f,a,e){b.UI.DomEvent.addHandler(d,"click",function(d){var=
 c=3De||this;b.UI.DomElement.raiseBubbleEvent(c,new =
b.CommandEventArgs(f,a,this,d))},c)};b.registerPlugin({name:"setCommand",=
dom:c,plugin:function(e,a,d){return =
this.addHandler("click",function(f){var =
c=3Dd||this;b.UI.DomElement.raiseBubbleEvent(c,new =
b.CommandEventArgs(e,a,this,f))},c)}});w._ensureOldDisplayMode=3Dfunction=
(b){if(!b._oldDisplayMode){var =
e=3Db.currentStyle||this._getCurrentStyle(b);b._oldDisplayMode=3De?e.disp=
lay:a;if(!b._oldDisplayMode||b._oldDisplayMode=3D=3D=3DP){var =
d=3Db.tagName,c=3D"inline";if(/^(DIV|P|ADDRESS|BLOCKQUOTE|BODY|COL|COLGRO=
UP|DD|DL|DT|FIELDSET|FORM|H1|H2|H3|H4|H5|H6|HR|IFRAME|LEGEND|OL|PRE|TABLE=
|TD|TH|TR|UL)$/i.test(d))c=3D"block";else =
if(d.toUpperCase()=3D=3D=3D"LI")c=3D"list-item";b._oldDisplayMode=3Dc}}};=
w._getWindow=3Dfunction(a){var b=3Da.ownerDocument||a.document||a;return =
b.defaultView||b.parentWindow};w._getCurrentStyle=3Dfunction(b){if(b.node=
Type=3D=3D=3D3)return a;var =
c=3Dthis._getWindow(b);if(b.documentElement)b=3Db.documentElement;var =
d=3Dc&&b!=3D=3Dc&&c.getComputedStyle?c.getComputedStyle(b,a):b.currentSty=
le||b.style;return d};w._onDispose=3Dfunction(a,e){var =
c,d=3Da.dispose;if(d!=3D=3Db.UI.DomElement._dispose){a.dispose=3Db.UI.Dom=
Element._dispose;a.__msajaxdispose=3Dc=3D[];typeof =
d=3D=3D=3Df&&c.push(d)}else =
c=3Da.__msajaxdispose;c.push(e)};w._dispose=3Dfunction(){var =
b=3Dthis,c=3Db.__msajaxdispose;if(c)for(var =
d=3D0,e=3Dc.length;d<e;d++)c[d].apply(b);b.control&&typeof =
b.control.dispose=3D=3D=3Df&&b.control.dispose();b.__msajaxdispose=3Da;b.=
dispose=3Da};w=3Db.IContainer=3Dfunction(){};w.registerInterface("Sys.ICo=
ntainer");w=3Db.ApplicationLoadEventArgs=3Dfunction(c,a){b.ApplicationLoa=
dEventArgs.initializeBase(this);this._components=3Dc;this._isPartialLoad=3D=
a};w.prototype=3D{get_components:function(){return =
this._components},get_isPartialLoad:function(){return =
this._isPartialLoad}};w.registerClass("Sys.ApplicationLoadEventArgs",b.Ev=
entArgs);w=3Db._Application=3Dfunction(){var =
a=3Dthis;b._Application.initializeBase(a);a._disposableObjects=3D[];a._co=
mponents=3D{};a._createdComponents=3D[];a._secondPassComponents=3D[];a._u=
nloadHandlerDelegate=3DFunction.createDelegate(a,a._unloadHandler);b.UI.D=
omEvent.addHandler(g,L,a._unloadHandlerDelegate)};w.prototype=3D{_deleteC=
ount:0,get_isCreatingComponents:function(){return!!this._creatingComponen=
ts},get_isDisposing:function(){return!!this._disposing},add_init:function=
(a){if(this._initialized)a(this,b.EventArgs.Empty);else =
this._addHandler(db,a)},remove_init:function(a){this._removeHandler(db,a)=
},add_load:function(a){this._addHandler(m,a)},remove_load:function(a){thi=
s._removeHandler(m,a)},add_unload:function(a){this._addHandler(L,a)},remo=
ve_unload:function(a){this._removeHandler(L,a)},addComponent:function(a){=
this._components[a.get_id()]=3Da},beginCreateComponents:function(){this._=
creatingComponents=3Dc},dispose:function(){var =
a=3Dthis;if(!a._disposing){a._disposing=3Dc;if(a._timerCookie){g.clearTim=
eout(a._timerCookie);delete a._timerCookie}var =
f=3Da._endRequestHandler,d=3Da._beginRequestHandler;if(f||d){var =
k=3Db.WebForms.PageRequestManager.getInstance();f&&k.remove_endRequest(f)=
;d&&k.remove_beginRequest(d);delete a._endRequestHandler;delete =
a._beginRequestHandler}g.pageUnload&&g.pageUnload(a,b.EventArgs.Empty);b.=
Observer.raiseEvent(a,L);for(var =
i=3DArray.clone(a._disposableObjects),h=3D0,m=3Di.length;h<m;h++){var =
j=3Di[h];typeof =
j!=3D=3De&&j.dispose()}a._disposableObjects.length=3D0;b.UI.DomEvent.remo=
veHandler(g,L,a._unloadHandlerDelegate);if(b._ScriptLoader){var =
l=3Db._ScriptLoader.getInstance();l&&l.dispose()}b._Application.callBaseM=
ethod(a,eb)}},disposeElement:function(c,m){var =
i=3Dthis;if(c.nodeType=3D=3D=3D1){for(var =
h,d,b,k=3Dc.getElementsByTagName("*"),j=3Dk.length,l=3Dnew =
Array(j),e=3D0;e<j;e++)l[e]=3Dk[e];for(e=3Dj-1;e>=3D0;e--){var =
g=3Dl[e];h=3Dg.dispose;if(h&&typeof =
h=3D=3D=3Df)g.dispose();else{d=3Dg.control;d&&typeof =
d.dispose=3D=3D=3Df&&d.dispose()}b=3Dg._behaviors;b&&i._disposeComponents=
(b);b=3Dg._components;if(b){i._disposeComponents(b);g._components=3Da}}if=
(!m){h=3Dc.dispose;if(h&&typeof =
h=3D=3D=3Df)c.dispose();else{d=3Dc.control;d&&typeof =
d.dispose=3D=3D=3Df&&d.dispose()}b=3Dc._behaviors;b&&i._disposeComponents=
(b);b=3Dc._components;if(b){i._disposeComponents(b);c._components=3Da}}}}=
,endCreateComponents:function(){for(var =
c=3Dthis._secondPassComponents,a=3D0,g=3Dc.length;a<g;a++){var =
f=3Dc[a],e=3Df.component;b.Component._setReferences(e,f.references);e.end=
Update()}this._secondPassComponents=3D[];this._creatingComponents=3Dd},fi=
ndComponent:function(d,c){return =
c?b.IContainer.isInstanceOfType(c)?c.findComponent(d):c[d]||a:b.Applicati=
on._components[d]||a},getComponents:function(){var =
c=3D[],a=3Dthis._components;for(var b in =
a)a.hasOwnProperty(b)&&c.push(a[b]);return =
c},initialize:function(){g.setTimeout(Function.createDelegate(this,this._=
doInitialize),0)},_doInitialize:function(){var =
a=3Dthis;if(!a.get_isInitialized()&&!a._disposing){b._Application.callBas=
eMethod(a,T);a._raiseInit();if(a.get_stateString){if(b.WebForms&&b.WebFor=
ms.PageRequestManager){var =
d=3Db.WebForms.PageRequestManager.getInstance();a._beginRequestHandler=3D=
Function.createDelegate(a,a._onPageRequestManagerBeginRequest);d.add_begi=
nRequest(a._beginRequestHandler);a._endRequestHandler=3DFunction.createDe=
legate(a,a._onPageRequestManagerEndRequest);d.add_endRequest(a._endReques=
tHandler)}var =
c=3Da.get_stateString();if(c!=3D=3Da._currentEntry)a._navigate(c);else =
a._ensureHistory()}a.raiseLoad()}},notifyScriptLoaded:function(){},regist=
erDisposableObject:function(b){if(!this._disposing){var =
a=3Dthis._disposableObjects,c=3Da.length;a[c]=3Db;b.__msdisposeindex=3Dc}=
},raiseLoad:function(){var a=3Dthis,d=3Dnew =
b.ApplicationLoadEventArgs(Array.clone(a._createdComponents),!!a._loaded)=
;a._loaded=3Dc;b.Observer.raiseEvent(a,m,d);g.pageLoad&&g.pageLoad(a,d);a=
._createdComponents=3D[]},removeComponent:function(b){var =
a=3Db.get_id();if(a)delete =
this._components[a]},unregisterDisposableObject:function(a){var =
b=3Dthis;if(!b._disposing){var g=3Da.__msdisposeindex;if(typeof =
g=3D=3D=3Di){var c=3Db._disposableObjects;delete c[g];delete =
a.__msdisposeindex;if(++b._deleteCount>1e3){for(var =
d=3D[],f=3D0,h=3Dc.length;f<h;f++){a=3Dc[f];if(typeof =
a!=3D=3De){a.__msdisposeindex=3Dd.length;d.push(a)}}b._disposableObjects=3D=
d;b._deleteCount=3D0}}}},_addComponentToSecondPass:function(b,a){this._se=
condPassComponents.push({component:b,references:a})},_disposeComponents:f=
unction(a){if(a)for(var b=3Da.length-1;b>=3D0;b--){var c=3Da[b];typeof =
c.dispose=3D=3D=3Df&&c.dispose()}},_raiseInit:function(){this.beginCreate=
Components();b.Observer.raiseEvent(this,db);this.endCreateComponents()},_=
unloadHandler:function(){this.dispose()}};w.registerClass("Sys._Applicati=
on",b.Component,b.IContainer);b.Application=3Dnew =
b._Application;g.$find=3Db.Application.findComponent;b.onReady(function()=
{b.Application._doInitialize()});w=3Db.UI.Behavior=3Dfunction(a){b.UI.Beh=
avior.initializeBase(this);this._element=3Da;var =
c=3Da._behaviors=3Da._behaviors||[];c.push(this)};w.prototype=3D{get_elem=
ent:function(){return this._element},get_id:function(){var =
c=3Db.UI.Behavior.callBaseMethod(this,"get_id");if(c)return c;var =
a=3Dthis._element;return!a||!a.id?x:a.id+n+this.get_name()},get_name:func=
tion(){var a=3Dthis;if(a._name)return a._name;var =
b=3DObject.getTypeName(a),c=3Db.lastIndexOf(j);if(c>=3D0)b=3Db.substr(c+1=
);if(!a._initialized)a._name=3Db;return =
b},set_name:function(a){this._name=3Da},initialize:function(){var =
a=3Dthis;b.UI.Behavior.callBaseMethod(a,T);var =
c=3Da.get_name();if(c)a._element[c]=3Da},dispose:function(){var =
c=3Dthis;b.UI.Behavior.callBaseMethod(c,eb);var d=3Dc._element;if(d){var =
f=3Dc.get_name();if(f)d[f]=3Da;var =
e=3Dd._behaviors;Array.remove(e,c);if(!e.length)d._behaviors=3Da;delete =
c._element}}};w.registerClass("Sys.UI.Behavior",b.Component);w.getBehavio=
rByName=3Dfunction(d,e){var c=3Dd[e];return =
c&&b.UI.Behavior.isInstanceOfType(c)?c:a};w.getBehaviors=3Dfunction(b){va=
r a=3Db._behaviors;return =
a?Array.clone(a):[]};b.UI.Behavior.getBehaviorsByType=3Dfunction(e,f){var=
 a=3De._behaviors,d=3D[];if(a)for(var b=3D0,g=3Da.length;b<g;b++){var =
c=3Da[b];f.isInstanceOfType(c)&&d.push(c)}return =
d};w=3Db.UI.VisibilityMode=3Dfunction(){};w.prototype=3D{hide:0,collapse:=
1};w.registerEnum("Sys.UI.VisibilityMode");w=3Db.UI.Control=3Dfunction(c)=
{var =
a=3Dthis;b.UI.Control.initializeBase(a);a._element=3Dc;c.control=3Da;var =
d=3Da.get_role();d&&c.setAttribute("role",d)};w.prototype=3D{_parent:a,_v=
isibilityMode:b.UI.VisibilityMode.hide,get_element:function(){return =
this._element},get_id:function(){return =
this._id||(this._element?this._element.id:x)},get_parent:function(){var =
c=3Dthis;if(c._parent)return c._parent;if(!c._element)return a;var =
b=3Dc._element.parentNode;while(b){if(b.control)return =
b.control;b=3Db.parentNode}return =
a},set_parent:function(a){this._parent=3Da},get_role:function(){return =
a},get_visibilityMode:function(){return =
b.UI.DomElement.getVisibilityMode(this._element)},set_visibilityMode:func=
tion(a){b.UI.DomElement.setVisibilityMode(this._element,a)},get_visible:f=
unction(){return =
b.UI.DomElement.getVisible(this._element)},set_visible:function(a){b.UI.D=
omElement.setVisible(this._element,a)},addCssClass:function(a){b.UI.DomEl=
ement.addCssClass(this._element,a)},dispose:function(){var =
c=3Dthis;b.UI.Control.callBaseMethod(c,eb);if(c._element){c._element.cont=
rol=3Da;delete c._element}if(c._parent)delete =
c._parent},onBubbleEvent:function(){return =
d},raiseBubbleEvent:function(a,b){this._raiseBubbleEvent(a,b)},_raiseBubb=
leEvent:function(b,c){var =
a=3Dthis.get_parent();while(a){if(a.onBubbleEvent(b,c))return;a=3Da.get_p=
arent()}},removeCssClass:function(a){b.UI.DomElement.removeCssClass(this.=
_element,a)},toggleCssClass:function(a){b.UI.DomElement.toggleCssClass(th=
is._element,a)}};w.registerClass("Sys.UI.Control",b.Component);w=3Db.Hist=
oryEventArgs=3Dfunction(a){b.HistoryEventArgs.initializeBase(this);this._=
state=3Da};w.prototype=3D{get_state:function(){return =
this._state}};w.registerClass("Sys.HistoryEventArgs",b.EventArgs);w=3Db.A=
pplication;w._currentEntry=3Dx;w._initialState=3Da;w._state=3D{};z=3Db._A=
pplication.prototype;z.get_stateString=3Dfunction(){var =
b=3Da;if(ib(S)){var =
d=3Dg.location.href,c=3Dd.indexOf(l);if(c!=3D=3Dy)b=3Dd.substring(c+1);el=
se b=3Dx;return b}else =
b=3Dg.location.hash;if(b.length&&b.charAt(0)=3D=3D=3Dl)b=3Db.substring(1)=
;return =
b};z.get_enableHistory=3Dfunction(){return!!this._enableHistory};z.set_en=
ableHistory=3Dfunction(a){this._enableHistory=3Da};z.add_navigate=3Dfunct=
ion(a){this._addHandler(fb,a)};z.remove_navigate=3Dfunction(a){this._remo=
veHandler(fb,a)};z.addHistoryPoint=3Dfunction(g,j){var =
b=3Dthis;b._ensureHistory();var d=3Db._state;for(var f in g){var =
h=3Dg[f];if(h=3D=3D=3Da){if(typeof d[f]!=3D=3De)delete d[f]}else =
d[f]=3Dh}var =
i=3Db._serializeState(d);b._historyPointIsNew=3Dc;b._setState(i,j);b._rai=
seNavigate()};z.setServerId=3Dfunction(a,b){this._clientId=3Da;this._uniq=
ueId=3Db};z.setServerState=3Dfunction(a){this._ensureHistory();this._stat=
e.__s=3Da;this._updateHiddenField(a)};z._deserializeState=3Dfunction(a){v=
ar e=3D{};a=3Da||x;var =
b=3Da.indexOf("&&");if(b!=3D=3Dy&&b+2<a.length){e.__s=3Da.substr(b+2);a=3D=
a.substr(0,b)}for(var g=3Da.split("&"),f=3D0,j=3Dg.length;f<j;f++){var =
d=3Dg[f],c=3Dd.indexOf("=3D");if(c!=3D=3Dy&&c+1<d.length){var =
i=3Dd.substr(0,c),h=3Dd.substr(c+1);e[i]=3DdecodeURIComponent(h)}}return =
e};z._enableHistoryInScriptManager=3Dfunction(){this._enableHistory=3Dc};=
z._ensureHistory=3Dfunction(){var =
a=3Dthis;if(!a._historyInitialized&&a._enableHistory){if(ib(bb)&&b.Browse=
r.documentMode<8){a._historyFrame=3Db.get("#__historyFrame");a._ignoreIFr=
ame=3Dc}a._timerHandler=3DFunction.createDelegate(a,a._onIdle);a._timerCo=
okie=3Dg.setTimeout(a._timerHandler,B);var =
d;try{a._initialState=3Da._deserializeState(a.get_stateString())}catch(d)=
{}a._historyInitialized=3Dc}};z._navigate=3Dfunction(d){var =
a=3Dthis;a._ensureHistory();var =
c=3Da._deserializeState(d);if(a._uniqueId){var =
e=3Da._state.__s||x,b=3Dc.__s||x;if(b!=3D=3De){a._updateHiddenField(b);__=
doPostBack(a._uniqueId,b);a._state=3Dc;return}}a._setState(d);a._state=3D=
c;a._raiseNavigate()};z._onIdle=3Dfunction(){var a=3Dthis;delete =
a._timerCookie;var =
b=3Da.get_stateString();if(b!=3D=3Da._currentEntry){if(!a._ignoreTimer){a=
._historyPointIsNew=3Dd;a._navigate(b)}}else =
a._ignoreTimer=3Dd;a._timerCookie=3Dg.setTimeout(a._timerHandler,B)};z._o=
nIFrameLoad=3Dfunction(b){var =
a=3Dthis;a._ensureHistory();if(!a._ignoreIFrame){a._historyPointIsNew=3Dd=
;a._navigate(b)}a._ignoreIFrame=3Dd};z._onPageRequestManagerBeginRequest=3D=
function(){this._ignoreTimer=3Dc;this._originalTitle=3Ddocument.title};z.=
_onPageRequestManagerEndRequest=3Dfunction(n,m){var =
f=3Dthis,j=3Dm.get_dataItems()[f._clientId],i=3Df._originalTitle;f._origi=
nalTitle=3Da;var =
h=3Db.get("#__EVENTTARGET");if(h&&h.value=3D=3D=3Df._uniqueId)h.value=3Dx=
;if(typeof j!=3D=3De){f.setServerState(j);f._historyPointIsNew=3Dc}else =
f._ignoreTimer=3Dd;var =
g=3Df._serializeState(f._state);if(g!=3D=3Df._currentEntry){f._ignoreTime=
r=3Dc;if(typeof i=3D=3D=3Dk){if(!ib(bb)||b.Browser.version>7){var =
l=3Ddocument.title;document.title=3Di;f._setState(g);document.title=3Dl}e=
lse =
f._setState(g);f._raiseNavigate()}else{f._setState(g);f._raiseNavigate()}=
}};z._raiseNavigate=3Dfunction(){var =
a=3Dthis,e=3Da._historyPointIsNew,d=3D{};for(var c in =
a._state)if(c!=3D=3D"__s")d[c]=3Da._state[c];var f=3Dnew =
b.HistoryEventArgs(d);b.Observer.raiseEvent(a,fb,f);if(!e){var =
h;try{if(ib(S)&&g.location.hash&&(!g.frameElement||g.top.location.hash))b=
.Browser.version<3.5?g.history.go(0):(location.hash=3Da.get_stateString()=
)}catch(h){}}};z._serializeState=3Dfunction(d){var c=3D[];for(var a in =
d){var e=3Dd[a];if(a=3D=3D=3D"__s")var b=3De;else =
c.push(a+"=3D"+encodeURIComponent(e))}return =
c.join("&")+(b?"&&"+b:x)};z._setState=3Dfunction(h,i){var =
f=3Dthis;if(f._enableHistory){h=3Dh||x;if(h!=3D=3Df._currentEntry){if(g.t=
heForm){var =
k=3Dg.theForm.action,m=3Dk.indexOf(l);g.theForm.action=3D(m!=3D=3Dy?k.sub=
string(0,m):k)+l+h}if(f._historyFrame&&f._historyPointIsNew){f._ignoreIFr=
ame=3Dc;var =
j=3Df._historyFrame.contentWindow.document;j.open("javascript:'<html></ht=
ml>'");j.write("<html><head><title>"+(i||document.title)+'</title><script=
 =
type=3D"text/javascript">parent.Sys.Application._onIFrameLoad('+b.Seriali=
zation.JavaScriptSerializer.serialize(h)+");<\/script></head><body></body=
></html>");j.close()}f._ignoreTimer=3Dd;f._currentEntry=3Dh;if(f._history=
Frame||f._historyPointIsNew){var =
n=3Df.get_stateString();if(h!=3D=3Dn){g.location.hash=3Dh;f._currentEntry=
=3Df.get_stateString();if(typeof =
i!=3D=3De&&i!=3D=3Da)document.title=3Di}}f._historyPointIsNew=3Dd}}};z._u=
pdateHiddenField=3Dfunction(b){if(this._clientId){var =
a=3Ddocument.getElementById(this._clientId);if(a)a.value=3Db}};if(!g.XMLH=
ttpRequest)g.XMLHttpRequest=3Dfunction(){for(var =
e,c=3D["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"],b=3D0,d=3Dc.length;b<d;b++)=
try{return new ActiveXObject(c[b])}catch(e){}return =
a};Type.registerNamespace("Sys.Net");w=3Db.Net.WebRequestExecutor=3Dfunct=
ion(){this._webRequest=3Da;this._resultObject=3Da};var =
R=3Dfunction(){};w.prototype=3D{get_started:R,get_responseAvailable:R,get=
_timedOut:R,get_aborted:R,get_responseData:R,get_statusCode:R,get_statusT=
ext:R,get_xml:R,executeRequest:R,abort:R,getAllResponseHeaders:R,getRespo=
nseHeader:R,get_webRequest:function(){return =
this._webRequest},_set_webRequest:function(a){this._webRequest=3Da},get_o=
bject:function(){var =
a=3Dthis._resultObject;if(!a)this._resultObject=3Da=3Db.Serialization.Jav=
aScriptSerializer.deserialize(this.get_responseData());return =
a}};w.registerClass("Sys.Net.WebRequestExecutor");b.Net.XMLDOM=3Dfunction=
(f){if(!g.DOMParser)for(var =
j,e=3D["Msxml2.DOMDocument.3.0","Msxml2.DOMDocument"],c=3D0,i=3De.length;=
c<i;c++)try{var b=3Dnew =
ActiveXObject(e[c]);b.async=3Dd;b.loadXML(f);b.setProperty(rb,"XPath");re=
turn b}catch(j){}else try{var h=3Dnew g.DOMParser;return =
h.parseFromString(f,kb)}catch(j){}return =
a};w=3Db.Net.XMLHttpExecutor=3Dfunction(){var =
f=3Dthis;b.Net.XMLHttpExecutor.initializeBase(f);var =
d=3Df;f._onReadyStateChange=3Dfunction(){if(d._xmlHttpRequest.readyState=3D=
=3D=3D4){try{if(typeof =
d._xmlHttpRequest.status=3D=3D=3De)return}catch(f){return}d._clearTimer()=
;d._responseAvailable=3Dc;try{d._webRequest.completed(b.EventArgs.Empty)}=
finally{if(d._xmlHttpRequest){d._xmlHttpRequest.onreadystatechange=3DFunc=
tion.emptyMethod;d._xmlHttpRequest=3Da}}}};f._clearTimer=3Dfunction(){if(=
d._timer){g.clearTimeout(d._timer);d._timer=3Da}};f._onTimeout=3Dfunction=
(){if(!d._responseAvailable){d._clearTimer();d._timedOut=3Dc;var =
e=3Dd._xmlHttpRequest;e.onreadystatechange=3DFunction.emptyMethod;e.abort=
();d._webRequest.completed(b.EventArgs.Empty);d._xmlHttpRequest=3Da}}};w.=
prototype=3D{get_timedOut:function(){return!!this._timedOut},get_started:=
function(){return!!this._started},get_responseAvailable:function(){return=
!!this._responseAvailable},get_aborted:function(){return!!this._aborted},=
executeRequest:function(){var =
b=3Dthis,e=3Db.get_webRequest();b._webRequest=3De;var =
i=3De.get_body(),h=3De.get_headers(),d=3Dnew =
XMLHttpRequest;b._xmlHttpRequest=3Dd;d.onreadystatechange=3Db._onReadySta=
teChange;var =
l=3De.get_httpVerb();d.open(l,e.getResolvedUrl(),c);d.setRequestHeader("X=
-Requested-With","XMLHttpRequest");if(h)for(var k in h){var =
m=3Dh[k];typeof =
m!=3D=3Df&&d.setRequestHeader(k,m)}if(l.toLowerCase()=3D=3D=3D"post"){(h=3D=
=3D=3Da||!h[M])&&d.setRequestHeader(M,"application/x-www-form-urlencoded;=
 charset=3Dutf-8");if(!i)i=3Dx}var =
j=3De.get_timeout();if(j>0)b._timer=3Dg.setTimeout(Function.createDelegat=
e(b,b._onTimeout),j);d.send(i);b._started=3Dc},getResponseHeader:function=
(b){var =
c,a;try{a=3Dthis._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a=3D=
x;return a},getAllResponseHeaders:function(){return =
this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function()=
{return this._xmlHttpRequest.responseText},get_statusCode:function(){var =
b,a=3D0;try{a=3Dthis._xmlHttpRequest.status}catch(b){}return =
a},get_statusText:function(){return =
this._xmlHttpRequest.statusText},get_xml:function(){var =
d=3D"parsererror",e=3Dthis._xmlHttpRequest,c=3De.responseXML;if(!c||!c.do=
cumentElement){c=3Db.Net.XMLDOM(e.responseText);if(!c||!c.documentElement=
)return a}else =
navigator.userAgent.indexOf("MSIE")!=3D=3Dy&&c.setProperty(rb,"XPath");re=
turn =
c.documentElement.namespaceURI=3D=3D=3D"http://www.mozilla.org/newlayout/=
xml/parsererror.xml"&&c.documentElement.tagName=3D=3D=3Dd?a:c.documentEle=
ment.firstChild&&c.documentElement.firstChild.tagName=3D=3D=3Dd?a:c},abor=
t:function(){var =
d=3Dthis;if(d._aborted||d._responseAvailable||d._timedOut)return;d._abort=
ed=3Dc;d._clearTimer();var =
e=3Dd._xmlHttpRequest;if(e&&!d._responseAvailable){e.onreadystatechange=3D=
Function.emptyMethod;e.abort();d._xmlHttpRequest=3Da;d._webRequest.comple=
ted(b.EventArgs.Empty)}}};w.registerClass(vb,b.Net.WebRequestExecutor);w=3D=
b.Net._WebRequestManager=3Dfunction(){this._defaultExecutorType=3Dvb};w.p=
rototype=3D{add_invokingRequest:function(a){b.Observer.addEventHandler(th=
is,gb,a)},remove_invokingRequest:function(a){b.Observer.removeEventHandle=
r(this,gb,a)},add_completedRequest:function(a){b.Observer.addEventHandler=
(this,hb,a)},remove_completedRequest:function(a){b.Observer.removeEventHa=
ndler(this,hb,a)},get_defaultTimeout:function(){return =
this._defaultTimeout||0},set_defaultTimeout:function(a){this._defaultTime=
out=3Da},get_defaultExecutorType:function(){return =
this._defaultExecutorType},set_defaultExecutorType:function(a){this._defa=
ultExecutorType=3Da},executeRequest:function(d){var =
a=3Dd.get_executor();if(!a){var i,h;try{var =
f=3Dg.eval(this._defaultExecutorType);a=3Dnew =
f}catch(i){h=3Dc}d.set_executor(a)}if(!a.get_aborted()){var e=3Dnew =
b.Net.NetworkRequestEventArgs(d);b.Observer.raiseEvent(this,gb,e);!e.get_=
cancel()&&a.executeRequest()}}};w.registerClass("Sys.Net._WebRequestManag=
er");b.Net.WebRequestManager=3Dnew =
b.Net._WebRequestManager;w=3Db.Net.NetworkRequestEventArgs=3Dfunction(a){=
b.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=3Da};=
w.prototype=3D{get_webRequest:function(){return =
this._webRequest}};w.registerClass("Sys.Net.NetworkRequestEventArgs",b.Ca=
ncelEventArgs);w=3Db.Net.WebRequest=3Dfunction(){var =
b=3Dthis;b._url=3Dx;b._headers=3D{};b._body=3Da;b._userContext=3Da;b._htt=
pVerb=3Da};w.prototype=3D{add_completed:function(a){b.Observer.addEventHa=
ndler(this,Q,a)},remove_completed:function(a){b.Observer.removeEventHandl=
er(this,Q,a)},completed:function(e){var a=3Dthis;function d(g,f,d){var =
a=3Db.Observer._getContext(g,c).events.getHandler(d);a&&a(f,e)}d(b.Net.We=
bRequestManager,a._executor,hb);d(a,a._executor,Q);b.Observer.clearEventH=
andlers(a,Q)},get_url:function(){return =
this._url},set_url:function(a){this._url=3Da},get_headers:function(){retu=
rn this._headers},get_httpVerb:function(){return =
this._httpVerb=3D=3D=3Da?this._body=3D=3D=3Da?"GET":"POST":this._httpVerb=
},set_httpVerb:function(a){this._httpVerb=3Da},get_body:function(){return=
 =
this._body},set_body:function(a){this._body=3Da},get_userContext:function=
(){return =
this._userContext},set_userContext:function(a){this._userContext=3Da},get=
_executor:function(){return =
this._executor||a},set_executor:function(a){this._executor=3Da;a._set_web=
Request(this)},get_timeout:function(){return =
this._timeout||b.Net.WebRequestManager.get_defaultTimeout()},set_timeout:=
function(a){this._timeout=3Da},getResolvedUrl:function(){return =
b.Net.WebRequest._resolveUrl(this._url)},invoke:function(){b.Net.WebReque=
stManager.executeRequest(this)}};w._resolveUrl=3Dfunction(c,a){if(c&&c.in=
dexOf("://")>0)return c;if(!a||!a.length){var =
e=3Db.get("base");if(e&&e.href&&e.href.length)a=3De.href;else =
a=3Ddocument.URL}var =
d=3Da.indexOf("?");if(d>0)a=3Da.substr(0,d);d=3Da.indexOf(l);if(d>0)a=3Da=
.substr(0,d);a=3Da.substr(0,a.lastIndexOf(D)+1);if(!c||!c.length)return =
a;if(c.charAt(0)=3D=3D=3DD){var =
f=3Da.indexOf("://"),h=3Da.indexOf(D,f+3);return =
a.substr(0,h)+c}else{var g=3Da.lastIndexOf(D);return =
a.substr(0,g+1)+c}};w._createQueryString=3Dfunction(d,c,h){c=3Dc||encodeU=
RIComponent;var j=3D0,g,i,e,a=3Dnew b.StringBuilder;if(d)for(e in =
d){g=3Dd[e];if(typeof =
g=3D=3D=3Df)continue;i=3Db.Serialization.JavaScriptSerializer.serialize(g=
);j++&&a.append("&");a.append(e);a.append("=3D");a.append(c(i))}if(h){j&&=
a.append("&");a.append(h)}return =
a.toString()};w._createUrl=3Dfunction(c,d,e){if(!d&&!e)return c;var =
f=3Db.Net.WebRequest._createQueryString(d,a,e);return =
f.length?c+(c&&c.indexOf("?")>=3D0?"&":"?")+f:c};w.registerClass("Sys.Net=
.WebRequest");Type.registerNamespace("Sys.Net");w=3Db.Net.WebServiceProxy=
=3Dfunction(){var a=3DObject.getType(this);if(a._staticInstance&&typeof =
a._staticInstance.get_enableJsonp=3D=3D=3Df)this._jsonp=3Da._staticInstan=
ce.get_enableJsonp()};w.prototype=3D{get_timeout:function(){return =
this._timeout||0},set_timeout:function(a){this._timeout=3Da},get_defaultU=
serContext:function(){return typeof =
this._userContext=3D=3D=3De?a:this._userContext},set_defaultUserContext:f=
unction(a){this._userContext=3Da},get_defaultSucceededCallback:function()=
{return =
this._succeeded||a},set_defaultSucceededCallback:function(a){this._succee=
ded=3Da},get_defaultFailedCallback:function(){return =
this._failed||a},set_defaultFailedCallback:function(a){this._failed=3Da},=
get_enableJsonp:function(){return!!this._jsonp},set_enableJsonp:function(=
a){this._jsonp=3Da},get_path:function(){return =
this._path||a},set_path:function(a){this._path=3Da},get_jsonpCallbackPara=
meter:function(){return =
this._callbackParameter||sb},set_jsonpCallbackParameter:function(a){this.=
_callbackParameter=3Da},_invoke:function(h,i,k,j,g,f,d){var =
c=3Dthis;g=3Dg||c.get_defaultSucceededCallback();f=3Df||c.get_defaultFail=
edCallback();if(d=3D=3D=3Da||typeof =
d=3D=3D=3De)d=3Dc.get_defaultUserContext();return =
b.Net.WebServiceProxy.invoke(h,i,k,j,g,f,d,c.get_timeout(),c.get_enableJs=
onp(),c.get_jsonpCallbackParameter())}};w.registerClass("Sys.Net.WebServi=
ceProxy");w.invoke=3Dfunction(v,f,r,q,p,h,l,m,C,u){var =
o=3DC!=3D=3Dd?b.Net.WebServiceProxy._xdomain.exec(v):a,i,s=3Do&&o.length=3D=
=3D=3D3&&(o[1]!=3D=3Dlocation.protocol||o[2]!=3D=3Dlocation.host);r=3Ds||=
r;if(s){u=3Du||sb;i=3D"_jsonp"+b._jsonp++}if(!q)q=3D{};var =
w=3Dq;if(!r||!w)w=3D{};var =
n,k=3Da,t=3Da,A=3Db.Net.WebRequest._createUrl(f?v+D+encodeURIComponent(f)=
:v,w,s?u+"=3DSys."+i:a);if(s){function =
B(){if(k=3D=3D=3Da)return;k=3Da;n=3Dnew =
b.Net.WebServiceError(c,String.format(b.Res.webServiceTimedOut,f));delete=
 b[i];h&&h(n,l,f)}function =
z(c,j){if(k!=3D=3Da){g.clearTimeout(k);k=3Da}delete b[i];i=3Da;if(typeof =
j!=3D=3De&&j!=3D=3D200){if(h){n=3Dnew =
b.Net.WebServiceError(d,c.Message||String.format(b.Res.webServiceFailedNo=
Msg,f),c.StackTrace||a,c.ExceptionType||a,c);n._statusCode=3Dj;h(n,l,f)}}=
else =
p&&p(c,l,f)}b[i]=3Dz;m=3Dm||b.Net.WebRequestManager.get_defaultTimeout();=
if(m>0)k=3Dg.setTimeout(B,m);b._loadJsonp(A,function(){i&&z({Message:Stri=
ng.format(b.Res.webServiceFailedNoMsg,f)},y)});return a}var j=3Dnew =
b.Net.WebRequest;j.set_url(A);j.get_headers()[M]=3D"application/json; =
charset=3Dutf-8";if(!r){t=3Db.Serialization.JavaScriptSerializer.serializ=
e(q);if(t=3D=3D=3D"{}")t=3Dx}j.set_body(t);j.add_completed(E);m>0&&j.set_=
timeout(m);j.invoke();function E(g){if(g.get_responseAvailable()){var =
s,i=3Dg.get_statusCode(),c=3Da,k;try{var =
m=3Dg.getResponseHeader(M);k=3Dm.startsWith("application/json");c=3Dk?g.g=
et_object():m.startsWith(kb)?g.get_xml():g.get_responseData()}catch(s){}v=
ar =
o=3Dg.getResponseHeader("jsonerror"),j=3Do=3D=3D=3D"true";if(j){if(c)c=3D=
new =
b.Net.WebServiceError(d,c.Message,c.StackTrace,c.ExceptionType,c)}else =
if(k)c=3D!c||typeof =
c.d=3D=3D=3De?c:c.d;if(i<200||i>=3D300||j){if(h){if(!c||!j)c=3Dnew =
b.Net.WebServiceError(d,String.format(b.Res.webServiceFailedNoMsg,f));c._=
statusCode=3Di;h(c,l,f)}}else p&&p(c,l,f)}else{var =
n=3Dg.get_timedOut(),q=3DString.format(n?b.Res.webServiceTimedOut:b.Res.w=
ebServiceFailedNoMsg,f);h&&h(new =
b.Net.WebServiceError(n,q,x,x),l,f)}}return =
j};w._generateTypedConstructor=3Dfunction(a){return =
function(b){if(b)for(var c in =
b)this[c]=3Db[c];this.__type=3Da}};b._jsonp=3D0;w._xdomain=3D/^\s*([a-zA-=
Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;b._loadJsonp=3Dfunction(h,g){var =
c=3Ddocument.createElement("script");c.type=3D"text/javascript";c.src=3Dh=
;var f=3Dc.attachEvent;function =
e(){if(!f||/loaded|complete/.test(c.readyState)){if(f)c.detachEvent(s,e);=
else{c.removeEventListener(m,e,d);c.removeEventListener(r,e,d)}g.apply(c)=
;c=3Da}}if(f)c.attachEvent(s,e);else{c.addEventListener(m,e,d);c.addEvent=
Listener(r,e,d)}b.get("head").appendChild(c)};w=3Db.Net.WebServiceError=3D=
function(e,f,d,b,c){var =
a=3Dthis;a._timedOut=3De;a._message=3Df;a._stackTrace=3Dd;a._exceptionTyp=
e=3Db;a._errorObject=3Dc;a._statusCode=3Dy};w.prototype=3D{get_timedOut:f=
unction(){return this._timedOut},get_statusCode:function(){return =
this._statusCode},get_message:function(){return =
this._message},get_stackTrace:function(){return =
this._stackTrace||x},get_exceptionType:function(){return =
this._exceptionType||x},get_errorObject:function(){return =
this._errorObject||a}};w.registerClass("Sys.Net.WebServiceError");Type.re=
gisterNamespace("Sys.Services");var =
mb=3Db.Services,ub=3D"Service",Eb=3D"Role",Db=3D"Authentication",Bb=3D"Pr=
ofile";function =
zb(a){this._path=3Da}mb[Db+ub]=3D{set_path:zb,_setAuthenticated:function(=
a){this._auth=3Da}};mb["_"+Db+ub]=3D{};mb[Bb+ub]=3D{set_path:zb};mb["_"+B=
b+ub]=3D{};mb.ProfileGroup=3Dfunction(a){this._propertygroup=3Da};mb[Eb+u=
b]=3D{set_path:zb};mb["_"+Eb+ub]=3D{};b._domLoaded()}if(b.loader)b.loader=
.registerScript("MicrosoftAjax",a,H);else H()})(window,window.Sys);var =
$get,$create,$addHandler,$addHandlers,$clearHandlers;
Type.registerNamespace('Sys');Sys.Res=3D{"argumentInteger":"Value must =
be an integer.","argumentType":"Object cannot be converted to the =
required type.","argumentNull":"Value cannot be =
null.","scriptAlreadyLoaded":"The script \u0027{0}\u0027 has been =
referenced multiple times. If referencing Microsoft AJAX scripts =
explicitly, set the MicrosoftAjaxMode property of the ScriptManager to =
Explicit.","scriptDependencyNotFound":"The script \u0027{0}\u0027 failed =
to load because it is dependent on script =
\u0027{1}\u0027.","formatBadFormatSpecifier":"Format specifier was =
invalid.","requiredScriptReferenceNotIncluded":"\u0027{0}\u0027 requires =
that you have included a script reference to =
\u0027{1}\u0027.","webServiceFailedNoMsg":"The server method =
\u0027{0}\u0027 failed.","argumentDomElement":"Value must be a DOM =
element.","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.","argument":"Value does not fall within the expected =
range.","cannotDeserializeInvalidJson":"Cannot deserialize. The data =
does not correspond to valid =
JSON.","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.","paramName":"Parameter name: =
{0}","nullReferenceInPath":"Null reference while evaluating data path: =
\u0027{0}\u0027.","format":"One of the identified items was in an =
invalid format.","assertFailedCaller":"Assertion Failed: {0}\r\nat =
{1}","argumentOutOfRange":"Specified argument was out of the range of =
valid values.","webServiceTimedOut":"The server method \u0027{0}\u0027 =
timed out.","notImplemented":"The method or operation is not =
implemented.","assertFailed":"Assertion Failed: =
{0}","invalidOperation":"Operation is not valid due to the current state =
of the object.","breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"};
if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/ScriptResource.axd?d=A8lfkXdg8DDV4b-m3O_IHTxyXlLHJZff2ql-0TXcq40SSQFPDiT9FGCmgf2PJOc70&t=ffffffffc4dd7e7f

=EF=BB=BF// (c) 2010 CodePlex Foundation
(function(){function a(){var =
s=3D"aria-hidden",k=3D"status",j=3D"submit",h=3D"=3D",g=3D"undefined",d=3D=
-1,f=3D"",u=3D"function",r=3D"pageLoading",q=3D"pageLoaded",p=3D"initiali=
zeRequest",o=3D"endRequest",n=3D"beginRequest",m=3D"script",l=3D"error",t=
=3D"readystatechange",i=3D"load",a=3Dnull,c=3Dtrue,b=3Dfalse;Type._regist=
erScript("MicrosoftAjaxWebForms.js",["MicrosoftAjaxCore.js","MicrosoftAja=
xSerialization.js","MicrosoftAjaxNetwork.js","MicrosoftAjaxComponentModel=
.js"]);var =
e,v;Type.registerNamespace("Sys.WebForms");e=3DSys.WebForms.BeginRequestE=
ventArgs=3Dfunction(d,c,b){var =
a=3Dthis;Sys.WebForms.BeginRequestEventArgs.initializeBase(a);a._request=3D=
d;a._postBackElement=3Dc;a._updatePanelsToUpdate=3Db};e.prototype=3D{get_=
postBackElement:function(){return =
this._postBackElement},get_request:function(){return =
this._request},get_updatePanelsToUpdate:function(){return =
this._updatePanelsToUpdate?Array.clone(this._updatePanelsToUpdate):[]}};e=
.registerClass("Sys.WebForms.BeginRequestEventArgs",Sys.EventArgs);e=3DSy=
s.WebForms.EndRequestEventArgs=3Dfunction(e,c,d){var =
a=3Dthis;Sys.WebForms.EndRequestEventArgs.initializeBase(a);a._errorHandl=
ed=3Db;a._error=3De;a._dataItems=3Dc||{};a._response=3Dd};e.prototype=3D{=
get_dataItems:function(){return =
this._dataItems},get_error:function(){return =
this._error},get_errorHandled:function(){return =
this._errorHandled},set_errorHandled:function(a){this._errorHandled=3Da},=
get_response:function(){return =
this._response}};e.registerClass("Sys.WebForms.EndRequestEventArgs",Sys.E=
ventArgs);e=3DSys.WebForms.InitializeRequestEventArgs=3Dfunction(d,c,b){v=
ar =
a=3Dthis;Sys.WebForms.InitializeRequestEventArgs.initializeBase(a);a._req=
uest=3Dd;a._postBackElement=3Dc;a._updatePanelsToUpdate=3Db};e.prototype=3D=
{get_postBackElement:function(){return =
this._postBackElement},get_request:function(){return =
this._request},get_updatePanelsToUpdate:function(){return =
this._updatePanelsToUpdate?Array.clone(this._updatePanelsToUpdate):[]},se=
t_updatePanelsToUpdate:function(a){this._updated=3Dc;this._updatePanelsTo=
Update=3Da}};e.registerClass("Sys.WebForms.InitializeRequestEventArgs",Sy=
s.CancelEventArgs);e=3DSys.WebForms.PageLoadedEventArgs=3Dfunction(c,b,d)=
{var =
a=3Dthis;Sys.WebForms.PageLoadedEventArgs.initializeBase(a);a._panelsUpda=
ted=3Dc;a._panelsCreated=3Db;a._dataItems=3Dd||{}};e.prototype=3D{get_dat=
aItems:function(){return =
this._dataItems},get_panelsCreated:function(){return =
this._panelsCreated},get_panelsUpdated:function(){return =
this._panelsUpdated}};e.registerClass("Sys.WebForms.PageLoadedEventArgs",=
Sys.EventArgs);e=3DSys.WebForms.PageLoadingEventArgs=3Dfunction(c,b,d){va=
r =
a=3Dthis;Sys.WebForms.PageLoadingEventArgs.initializeBase(a);a._panelsUpd=
ating=3Dc;a._panelsDeleting=3Db;a._dataItems=3Dd||{}};e.prototype=3D{get_=
dataItems:function(){return =
this._dataItems},get_panelsDeleting:function(){return =
this._panelsDeleting},get_panelsUpdating:function(){return =
this._panelsUpdating}};e.registerClass("Sys.WebForms.PageLoadingEventArgs=
",Sys.EventArgs);e=3DSys._ScriptLoaderTask=3Dfunction(b,a){this._scriptEl=
ement=3Db;this._completedCallback=3Da};e.prototype=3D{get_scriptElement:f=
unction(){return this._scriptElement},dispose:function(){var =
b=3Dthis;if(b._disposed)return;b._disposed=3Dc;b._removeScriptElementHand=
lers();Sys._ScriptLoaderTask._clearScript(b._scriptElement);b._scriptElem=
ent=3Da},execute:function(){this._addScriptElementHandlers();document.get=
ElementsByTagName("head")[0].appendChild(this._scriptElement)},_addScript=
ElementHandlers:function(){var =
a=3Dthis;a._scriptLoadDelegate=3DFunction.createDelegate(a,a._scriptLoadH=
andler);if(document.addEventListener){a._scriptElement.readyState=3D"load=
ed";$addHandler(a._scriptElement,i,a._scriptLoadDelegate)}else =
$addHandler(a._scriptElement,t,a._scriptLoadDelegate);if(a._scriptElement=
.addEventListener){a._scriptErrorDelegate=3DFunction.createDelegate(a,a._=
scriptErrorHandler);a._scriptElement.addEventListener(l,a._scriptErrorDel=
egate,b)}},_removeScriptElementHandlers:function(){var =
c=3Dthis;if(c._scriptLoadDelegate){var =
d=3Dc.get_scriptElement();if(document.addEventListener)$removeHandler(d,i=
,c._scriptLoadDelegate);else =
$removeHandler(d,t,c._scriptLoadDelegate);if(c._scriptErrorDelegate){c._s=
criptElement.removeEventListener(l,c._scriptErrorDelegate,b);c._scriptErr=
orDelegate=3Da}c._scriptLoadDelegate=3Da}},_scriptErrorHandler:function()=
{if(this._disposed)return;this._completedCallback(this.get_scriptElement(=
),b)},_scriptLoadHandler:function(){if(this._disposed)return;var =
a=3Dthis.get_scriptElement();if(a.readyState!=3D=3D"loaded"&&a.readyState=
!=3D=3D"complete")return;this._completedCallback(a,c)}};e.registerClass("=
Sys._ScriptLoaderTask",a,Sys.IDisposable);e._clearScript=3Dfunction(a){!S=
ys.Debug.isDebug&&a.parentNode.removeChild(a)};e=3DSys._ScriptLoader=3Dfu=
nction(){var =
b=3Dthis;b._scriptsToLoad=3Da;b._sessions=3D[];b._scriptLoadedDelegate=3D=
Function.createDelegate(b,b._scriptLoadedHandler)};e.prototype=3D{dispose=
:function(){var =
c=3Dthis;c._stopSession();c._loading=3Db;if(c._events)delete =
c._events;c._sessions=3Da;c._currentSession=3Da;c._scriptLoadedDelegate=3D=
a},loadScripts:function(f,d,e,c){var =
b=3Dthis,g=3D{allScriptsLoadedCallback:d,scriptLoadFailedCallback:e,scrip=
tLoadTimeoutCallback:c,scriptsToLoad:b._scriptsToLoad,scriptTimeout:f};b.=
_scriptsToLoad=3Da;b._sessions.push(g);!b._loading&&b._nextSession()},que=
ueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsToLoad=
=3D[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){if(!=
this._scriptsToLoad)this._scriptsToLoad=3D[];Array.add(this._scriptsToLoa=
d,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad)thi=
s._scriptsToLoad=3D[];Array.add(this._scriptsToLoad,{src:a})},_createScri=
ptElement:function(b){var =
a=3Ddocument.createElement(m);a.type=3D"text/javascript";for(var c in =
b)a[c]=3Db[c];return a},_loadScriptsInternal:function(){var =
a=3Dthis,c=3Da._currentSession;if(c.scriptsToLoad&&c.scriptsToLoad.length=
>0){var =
d=3DArray.dequeue(c.scriptsToLoad),b=3Da._createScriptElement(d);if(b.tex=
t&&Sys.Browser.agent=3D=3D=3DSys.Browser.Safari){b.innerHTML=3Db.text;del=
ete b.text}if(typeof d.src=3D=3D=3D"string"){a._currentTask=3Dnew =
Sys._ScriptLoaderTask(b,a._scriptLoadedDelegate);a._currentTask.execute()=
}else{document.getElementsByTagName("head")[0].appendChild(b);Sys._Script=
LoaderTask._clearScript(b);a._loadScriptsInternal()}}else{a._stopSession(=
);var =
e=3Dc.allScriptsLoadedCallback;e&&e(a);a._nextSession()}},_nextSession:fu=
nction(){var =
d=3Dthis;if(d._sessions.length=3D=3D=3D0){d._loading=3Db;d._currentSessio=
n=3Da;return}d._loading=3Dc;var =
e=3DArray.dequeue(d._sessions);d._currentSession=3De;if(e.scriptTimeout>0=
)d._timeoutCookie=3Dwindow.setTimeout(Function.createDelegate(d,d._script=
LoadTimeoutHandler),e.scriptTimeout*1e3);d._loadScriptsInternal()},_raise=
Error:function(){var =
a=3Dthis,d=3Da._currentSession.scriptLoadFailedCallback,c=3Da._currentTas=
k.get_scriptElement();a._stopSession();if(d){d(a,c);a._nextSession()}else=
{a._loading=3Db;throw =
Sys._ScriptLoader._errorScriptLoadFailed(c.src);}},_scriptLoadedHandler:f=
unction(c,d){var =
b=3Dthis;if(d){Array.add(Sys._ScriptLoader._getLoadedScripts(),c.src);b._=
currentTask.dispose();b._currentTask=3Da;b._loadScriptsInternal()}else =
b._raiseError()},_scriptLoadTimeoutHandler:function(){var =
a=3Dthis,b=3Da._currentSession.scriptLoadTimeoutCallback;a._stopSession()=
;b&&b(a);a._nextSession()},_stopSession:function(){var =
b=3Dthis;if(b._timeoutCookie){window.clearTimeout(b._timeoutCookie);b._ti=
meoutCookie=3Da}if(b._currentTask){b._currentTask.dispose();b._currentTas=
k=3Da}}};e.registerClass("Sys._ScriptLoader",a,Sys.IDisposable);e.getInst=
ance=3Dfunction(){var =
a=3DSys._ScriptLoader._activeInstance;if(!a)a=3DSys._ScriptLoader._active=
Instance=3Dnew Sys._ScriptLoader;return =
a};e.isScriptLoaded=3Dfunction(b){var =
a=3Ddocument.createElement(m);a.src=3Db;return =
Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};e.readLoaded=
Scripts=3Dfunction(){if(!Sys._ScriptLoader._referencedScripts)for(var =
c=3DSys._ScriptLoader._referencedScripts=3D[],d=3Ddocument.getElementsByT=
agName(m),b=3Dd.length-1;b>=3D0;b--){var =
e=3Dd[b],a=3De.src;if(a.length)!Array.contains(c,a)&&Array.add(c,a)}};e._=
errorScriptLoadFailed=3Dfunction(b){var =
a;a=3DSys.Res.scriptLoadFailed;var d=3D"Sys.ScriptLoadFailedException: =
"+String.format(a,b),c=3DError.create(d,{name:"Sys.ScriptLoadFailedExcept=
ion",scriptUrl:b});c.popStackFrame();return =
c};e._getLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader._referencedScri=
pts){Sys._ScriptLoader._referencedScripts=3D[];Sys._ScriptLoader.readLoad=
edScripts()}return =
Sys._ScriptLoader._referencedScripts};e=3DSys.WebForms.PageRequestManager=
=3Dfunction(){var =
c=3Dthis;c._form=3Da;c._activeDefaultButton=3Da;c._activeDefaultButtonCli=
cked=3Db;c._updatePanelIDs=3Da;c._updatePanelClientIDs=3Da;c._updatePanel=
HasChildrenAsTriggers=3Da;c._asyncPostBackControlIDs=3Da;c._asyncPostBack=
ControlClientIDs=3Da;c._postBackControlIDs=3Da;c._postBackControlClientID=
s=3Da;c._scriptManagerID=3Da;c._pageLoadedHandler=3Da;c._additionalInput=3D=
a;c._onsubmit=3Da;c._onSubmitStatements=3D[];c._originalDoPostBack=3Da;c.=
_originalDoPostBackWithOptions=3Da;c._originalFireDefaultButton=3Da;c._or=
iginalDoCallback=3Da;c._isCrossPost=3Db;c._postBackSettings=3Da;c._reques=
t=3Da;c._onFormSubmitHandler=3Da;c._onFormElementClickHandler=3Da;c._onWi=
ndowUnloadHandler=3Da;c._asyncPostBackTimeout=3Da;c._controlIDToFocus=3Da=
;c._scrollPosition=3Da;c._processingRequest=3Db;c._scriptDisposes=3D{};c.=
_transientFields=3D["__VIEWSTATEENCRYPTED","__VIEWSTATEFIELDCOUNT"]};e.pr=
ototype=3D{get_isInAsyncPostBack:function(){return =
this._request!=3D=3Da},add_beginRequest:function(a){Sys.Observer.addEvent=
Handler(this,n,a)},remove_beginRequest:function(a){Sys.Observer.removeEve=
ntHandler(this,n,a)},add_endRequest:function(a){Sys.Observer.addEventHand=
ler(this,o,a)},remove_endRequest:function(a){Sys.Observer.removeEventHand=
ler(this,o,a)},add_initializeRequest:function(a){Sys.Observer.addEventHan=
dler(this,p,a)},remove_initializeRequest:function(a){Sys.Observer.removeE=
ventHandler(this,p,a)},add_pageLoaded:function(a){Sys.Observer.addEventHa=
ndler(this,q,a)},remove_pageLoaded:function(a){Sys.Observer.removeEventHa=
ndler(this,q,a)},add_pageLoading:function(a){Sys.Observer.addEventHandler=
(this,r,a)},remove_pageLoading:function(a){Sys.Observer.removeEventHandle=
r(this,r,a)},abortPostBack:function(){var =
b=3Dthis;if(!b._processingRequest&&b._request){b._request.get_executor().=
abort();b._request=3Da}},beginAsyncPostBack:function(h,e,k,i,j){var =
d=3Dthis;if(i&&typeof =
Page_ClientValidate=3D=3D=3Du&&!Page_ClientValidate(j||a))return;d._postB=
ackSettings=3Dd._createPostBackSettings(c,h,e);var =
g=3Dd._form;g.__EVENTTARGET.value=3De||f;g.__EVENTARGUMENT.value=3Dk||f;d=
._isCrossPost=3Db;d._additionalInput=3Da;d._onFormSubmit()},_cancelPendin=
gCallbacks:function(){for(var =
b=3D0,g=3Dwindow.__pendingCallbacks.length;b<g;b++){var =
e=3Dwindow.__pendingCallbacks[b];if(e){if(!e.async)window.__synchronousCa=
llBackIndex=3Dd;window.__pendingCallbacks[b]=3Da;var =
f=3D"__CALLBACKFRAME"+b,c=3Ddocument.getElementById(f);c&&c.parentNode.re=
moveChild(c)}}},_commitControls:function(b,d){var =
c=3Dthis;if(b){c._updatePanelIDs=3Db.updatePanelIDs;c._updatePanelClientI=
Ds=3Db.updatePanelClientIDs;c._updatePanelHasChildrenAsTriggers=3Db.updat=
ePanelHasChildrenAsTriggers;c._asyncPostBackControlIDs=3Db.asyncPostBackC=
ontrolIDs;c._asyncPostBackControlClientIDs=3Db.asyncPostBackControlClient=
IDs;c._postBackControlIDs=3Db.postBackControlIDs;c._postBackControlClient=
IDs=3Db.postBackControlClientIDs}if(typeof =
d!=3D=3Dg&&d!=3D=3Da)c._asyncPostBackTimeout=3Dd*1e3},_createHiddenField:=
function(d,e){var =
b,a=3Ddocument.getElementById(d);if(a)if(!a._isContained)a.parentNode.rem=
oveChild(a);else =
b=3Da.parentNode;if(!b){b=3Ddocument.createElement("span");b.style.cssTex=
t=3D"display:none =
!important";this._form.appendChild(b)}b.innerHTML=3D"<input =
type=3D'hidden' =
/>";a=3Db.childNodes[0];a._isContained=3Dc;a.id=3Da.name=3Dd;a.value=3De}=
,_createPageRequestManagerTimeoutError:function(){var =
b=3D"Sys.WebForms.PageRequestManagerTimeoutException: =
"+Sys.WebForms.Res.PRM_TimeoutError,a=3DError.create(b,{name:"Sys.WebForm=
s.PageRequestManagerTimeoutException"});a.popStackFrame();return =
a},_createPageRequestManagerServerError:function(a,d){var =
c=3D"Sys.WebForms.PageRequestManagerServerErrorException: =
"+(d||String.format(Sys.WebForms.Res.PRM_ServerError,a)),b=3DError.create=
(c,{name:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatus=
Code:a});b.popStackFrame();return =
b},_createPageRequestManagerParserError:function(b){var =
c=3D"Sys.WebForms.PageRequestManagerParserErrorException: =
"+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=3DError.create(c,{n=
ame:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFra=
me();return a},_createPanelID:function(e,b){var =
c=3Db.asyncTarget,a=3Dthis._ensureUniqueIds(e||b.panelsToUpdate),d=3Da =
instanceof =
Array?a.join(","):a||this._scriptManagerID;if(c)d+=3D"|"+c;return =
encodeURIComponent(this._scriptManagerID)+h+encodeURIComponent(d)+"&"},_c=
reatePostBackSettings:function(d,a,c,b){return{async:d,asyncTarget:c,pane=
lsToUpdate:a,sourceElement:b}},_convertToClientIDs:function(a,g,e,d){if(a=
)for(var b=3D0,i=3Da.length;b<i;b+=3Dd?2:1){var =
c=3Da[b],h=3D(d?a[b+1]:f)||this._uniqueIDToClientID(c);Array.add(g,c);Arr=
ay.add(e,h)}},dispose:function(){var =
b=3Dthis;Sys.Observer.clearEventHandlers(b);if(b._form){Sys.UI.DomEvent.r=
emoveHandler(b._form,j,b._onFormSubmitHandler);Sys.UI.DomEvent.removeHand=
ler(b._form,"click",b._onFormElementClickHandler);Sys.UI.DomEvent.removeH=
andler(window,"unload",b._onWindowUnloadHandler);Sys.UI.DomEvent.removeHa=
ndler(window,i,b._pageLoadedHandler)}if(b._originalDoPostBack){window.__d=
oPostBack=3Db._originalDoPostBack;b._originalDoPostBack=3Da}if(b._origina=
lDoPostBackWithOptions){window.WebForm_DoPostBackWithOptions=3Db._origina=
lDoPostBackWithOptions;b._originalDoPostBackWithOptions=3Da}if(b._origina=
lFireDefaultButton){window.WebForm_FireDefaultButton=3Db._originalFireDef=
aultButton;b._originalFireDefaultButton=3Da}if(b._originalDoCallback){win=
dow.WebForm_DoCallback=3Db._originalDoCallback;b._originalDoCallback=3Da}=
b._form=3Da;b._updatePanelIDs=3Da;b._updatePanelClientIDs=3Da;b._asyncPos=
tBackControlIDs=3Da;b._asyncPostBackControlClientIDs=3Da;b._postBackContr=
olIDs=3Da;b._postBackControlClientIDs=3Da;b._asyncPostBackTimeout=3Da;b._=
scrollPosition=3Da},_doCallback:function(d,b,c,f,a,e){!this.get_isInAsync=
PostBack()&&this._originalDoCallback(d,b,c,f,a,e)},_doPostBack:function(e=
,l){var d=3Dthis;d._additionalInput=3Da;var =
j=3Dd._form;if(e=3D=3D=3Da||typeof =
e=3D=3D=3Dg||d._isCrossPost){d._postBackSettings=3Dd._createPostBackSetti=
ngs(b);d._isCrossPost=3Db}else{var =
f=3Dd._masterPageUniqueID,k=3Dd._uniqueIDToClientID(e),i=3Ddocument.getEl=
ementById(k);if(!i&&f)if(k.indexOf(f+"$")=3D=3D=3D0)i=3Ddocument.getEleme=
ntById(k.substr(f.length+1));if(!i)if(Array.contains(d._asyncPostBackCont=
rolIDs,e))d._postBackSettings=3Dd._createPostBackSettings(c,a,e);else =
if(Array.contains(d._postBackControlIDs,e))d._postBackSettings=3Dd._creat=
ePostBackSettings(b);else{var =
h=3Dd._findNearestElement(e);if(h)d._postBackSettings=3Dd._getPostBackSet=
tings(h,e);else{if(f){f+=3D"$";if(e.indexOf(f)=3D=3D=3D0)h=3Dd._findNeare=
stElement(e.substr(f.length))}if(h)d._postBackSettings=3Dd._getPostBackSe=
ttings(h,e);else =
d._postBackSettings=3Dd._createPostBackSettings(b)}}else =
d._postBackSettings=3Dd._getPostBackSettings(i,e)}if(!d._postBackSettings=
.async){j.onsubmit=3Dd._onsubmit;d._originalDoPostBack(e,l);j.onsubmit=3D=
a;return}j.__EVENTTARGET.value=3De;j.__EVENTARGUMENT.value=3Dl;d._onFormS=
ubmit()},_doPostBackWithOptions:function(a){this._isCrossPost=3Da&&a.acti=
onUrl;this._originalDoPostBackWithOptions(a)},_elementContains:function(d=
,a){while(a){if(a=3D=3D=3Dd)return c;a=3Da.parentNode}return =
b},_endPostBack:function(d,f,g){var =
c=3Dthis;if(c._request=3D=3D=3Df.get_webRequest()){c._processingRequest=3D=
b;c._additionalInput=3Da;c._request=3Da}var e=3Dnew =
Sys.WebForms.EndRequestEventArgs(d,g?g.dataItems:{},f);Sys.Observer.raise=
Event(c,o,e);if(d&&!e.get_errorHandled())throw =
d;},_ensureUniqueIds:function(a){if(!a)return a;a=3Da instanceof =
Array?a:[a];for(var c=3D[],b=3D0,g=3Da.length;b<g;b++){var =
f=3Da[b],e=3DArray.indexOf(this._updatePanelClientIDs,f);c.push(e>d?this.=
_updatePanelIDs[e]:f)}return =
c},_findNearestElement:function(b){while(b.length>0){var =
f=3Dthis._uniqueIDToClientID(b),e=3Ddocument.getElementById(f);if(e)retur=
n e;var c=3Db.lastIndexOf("$");if(c=3D=3D=3Dd)return =
a;b=3Db.substring(0,c)}return a},_findText:function(b,a){var =
c=3DMath.max(0,a-20),d=3DMath.min(b.length,a+20);return =
b.substring(c,d)},_fireDefaultButton:function(d,h){if(d.keyCode=3D=3D=3D1=
3){var =
f=3Dd.srcElement||d.target;if(!f||f.tagName.toLowerCase()!=3D=3D"textarea=
"){var e=3Ddocument.getElementById(h);if(e&&typeof =
e.click!=3D=3Dg){this._activeDefaultButton=3De;this._activeDefaultButtonC=
licked=3Db;try{e.click()}finally{this._activeDefaultButton=3Da}d.cancelBu=
bble=3Dc;typeof d.stopPropagation=3D=3D=3Du&&d.stopPropagation();return =
b}}}return c},_getPageLoadedEventArgs:function(r,g){var =
q=3D[],p=3D[],o=3Dg?g.version4:b,h=3Dg?g.updatePanelData:a,i,k,l,e;if(!h)=
{i=3Dthis._updatePanelIDs;k=3Dthis._updatePanelClientIDs;l=3Da;e=3Da}else=
{i=3Dh.updatePanelIDs;k=3Dh.updatePanelClientIDs;l=3Dh.childUpdatePanelID=
s;e=3Dh.panelsToRefreshIDs}var =
c,j,n,m;if(e)for(c=3D0,j=3De.length;c<j;c+=3Do?2:1){n=3De[c];m=3D(o?e[c+1=
]:f)||this._uniqueIDToClientID(n);Array.add(q,document.getElementById(m))=
}for(c=3D0,j=3Di.length;c<j;c++)(r||Array.indexOf(l,i[c])!=3D=3Dd)&&Array=
.add(p,document.getElementById(k[c]));return new =
Sys.WebForms.PageLoadedEventArgs(q,p,g?g.dataItems:{})},_getPageLoadingEv=
entArgs:function(h){var =
l=3D[],k=3D[],c=3Dh.updatePanelData,m=3Dc.oldUpdatePanelIDs,n=3Dc.oldUpda=
tePanelClientIDs,p=3Dc.updatePanelIDs,o=3Dc.childUpdatePanelIDs,e=3Dc.pan=
elsToRefreshIDs,a,g,b,i,j=3Dh.version4;for(a=3D0,g=3De.length;a<g;a+=3Dj?=
2:1){b=3De[a];i=3D(j?e[a+1]:f)||this._uniqueIDToClientID(b);Array.add(l,d=
ocument.getElementById(i))}for(a=3D0,g=3Dm.length;a<g;a++){b=3Dm[a];Array=
.indexOf(e,b)=3D=3D=3Dd&&(Array.indexOf(p,b)=3D=3D=3Dd||Array.indexOf(o,b=
)>d)&&Array.add(k,document.getElementById(n[a]))}return new =
Sys.WebForms.PageLoadingEventArgs(l,k,h.dataItems)},_getPostBackSettings:=
function(f,h){var =
e=3Dthis,i=3Df,g=3Da;while(f){if(f.id){if(!g&&Array.contains(e._asyncPost=
BackControlClientIDs,f.id))g=3De._createPostBackSettings(c,a,h,i);else =
if(!g&&Array.contains(e._postBackControlClientIDs,f.id))return =
e._createPostBackSettings(b);else{var =
j=3DArray.indexOf(e._updatePanelClientIDs,f.id);if(j!=3D=3Dd)return =
e._updatePanelHasChildrenAsTriggers[j]?e._createPostBackSettings(c,[e._up=
datePanelIDs[j]],h,i):e._createPostBackSettings(c,a,h,i)}if(!g&&e._matche=
sParentIDInList(f.id,e._asyncPostBackControlClientIDs))g=3De._createPostB=
ackSettings(c,a,h,i);else =
if(!g&&e._matchesParentIDInList(f.id,e._postBackControlClientIDs))return =
e._createPostBackSettings(b)}f=3Df.parentNode}return!g?e._createPostBackS=
ettings(b):g},_getScrollPosition:function(){var =
b=3Dthis,a=3Ddocument.documentElement;if(a&&(b._validPosition(a.scrollLef=
t)||b._validPosition(a.scrollTop)))return{x:a.scrollLeft,y:a.scrollTop};e=
lse{a=3Ddocument.body;return =
a&&(b._validPosition(a.scrollLeft)||b._validPosition(a.scrollTop))?{x:a.s=
crollLeft,y:a.scrollTop}:b._validPosition(window.pageXOffset)||b._validPo=
sition(window.pageYOffset)?{x:window.pageXOffset,y:window.pageYOffset}:{x=
:0,y:0}}},_initializeInternal:function(k,l,d,e,h,f,g){var =
b=3Dthis;if(b._prmInitialized)throw =
Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);b._prmIn=
itialized=3Dc;b._masterPageUniqueID=3Dg;b._scriptManagerID=3Dk;b._form=3D=
Sys.UI.DomElement.resolveElement(l);b._onsubmit=3Db._form.onsubmit;b._for=
m.onsubmit=3Da;b._onFormSubmitHandler=3DFunction.createDelegate(b,b._onFo=
rmSubmit);b._onFormElementClickHandler=3DFunction.createDelegate(b,b._onF=
ormElementClick);b._onWindowUnloadHandler=3DFunction.createDelegate(b,b._=
onWindowUnload);Sys.UI.DomEvent.addHandler(b._form,j,b._onFormSubmitHandl=
er);Sys.UI.DomEvent.addHandler(b._form,"click",b._onFormElementClickHandl=
er);Sys.UI.DomEvent.addHandler(window,"unload",b._onWindowUnloadHandler);=
b._originalDoPostBack=3Dwindow.__doPostBack;if(b._originalDoPostBack)wind=
ow.__doPostBack=3DFunction.createDelegate(b,b._doPostBack);b._originalDoP=
ostBackWithOptions=3Dwindow.WebForm_DoPostBackWithOptions;if(b._originalD=
oPostBackWithOptions)window.WebForm_DoPostBackWithOptions=3DFunction.crea=
teDelegate(b,b._doPostBackWithOptions);b._originalFireDefaultButton=3Dwin=
dow.WebForm_FireDefaultButton;if(b._originalFireDefaultButton)window.WebF=
orm_FireDefaultButton=3DFunction.createDelegate(b,b._fireDefaultButton);b=
._originalDoCallback=3Dwindow.WebForm_DoCallback;if(b._originalDoCallback=
)window.WebForm_DoCallback=3DFunction.createDelegate(b,b._doCallback);b._=
pageLoadedHandler=3DFunction.createDelegate(b,b._pageLoadedInitialLoad);S=
ys.UI.DomEvent.addHandler(window,i,b._pageLoadedHandler);d&&b._updateCont=
rols(d,e,h,f,c)},_matchesParentIDInList:function(e,d){for(var =
a=3D0,f=3Dd.length;a<f;a++)if(e.startsWith(d[a]+"_"))return c;return =
b},_onFormElementActive:function(a,e,f){var =
b=3Dthis;if(a.disabled)return;b._postBackSettings=3Db._getPostBackSetting=
s(a,a.name);if(a.name){var =
c=3Da.tagName.toUpperCase();if(c=3D=3D=3D"INPUT"){var =
d=3Da.type;if(d=3D=3D=3Dj)b._additionalInput=3DencodeURIComponent(a.name)=
+h+encodeURIComponent(a.value);else =
if(d=3D=3D=3D"image")b._additionalInput=3DencodeURIComponent(a.name)+".x=3D=
"+e+"&"+encodeURIComponent(a.name)+".y=3D"+f}else =
if(c=3D=3D=3D"BUTTON"&&a.name.length!=3D=3D0&&a.type=3D=3D=3Dj)b._additio=
nalInput=3DencodeURIComponent(a.name)+h+encodeURIComponent(a.value)}},_on=
FormElementClick:function(a){this._activeDefaultButtonClicked=3Da.target=3D=
=3D=3Dthis._activeDefaultButton;this._onFormElementActive(a.target,a.offs=
etX,a.offsetY)},_onFormSubmit:function(r){var =
e=3Dthis,m,C,q=3Dc,D=3De._isCrossPost;e._isCrossPost=3Db;if(e._onsubmit)q=
=3De._onsubmit();if(q)for(m=3D0,C=3De._onSubmitStatements.length;m<C;m++)=
if(!e._onSubmitStatements[m]()){q=3Db;break}if(!q){r&&r.preventDefault();=
return}var =
w=3De._form;if(D)return;e._activeDefaultButton&&!e._activeDefaultButtonCl=
icked&&e._onFormElementActive(e._activeDefaultButton,0,0);if(!e._postBack=
Settings||!e._postBackSettings.async)return;var f=3Dnew =
Sys.StringBuilder,F=3Dw.elements.length,z=3De._createPanelID(a,e._postBac=
kSettings);f.append(z);for(m=3D0;m<F;m++){var =
l=3Dw.elements[m],o=3Dl.name;if(typeof =
o=3D=3D=3Dg||o=3D=3D=3Da||o.length=3D=3D=3D0||o=3D=3D=3De._scriptManagerI=
D)continue;var v=3Dl.tagName.toUpperCase();if(v=3D=3D=3D"INPUT"){var =
t=3Dl.type;if(t=3D=3D=3D"text"||t=3D=3D=3D"password"||t=3D=3D=3D"hidden"|=
|(t=3D=3D=3D"checkbox"||t=3D=3D=3D"radio")&&l.checked){f.append(encodeURI=
Component(o));f.append(h);f.append(encodeURIComponent(l.value));f.append(=
"&")}}else if(v=3D=3D=3D"SELECT")for(var =
E=3Dl.options.length,x=3D0;x<E;x++){var =
A=3Dl.options[x];if(A.selected){f.append(encodeURIComponent(o));f.append(=
h);f.append(encodeURIComponent(A.value));f.append("&")}}else =
if(v=3D=3D=3D"TEXTAREA"){f.append(encodeURIComponent(o));f.append(h);f.ap=
pend(encodeURIComponent(l.value));f.append("&")}}f.append("__ASYNCPOST=3D=
true&");if(e._additionalInput){f.append(e._additionalInput);e._additional=
Input=3Da}var i=3Dnew =
Sys.Net.WebRequest,j=3Dw.action;if(Sys.Browser.agent=3D=3D=3DSys.Browser.=
InternetExplorer){var =
y=3Dj.indexOf("#");if(y!=3D=3Dd)j=3Dj.substr(0,y);var =
u=3Dj.indexOf("?");if(u!=3D=3Dd){var =
B=3Dj.substr(0,u);if(B.indexOf("%")=3D=3D=3Dd)j=3DencodeURI(B)+j.substr(u=
)}else =
if(j.indexOf("%")=3D=3D=3Dd)j=3DencodeURI(j)}i.set_url(j);i.get_headers()=
["X-MicrosoftAjax"]=3D"Delta=3Dtrue";i.get_headers()["Cache-Control"]=3D"=
no-cache";i.set_timeout(e._asyncPostBackTimeout);i.add_completed(Function=
.createDelegate(e,e._onFormSubmitCompleted));i.set_body(f.toString());var=
 s,k;s=3De._postBackSettings.panelsToUpdate;k=3Dnew =
Sys.WebForms.InitializeRequestEventArgs(i,e._postBackSettings.sourceEleme=
nt,s);Sys.Observer.raiseEvent(e,p,k);q=3D!k.get_cancel();if(!q){r&&r.prev=
entDefault();return}if(k&&k._updated){s=3Dk.get_updatePanelsToUpdate();i.=
set_body(i.get_body().replace(z,e._createPanelID(s,e._postBackSettings)))=
}e._scrollPosition=3De._getScrollPosition();e.abortPostBack();k=3Dnew =
Sys.WebForms.BeginRequestEventArgs(i,e._postBackSettings.sourceElement,s|=
|e._postBackSettings.panelsToUpdate);Sys.Observer.raiseEvent(e,n,k);e._or=
iginalDoCallback&&e._cancelPendingCallbacks();e._request=3Di;e._processin=
gRequest=3Db;i.invoke();r&&r.preventDefault()},_onFormSubmitCompleted:fun=
ction(h){var =
d=3Dthis;d._processingRequest=3Dc;if(h.get_timedOut()){d._endPostBack(d._=
createPageRequestManagerTimeoutError(),h,a);return}if(h.get_aborted()){d.=
_endPostBack(a,h,a);return}if(!d._request||h.get_webRequest()!=3D=3Dd._re=
quest)return;if(h.get_statusCode()!=3D=3D200){d._endPostBack(d._createPag=
eRequestManagerServerError(h.get_statusCode()),h,a);return}var =
e=3Dd._parseDelta(h);if(!e)return;var =
g,j;if(e.asyncPostBackControlIDsNode&&e.postBackControlIDsNode&&e.updateP=
anelIDsNode&&e.panelsToRefreshNode&&e.childUpdatePanelIDsNode){var =
x=3Dd._updatePanelIDs,t=3Dd._updatePanelClientIDs,n=3De.childUpdatePanelI=
DsNode.content,v=3Dn.length?n.split(","):[],s=3Dd._splitNodeIntoArray(e.a=
syncPostBackControlIDsNode),u=3Dd._splitNodeIntoArray(e.postBackControlID=
sNode),w=3Dd._splitNodeIntoArray(e.updatePanelIDsNode),l=3Dd._splitNodeIn=
toArray(e.panelsToRefreshNode),m=3De.version4;for(g=3D0,j=3Dl.length;g<j;=
g+=3Dm?2:1){var =
o=3D(m?l[g+1]:f)||d._uniqueIDToClientID(l[g]);if(!document.getElementById=
(o)){d._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res=
.PRM_MissingPanel,o)),h,e);return}}var =
k=3Dd._processUpdatePanelArrays(w,s,u,m);k.oldUpdatePanelIDs=3Dx;k.oldUpd=
atePanelClientIDs=3Dt;k.childUpdatePanelIDs=3Dv;k.panelsToRefreshIDs=3Dl;=
e.updatePanelData=3Dk}e.dataItems=3D{};var =
i;for(g=3D0,j=3De.dataItemNodes.length;g<j;g++){i=3De.dataItemNodes[g];e.=
dataItems[i.id]=3Di.content}for(g=3D0,j=3De.dataItemJsonNodes.length;g<j;=
g++){i=3De.dataItemJsonNodes[g];e.dataItems[i.id]=3DSys.Serialization.Jav=
aScriptSerializer.deserialize(i.content)}var =
q=3DSys.Observer._getContext(d,c).events.getHandler(r);q&&q(d,d._getPageL=
oadingEventArgs(e));Sys._ScriptLoader.readLoadedScripts();Sys.Application=
.beginCreateComponents();var =
p=3DSys._ScriptLoader.getInstance();d._queueScripts(p,e.scriptBlockNodes,=
c,b);d._processingRequest=3Dc;p.loadScripts(0,Function.createDelegate(d,F=
unction.createCallback(d._scriptIncludesLoadComplete,e)),Function.createD=
elegate(d,Function.createCallback(d._scriptIncludesLoadFailed,e)),a)},_on=
WindowUnload:function(){this.dispose()},_pageLoaded:function(a,b){Sys.Obs=
erver.raiseEvent(this,q,this._getPageLoadedEventArgs(a,b));!a&&Sys.Applic=
ation.raiseLoad()},_pageLoadedInitialLoad:function(){this._pageLoaded(c,a=
)},_parseDelta:function(n){var =
h=3Dthis,g=3Dn.get_responseData(),i,o,K,L,J,f=3D0,j=3Da,p=3D[];while(f<g.=
length){i=3Dg.indexOf("|",f);if(i=3D=3D=3Dd){j=3Dh._findText(g,f);break}o=
=3DparseInt(g.substring(f,i),10);if(o%1!=3D=3D0){j=3Dh._findText(g,f);bre=
ak}f=3Di+1;i=3Dg.indexOf("|",f);if(i=3D=3D=3Dd){j=3Dh._findText(g,f);brea=
k}K=3Dg.substring(f,i);f=3Di+1;i=3Dg.indexOf("|",f);if(i=3D=3D=3Dd){j=3Dh=
._findText(g,f);break}L=3Dg.substring(f,i);f=3Di+1;if(f+o>=3Dg.length){j=3D=
h._findText(g,g.length);break}J=3Dg.substr(f,o);f+=3Do;if(g.charAt(f)!=3D=
=3D"|"){j=3Dh._findText(g,f);break}f++;Array.add(p,{type:K,id:L,content:J=
})}if(j){h._endPostBack(h._createPageRequestManagerParserError(String.for=
mat(Sys.WebForms.Res.PRM_ParserErrorDetails,j)),n,a);return a}for(var =
D=3D[],B=3D[],v=3D[],C=3D[],y=3D[],I=3D[],G=3D[],F=3D[],A=3D[],x=3D[],r,u=
,z,s,t,w,E,m,q=3D0,M=3Dp.length;q<M;q++){var =
e=3Dp[q];switch(e.type){case"#":m=3De;break;case"updatePanel":Array.add(D=
,e);break;case"hiddenField":Array.add(B,e);break;case"arrayDeclaration":A=
rray.add(v,e);break;case"scriptBlock":Array.add(C,e);break;case"scriptSta=
rtupBlock":Array.add(y,e);break;case"expando":Array.add(I,e);break;case"o=
nSubmit":Array.add(G,e);break;case"asyncPostBackControlIDs":r=3De;break;c=
ase"postBackControlIDs":u=3De;break;case"updatePanelIDs":z=3De;break;case=
"asyncPostBackTimeout":s=3De;break;case"childUpdatePanelIDs":t=3De;break;=
case"panelsToRefreshIDs":w=3De;break;case"formAction":E=3De;break;case"da=
taItem":Array.add(F,e);break;case"dataItemJson":Array.add(A,e);break;case=
"scriptDispose":Array.add(x,e);break;case"pageRedirect":if(m&&parseFloat(=
m.content)>=3D4)e.content=3Dunescape(e.content);if(Sys.Browser.agent=3D=3D=
=3DSys.Browser.InternetExplorer){var =
k=3Ddocument.createElement("a");k.style.display=3D"none";k.attachEvent("o=
nclick",H);k.href=3De.content;h._form.parentNode.insertBefore(k,h._form);=
k.click();k.detachEvent("onclick",H);h._form.parentNode.removeChild(k);fu=
nction H(a){a.cancelBubble=3Dc}}else =
window.location.href=3De.content;return a;case =
l:h._endPostBack(h._createPageRequestManagerServerError(Number.parseInvar=
iant(e.id),e.content),n,a);return =
a;case"pageTitle":document.title=3De.content;break;case"focus":h._control=
IDToFocus=3De.content;break;default:h._endPostBack(h._createPageRequestMa=
nagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,e.type))=
,n,a);return =
a}}return{version4:m?parseFloat(m.content)>=3D4:b,executor:n,updatePanelN=
odes:D,hiddenFieldNodes:B,arrayDeclarationNodes:v,scriptBlockNodes:C,scri=
ptStartupNodes:y,expandoNodes:I,onSubmitNodes:G,dataItemNodes:F,dataItemJ=
sonNodes:A,scriptDisposeNodes:x,asyncPostBackControlIDsNode:r,postBackCon=
trolIDsNode:u,updatePanelIDsNode:z,asyncPostBackTimeoutNode:s,childUpdate=
PanelIDsNode:t,panelsToRefreshNode:w,formActionNode:E}},_processUpdatePan=
elArrays:function(e,r,s,g){var d,c,b;if(e){var =
j=3De.length,k=3Dg?2:1;d=3Dnew Array(j/k);c=3Dnew Array(j/k);b=3Dnew =
Array(j/k);for(var h=3D0,i=3D0;h<j;h+=3Dk,i++){var =
q,a=3De[h],l=3Dg?e[h+1]:f;q=3Da.charAt(0)=3D=3D=3D"t";a=3Da.substr(1);if(=
!l)l=3Dthis._uniqueIDToClientID(a);b[i]=3Dq;d[i]=3Da;c[i]=3Dl}}else{d=3D[=
];c=3D[];b=3D[]}var o=3D[],m=3D[];this._convertToClientIDs(r,o,m,g);var =
p=3D[],n=3D[];this._convertToClientIDs(s,p,n,g);return{updatePanelIDs:d,u=
pdatePanelClientIDs:c,updatePanelHasChildrenAsTriggers:b,asyncPostBackCon=
trolIDs:o,asyncPostBackControlClientIDs:m,postBackControlIDs:p,postBackCo=
ntrolClientIDs:n}},_queueScripts:function(d,b,e,f){for(var =
a=3D0,h=3Db.length;a<h;a++){var =
g=3Db[a].id;switch(g){case"ScriptContentNoTags":if(!f)continue;d.queueScr=
iptBlock(b[a].content);break;case"ScriptContentWithTags":var =
c=3Dwindow.eval("("+b[a].content+")");if(c.src){if(!e||Sys._ScriptLoader.=
isScriptLoaded(c.src))continue}else =
if(!f)continue;d.queueCustomScriptTag(c);break;case"ScriptPath":if(!e||Sy=
s._ScriptLoader.isScriptLoaded(b[a].content))continue;d.queueScriptRefere=
nce(b[a].content)}}},_registerDisposeScript:function(a,b){if(!this._scrip=
tDisposes[a])this._scriptDisposes[a]=3D[b];else =
Array.add(this._scriptDisposes[a],b)},_scriptIncludesLoadComplete:functio=
n(j,e){var =
i=3Dthis;if(e.executor.get_webRequest()!=3D=3Di._request)return;i._commit=
Controls(e.updatePanelData,e.asyncPostBackTimeoutNode?e.asyncPostBackTime=
outNode.content:a);if(e.formActionNode)i._form.action=3De.formActionNode.=
content;var =
d,h,g;for(d=3D0,h=3De.updatePanelNodes.length;d<h;d++){g=3De.updatePanelN=
odes[d];var =
o=3Ddocument.getElementById(g.id);if(!o){i._endPostBack(Error.invalidOper=
ation(String.format(Sys.WebForms.Res.PRM_MissingPanel,g.id)),e.executor,e=
);return}i._updatePanel(o,g.content)}for(d=3D0,h=3De.scriptDisposeNodes.l=
ength;d<h;d++){g=3De.scriptDisposeNodes[d];i._registerDisposeScript(g.id,=
g.content)}for(d=3D0,h=3Di._transientFields.length;d<h;d++){var =
l=3Ddocument.getElementById(i._transientFields[d]);if(l){var =
p=3Dl._isContained?l.parentNode:l;p.parentNode.removeChild(p)}}for(d=3D0,=
h=3De.hiddenFieldNodes.length;d<h;d++){g=3De.hiddenFieldNodes[d];i._creat=
eHiddenField(g.id,g.content)}if(e.scriptsFailed)throw =
Sys._ScriptLoader._errorScriptLoadFailed(e.scriptsFailed.src,e.scriptsFai=
led.multipleCallbacks);i._queueScripts(j,e.scriptBlockNodes,b,c);var =
n=3Df;for(d=3D0,h=3De.arrayDeclarationNodes.length;d<h;d++){g=3De.arrayDe=
clarationNodes[d];n+=3D"Sys.WebForms.PageRequestManager._addArrayElement(=
'"+g.id+"', "+g.content+");\r\n"}var =
m=3Df;for(d=3D0,h=3De.expandoNodes.length;d<h;d++){g=3De.expandoNodes[d];=
m+=3Dg.id+" =3D =
"+g.content+"\r\n"}n.length&&j.queueScriptBlock(n);m.length&&j.queueScrip=
tBlock(m);i._queueScripts(j,e.scriptStartupNodes,c,c);var =
k=3Df;for(d=3D0,h=3De.onSubmitNodes.length;d<h;d++){if(d=3D=3D=3D0)k=3D"A=
rray.add(Sys.WebForms.PageRequestManager.getInstance()._onSubmitStatement=
s, function() =
{\r\n";k+=3De.onSubmitNodes[d].content+"\r\n"}if(k.length){k+=3D"\r\nretu=
rn =
true;\r\n});\r\n";j.queueScriptBlock(k)}j.loadScripts(0,Function.createDe=
legate(i,Function.createCallback(i._scriptsLoadComplete,e)),a,a)},_script=
IncludesLoadFailed:function(d,c,b,a){a.scriptsFailed=3D{src:c.src,multipl=
eCallbacks:b};this._scriptIncludesLoadComplete(d,a)},_scriptsLoadComplete=
:function(k,h){var =
c=3Dthis,j=3Dh.executor;if(window.__theFormPostData)window.__theFormPostD=
ata=3Df;if(window.__theFormPostCollection)window.__theFormPostCollection=3D=
[];window.WebForm_InitCallback&&window.WebForm_InitCallback();if(c._scrol=
lPosition){window.scrollTo&&window.scrollTo(c._scrollPosition.x,c._scroll=
Position.y);c._scrollPosition=3Da}Sys.Application.endCreateComponents();c=
._pageLoaded(b,h);c._endPostBack(a,j,h);if(c._controlIDToFocus){var =
d,i;if(Sys.Browser.agent=3D=3D=3DSys.Browser.InternetExplorer){var =
e=3D$get(c._controlIDToFocus);d=3De;if(e&&!WebForm_CanFocus(e))d=3DWebFor=
m_FindFirstFocusableChild(e);if(d&&typeof =
d.contentEditable!=3D=3Dg){i=3Dd.contentEditable;d.contentEditable=3Db}el=
se =
d=3Da}WebForm_AutoFocus(c._controlIDToFocus);if(d)d.contentEditable=3Di;c=
._controlIDToFocus=3Da}},_splitNodeIntoArray:function(b){var =
a=3Db.content,c=3Da.length?a.split(","):[];return =
c},_uniqueIDToClientID:function(a){return =
a.replace(/\$/g,"_")},_updateControls:function(d,a,c,b,e){this._commitCon=
trols(this._processUpdatePanelArrays(d,a,c,e),b)},_updatePanel:function(b=
,g){var a=3Dthis;for(var d in =
a._scriptDisposes)if(a._elementContains(b,document.getElementById(d))){fo=
r(var =
f=3Da._scriptDisposes[d],e=3D0,h=3Df.length;e<h;e++)window.eval(f[e]);del=
ete =
a._scriptDisposes[d]}Sys.Application.disposeElement(b,c);b.innerHTML=3Dg}=
,_validPosition:function(b){return typeof =
b!=3D=3Dg&&b!=3D=3Da&&b!=3D=3D0}};e.getInstance=3Dfunction(){var =
a=3DSys.WebForms.PageRequestManager._instance;if(!a)a=3DSys.WebForms.Page=
RequestManager._instance=3Dnew Sys.WebForms.PageRequestManager;return =
a};e._addArrayElement=3Dfunction(a){if(!window[a])window[a]=3D[];for(var =
b=3D1,c=3Darguments.length;b<c;b++)Array.add(window[a],arguments[b])};e._=
initialize=3Dfunction(){var =
a=3DSys.WebForms.PageRequestManager.getInstance();a._initializeInternal.a=
pply(a,arguments)};e.registerClass("Sys.WebForms.PageRequestManager");e=3D=
Sys.UI._UpdateProgress=3Dfunction(d){var =
b=3Dthis;Sys.UI._UpdateProgress.initializeBase(b,[d]);b._displayAfter=3D5=
00;b._dynamicLayout=3Dc;b._associatedUpdatePanelId=3Da;b._beginRequestHan=
dlerDelegate=3Da;b._startDelegate=3Da;b._endRequestHandlerDelegate=3Da;b.=
_pageRequestManager=3Da;b._timerCookie=3Da};e.prototype=3D{get_displayAft=
er:function(){return =
this._displayAfter},set_displayAfter:function(a){this._displayAfter=3Da},=
get_dynamicLayout:function(){return =
this._dynamicLayout},set_dynamicLayout:function(a){this._dynamicLayout=3D=
a},get_associatedUpdatePanelId:function(){return =
this._associatedUpdatePanelId},set_associatedUpdatePanelId:function(a){th=
is._associatedUpdatePanelId=3Da},get_role:function(){return =
k},_clearTimeout:function(){if(this._timerCookie){window.clearTimeout(thi=
s._timerCookie);this._timerCookie=3Da}},_getUniqueID:function(c){var =
b=3DArray.indexOf(this._pageRequestManager._updatePanelClientIDs,c);retur=
n =
b=3D=3D=3Dd?a:this._pageRequestManager._updatePanelIDs[b]},_handleBeginRe=
quest:function(i,h){var =
a=3Dthis,e=3Dh.get_postBackElement(),d=3Dc,g=3Da._associatedUpdatePanelId=
;if(a._associatedUpdatePanelId){var =
f=3Dh.get_updatePanelsToUpdate();if(f&&f.length)d=3DArray.contains(f,g)||=
Array.contains(f,a._getUniqueID(g));else =
d=3Db}while(!d&&e){if(e.id&&a._associatedUpdatePanelId=3D=3D=3De.id)d=3Dc=
;e=3De.parentNode}if(d)a._timerCookie=3Dwindow.setTimeout(a._startDelegat=
e,a._displayAfter)},_startRequest:function(){var =
b=3Dthis;if(b._pageRequestManager.get_isInAsyncPostBack()){var =
c=3Db.get_element();if(b._dynamicLayout)c.style.display=3D"block";else =
c.style.visibility=3D"visible";b.get_role()=3D=3D=3Dk&&c.setAttribute(s,"=
false")}b._timerCookie=3Da},_handleEndRequest:function(){var =
a=3Dthis,b=3Da.get_element();if(a._dynamicLayout)b.style.display=3D"none"=
;else =
b.style.visibility=3D"hidden";a.get_role()=3D=3D=3Dk&&b.setAttribute(s,"t=
rue");a._clearTimeout()},dispose:function(){var =
b=3Dthis;if(b._beginRequestHandlerDelegate!=3D=3Da){b._pageRequestManager=
.remove_beginRequest(b._beginRequestHandlerDelegate);b._pageRequestManage=
r.remove_endRequest(b._endRequestHandlerDelegate);b._beginRequestHandlerD=
elegate=3Da;b._endRequestHandlerDelegate=3Da}b._clearTimeout();Sys.UI._Up=
dateProgress.callBaseMethod(b,"dispose")},initialize:function(){var =
b=3Dthis;Sys.UI._UpdateProgress.callBaseMethod(b,"initialize");b.get_role=
()=3D=3D=3Dk&&b.get_element().setAttribute(s,"true");b._beginRequestHandl=
erDelegate=3DFunction.createDelegate(b,b._handleBeginRequest);b._endReque=
stHandlerDelegate=3DFunction.createDelegate(b,b._handleEndRequest);b._sta=
rtDelegate=3DFunction.createDelegate(b,b._startRequest);if(Sys.WebForms&&=
Sys.WebForms.PageRequestManager)b._pageRequestManager=3DSys.WebForms.Page=
RequestManager.getInstance();if(b._pageRequestManager!=3D=3Da){b._pageReq=
uestManager.add_beginRequest(b._beginRequestHandlerDelegate);b._pageReque=
stManager.add_endRequest(b._endRequestHandlerDelegate)}}};e.registerClass=
("Sys.UI._UpdateProgress",Sys.UI.Control)}if(window.Sys&&Sys.loader)Sys.l=
oader.registerScript("WebForms",["ComponentModel","Serialization","Networ=
k"],a);else a()})();
Type.registerNamespace('Sys.WebForms');Sys.WebForms.Res=3D{"PRM_UnknownTo=
ken":"Unknown token: \u0027{0}\u0027.","PRM_MissingPanel":"Could not =
find UpdatePanel with ID \u0027{0}\u0027. If it is being updated =
dynamically then it must be inside another =
UpdatePanel.","PRM_ServerError":"An unknown error occurred while =
processing the request on the server. The status code returned from the =
server was: {0}","PRM_ParserError":"The message received from the server =
could not be parsed. Common causes for this error are when the response =
is modified by calls to Response.Write(), response filters, HttpModules, =
or server trace is enabled.\r\nDetails: {0}","PRM_TimeoutError":"The =
server request timed out.","PRM_ParserErrorDetails":"Error parsing near =
\u0027{0}\u0027.","PRM_CannotRegisterTwice":"The PageRequestManager =
cannot be initialized more than once."};
if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.motherearthnews.com/js/opi_scripts.js

function phpads_deliverActiveX(content)
{
    document.write(content);
}

function ContentPopUpWindow(url, hWind, nWidth, nHeight)
{
    var cToolBar =3D =
"toolbar=3D0,location=3D0,directories=3D0,status=3D1,menubar=3D0,scrollba=
rs=3D1,resizable=3D1,width=3D" + nWidth + ",height=3D" + nHeight;
    var popupwin =3D window.open(url, hWind, cToolBar);
}

function toggle_on(id)
{
    document.getElementById('initial_' + id).style.display =3D "none";
    document.getElementById('full_' + id).style.display =3D "block";
}

function toggle_off(id)
{
    document.getElementById('initial_' + id).style.display =3D "block"; =
document.getElementById('full_' + id).style.display =3D "none";
}

function SetUniqueRadioButton(nameregex, current)
{
    re =3D new RegExp(nameregex);
    for (i =3D 0; i < document.forms[0].elements.length; i++)
    {
        elm =3D document.forms[0].elements[i];
        if (elm.type =3D=3D 'radio')
        {
            if (re.test(elm.name))
            {
                elm.checked =3D false;
            }
        }
    }
    current.checked =3D true;
}

function LimitText(limitField, limitNum)
{
    var field =3D document.getElementById(limitField);
    if (field.value.length > limitNum)
    {
        field.value =3D field.value.substring(0, limitNum);
    }
}

function newMaxWindow()
{
    var w =3D window.open('', 'gardenPlanner', 'left=3D0, top=3D0, =
width=3D' + screen.width + ', height=3D' + screen.height + ', =
menubar=3Dno, toolbar=3Dno, directories=3Dno, statusbar=3Dno, =
scrollbars=3Dno');
    w.focus();
}
------=_NextPart_000_0000_01CB5D5C.E87F1C90
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://secure.quantserve.com/quant.js

//=0A=
// For correct measurement, DO NOT HOST THIS FROM ANOTHER SERVER=0A=
//=0A=
function _qcdst(){if(_qctzoff(0)!=3D_qctzoff(6))return 1;return 0;}=0A=
function _qctzoff(m){=0A=
var d1=3Dnew Date(2000,m,1,0,0,0,0);=0A=
var t=3Dd1.toGMTString();=0A=
var d3=3Dnew Date(t.substring(0,t.lastIndexOf(" ")-1));=0A=
return d1-d3;=0A=
}=0A=
function _qceuc(s){=0A=
if(typeof(encodeURIComponent)=3D=3D'function'){return =
encodeURIComponent(s);}=0A=
else{return escape(s);}=0A=
}=0A=
function _qcrnd(){return Math.round(Math.random()*2147483647);}=0A=
function _qcgc(n){=0A=
 var v=3D'';=0A=
 var c=3Ddocument.cookie;if(!c)return v;=0A=
 var i=3Dc.indexOf(n+"=3D");=0A=
 var len=3Di+n.length+1;=0A=
 if(i>-1){=0A=
  var end=3Dc.indexOf(";", len);=0A=
  if(end<0)end=3Dc.length;=0A=
  v=3Dc.substring(len,end);=0A=
 }=0A=
 return v;=0A=
}=0A=
function _qcdomain(){=0A=
 var d=3Ddocument.domain;=0A=
 if(d.substring(0,4)=3D=3D"www.")d=3Dd.substring(4,d.length);=0A=
 var a=3Dd.split(".");var len=3Da.length;=0A=
 if(len<3)return d;=0A=
 var e=3Da[len-1];=0A=
 if(e.length<3)return d;=0A=
 d=3Da[len-2]+"."+a[len-1];=0A=
 return d;=0A=
}=0A=
function _qhash2(h,s){=0A=
 for(var i=3D0;i<s.length;i++){=0A=
  h^=3Ds.charCodeAt(i);h+=3D(h << 1)+(h << 4)+(h << 7)+(h << 8)+(h << =
24);}=0A=
 return h;=0A=
}=0A=
function _qhash(s){=0A=
 var h1=3D0x811c9dc5,h2=3D0xc9dc5118;=0A=
 return =
(Math.round(Math.abs(_qhash2(h1,s)*_qhash2(h2,s))/65536)).toString(16);=0A=
}=0A=
function _qcsc(){=0A=
 var s=3D"";var d=3D_qcdomain();=0A=
 if(_qad=3D=3D1)return ";fpan=3Du;fpa=3D";=0A=
 var =
sd=3D["4dcfa7079941","127fdf7967f31","588ab9292a3f","32f92b0727e5","22f9a=
a38dfd3","a4abfe8f3e04","18b66bc1325c","958e70ea2f28","bdbf0cb4bbb","6511=
8a0d557","40a1d9db1864","18ae3d985046","3b26460f55d"];=0A=
 var qh=3D_qhash(d);=0A=
 for(var i=3D0;i<sd.length;i++){if(sd[i]=3D=3Dqh)return =
";fpan=3Du;fpa=3D";}=0A=
 var u=3Ddocument;var a=3D_qcgc("__qca");=0A=
 if(a.length>0){s+=3D";fpan=3D0;fpa=3D"+a;}=0A=
 else{=0A=
  var da=3Dnew Date();=0A=
  a=3D'P0-'+_qcrnd()+'-'+da.getTime();=0A=
  u.cookie=3D"__qca=3D"+a+"; expires=3DSun, 18 Jan 2038 00:00:00 GMT; =
path=3D/; domain=3D"+d;=0A=
  a=3D_qcgc("__qca");=0A=
  if(a.length>0){s+=3D";fpan=3D1;fpa=3D"+a;}=0A=
  else{s+=3D";fpan=3Du;fpa=3D";}=0A=
 }=0A=
 return s;=0A=
}=0A=
function _qcdc(n){=0A=
 document.cookie=3Dn+"=3D; expires=3DThu, 01 Jan 1970 00:00:01 GMT; =
path=3D/; domain=3D"+_qcdomain();=0A=
}=0A=
function _qpxload(){=0A=
 if((_qimg)&& typeof _qimg.width =3D=3D"number"){=0A=
  if (_qimg.width=3D=3D3){_qcdc("__qca");}=0A=
}}=0A=
function _qcp(p, myqo)=0A=
{=0A=
 var s=3D'',a=3Dnull;=0A=
 var media=3D'webpage',event=3D'load';=0A=
 if(myqo!=3Dnull){=0A=
  for(var k in myqo){=0A=
   if(typeof(k)!=3D'string'){continue;}=0A=
   if(typeof(myqo[k])!=3D'string'){continue;}=0A=
   if(k=3D=3D'qacct'){=0A=
    a=3Dmyqo[k];=0A=
    continue;=0A=
   }=0A=
   s+=3D';'+k+p+'=3D'+_qceuc(myqo[k]);=0A=
   if(k=3D=3D'media'){media=3Dmyqo[k];}=0A=
   if(k=3D=3D'event'){event=3Dmyqo[k];}=0A=
  }=0A=
 }=0A=
 if (typeof a !=3D"string"){=0A=
  if((typeof _qacct =3D=3D"undefined")||(_qacct.length=3D=3D0))return'';=0A=
  a=3D_qacct;=0A=
 }=0A=
 if (media=3D=3D'webpage' && event=3D=3D'load'){=0A=
  for(var i=3D0;i<_qpixelsent.length;i++){=0A=
   if(_qpixelsent[i]=3D=3Da)return'';=0A=
  }=0A=
  _qpixelsent.push(a);=0A=
 }=0A=
 if (media=3D=3D'ad'){_qad=3D1;}=0A=
 s=3D';a'+p+'=3D'+a+s;=0A=
 return s;=0A=
}=0A=
function _qcesc(s){=0A=
  return s.replace(/\./g,'%2E').replace(/,/g,'%2C');=0A=
}=0A=
function _qcd(o){=0A=
  return (typeof(o)!=3D"undefined" && o!=3Dnull);=0A=
}=0A=
function _qcogl(){=0A=
 var m=3Ddocument.getElementsByTagName('meta');=0A=
 var o=3D'';=0A=
 for(var i=3D0;i<m.length;i++){=0A=
  if(o.length>=3D1000)return o;=0A=
  =
if(_qcd(m[i])&&_qcd(m[i].attributes)&&_qcd(m[i].attributes.property)&&_qc=
d(m[i].attributes.property.value)&&_qcd(m[i].content)){=0A=
    var p=3Dm[i].attributes.property.value;=0A=
    var c=3Dm[i].content;=0A=
    if(p.length>3&&p.substring(0,3)=3D=3D'og:'){=0A=
      if(o.length>0)o+=3D',';=0A=
      var l=3D(c.length>80)?80:c.length;=0A=
      o+=3D_qcesc(p.substring(3,p.length))+'.'+_qcesc(c.substring(0,l));=0A=
    }=0A=
  }=0A=
 }=0A=
 return _qceuc(o);=0A=
}=0A=
function quantserve(){=0A=
 var e=3D(typeof(encodeURIComponent)=3D=3D'function')?"n":"s";=0A=
 var r=3D_qcrnd();=0A=
 var sr=3D'',qo=3D'',qm=3D'',url=3D'',ref=3D'',je=3D'u',ns=3D'1';=0A=
 var qocount=3D0;=0A=
 _qad=3D0;=0A=
 if(typeof _qpixelsent =3D=3D"undefined"){=0A=
  _qpixelsent=3D new Array();=0A=
 }=0A=
 if(typeof _qoptions !=3D"undefined" && _qoptions!=3Dnull){=0A=
  var _qopts=3D_qoptions;_qoptions=3Dnull;=0A=
  for(var k in _qopts){=0A=
   if(typeof(_qopts[k])=3D=3D'string'){=0A=
    qo=3D_qcp("", _qopts);=0A=
    break;=0A=
   }else if(typeof(_qopts[k])=3D=3D'object' && _qopts[k]!=3Dnull){=0A=
    ++qocount;=0A=
    qo+=3D_qcp("."+qocount, _qopts[k]);=0A=
   }=0A=
  }=0A=
 }else if (typeof _qacct =3D=3D"string"){=0A=
  qo=3D_qcp("",null);=0A=
 }=0A=
 if(qo.length=3D=3D0)return;=0A=
 var ce=3D(navigator.cookieEnabled)?"1":"0";=0A=
 if(typeof navigator.javaEnabled =
!=3D'undefined')je=3D(navigator.javaEnabled())?"1":"0";=0A=
 if(typeof _qmeta !=3D"undefined" && =
_qmeta!=3Dnull){qm=3D';m=3D'+_qceuc(_qmeta);_qmeta=3Dnull;}=0A=
 =
if(self.screen){sr=3Dscreen.width+"x"+screen.height+"x"+screen.colorDepth=
;}=0A=
 var d=3Dnew Date();=0A=
 var dst=3D_qcdst();=0A=
 var dg=3D"P15208-W-MS-8";var qs=3D"http://pixel.quantserve.com";=0A=
 var fp=3D_qcsc();=0A=
 if(window.location && =
window.location.href)url=3D_qceuc(window.location.href);=0A=
 if(window.document && =
window.document.referrer)ref=3D_qceuc(window.document.referrer);=0A=
 if(self=3D=3Dtop)ns=3D'0';=0A=
 var ogl=3D_qcogl();=0A=
 _qimg=3Dnew Image();=0A=
 _qimg.alt=3D"";=0A=
 =
_qimg.src=3Dqs+'/pixel'+';r=3D'+r+fp+';ns=3D'+ns+';url=3D'+url+';ref=3D'+=
ref+';ce=3D'+ce+';je=3D'+je+';sr=3D'+sr+';enc=3D'+e+';ogl=3D'+ogl+';dg=3D=
'+dg+';dst=3D'+dst+';et=3D'+d.getTime()+';tzo=3D'+d.getTimezoneOffset()+q=
o+qm;=0A=
 _qimg.onload=3Dfunction() {_qpxload();}=0A=
}=0A=
quantserve();=0A=

------=_NextPart_000_0000_01CB5D5C.E87F1C90--

