mime-version: 1.0
date: Thu, 16 Jun 2011 10:56:58 -0400
x-mimeole: Produced By Microsoft MimeOLE V6.1.7601.17574
from: "Saved by Windows Internet Explorer 8"
subject: Named and Distinguished Professors
content-type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CC2C14.1D1EAF20"






This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: text/html;
	charset="utf-8"
content-transfer-encoding: quoted-printable
content-location: http://www.purdue.edu/provost/faculty/awards/NamedDistinguished.html

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h=
ttp://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML class=3Dno-js xmlns=3D"http://www.w3.org/1999/xhtml" xmlns:mso=3D"ur=
n:schemas-microsoft-com:office:office" xmlns:msdt=3D"uuid:C2F41010-65B3-11=
d1-A29F-00AA00C14882"><HEAD><TITLE>Named and Distinguished Professors</TIT=
LE>
<META content=3D"text/html; charset=3DUTF-8" http-equiv=3Dcontent-type>
<META name=3Dauthor content=3D"Purdue Marketing &amp; Media, Purdue Univer=
sity">
<META name=3Drobots content=3DALL><!--<meta name=3D"keywords" content=3D"P=
urdue University, Boilermakers, Boilers, College, higher education, West L=
afayette, Indiana, public schools, higher education, United States, academ=
ics, research, athletics, employment, professors, faculty, technology, lib=
raries, Ross-Ade Stadium, Mackey Arena, students, airport">
    <meta name=3D"description" content=3D"This is the official Web site of=
 Purdue University, home of the Boilermakers, alma mater of the first and =
last men to walk on the moon, and proud member of the Big Ten Conference. =
Perennially ranked among the nation's top public universities and research=
 institutions, Purdue serves as Indiana's land-, sea-, and space-grant uni=
versity with a main campus in West Lafayette and locations across the stat=
e.">--><LINK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"https://www.purdue.edu/assets/globals/css/v4_purdue/reset.css"><LI=
NK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"https://www.purdue.edu/assets/globals/css/v4_purdue/template.css">=
<LINK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"https://www.purdue.edu/assets/globals/css/v4_purdue/menus.css"><!-=
- INTERNAL CSS FOR CHANGING THE HEIGHT OF THE BLACK BACKGROUND STRIP --><L=
INK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"https://www.purdue.edu/assets/globals/widgets/slider/DDSlider.css">
<META name=3DGENERATOR content=3D"MSHTML 8.00.7601.17573">
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
<mso:Category msdt:dt=3D"string">Distinguished &amp; Named Professors</mso=
:Category>
</mso:CustomDocumentProperties>
</xml><![endif]-->
</HEAD>
<BODY>
<STYLE type=3Dtext/css>#background-strip {
	HEIGHT: 33px
}
</STYLE>
<!--[if lt IE 7]>
      <link rel=3D"stylesheet" href=3D"https://www.purdue.edu/assets/globa=
ls/css/v4_purdue/ie6.css" />
    <![endif]--><!-- Modernizr adds classes to the html element that ident=
ify browser capabilities -->
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/js/modernizr-1.5.min.js"></SC=
RIPT>
<!--[if lt IE 9]>
<SCRIPT src=3D"https://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js=
">IE7_PNG_SUFFIX=3D".png";</SCRIPT>
<![endif]-->
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/js/prototype.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/js/scriptaculous.js"></SCRIPT>
<!-- Slider Configurations - VERY IMPORTANT --><!-- jQuery framework -->
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/widgets/slider/js/jquery.min.=
js"></SCRIPT>
<!-- jQuery easing plugin - VERY IMPORTANT -->
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/widgets/slider/js/jquery.easi=
ng.1.3.js"></SCRIPT>
<!-- DDSlider jQuery Plugin - VERY IMPORTANT -->
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/widgets/slider/js/jquery.easi=
ng.1.3.js"></SCRIPT>
<!-- SWFObject library for flash video -->
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/js/swfobject_modified.js"></S=
CRIPT>

<SCRIPT type=3Dtext/javascript>
      $j =3D jQuery.noConflict();
      $j(document).ready(function() {
    =20
        // Load additional scripts and execute commands after the page has=
 loaded
        $j.ajaxSetup({async: false});

        // Script used by Google Custom Search
        $j.getScript('https://www.google.com/coop/cse/brand?form=3Dcse-sea=
rch-box&amp;lang=3Den');
       =20
        $j.ajaxSetup({async: true});
     =20
        // triggers the slider
        $j('#slider').DDSlider({
          trans: 'fading',
          waitTime: 5000,
          duration: 500,
          nextSlide: '.slider_arrow_right',
          prevSlide: '.slider_arrow_left',
          selector: '.slider_selector'
        });
			=09
       // setTimeout(function(){
//          vid =3D $j('#video-container');
//          vid.fadeOut("slow", function () {
//            vid.remove();
//          });
//         }, 55000);

      });
    </SCRIPT>
<!-- START ACCESSIBILITY LINKS TO SKIP TO CONTENT --><!--<a id=3D"jump-to-=
banners" class=3D"accessible-text" href=3D"#slider">Jump to featured news<=
/a>--><A=20
id=3Djump-to-banners class=3Daccessible-text=20
href=3D"http://www.purdue.edu/provost/faculty/awards/Named%20and%20Disting=
uished%20Professors.mht#main-content-container">Jump=20
to other news and events</A> <!-- END ACCESSIBILITY LINKS -->
<DIV id=3Dtop-background-strip></DIV>
<DIV id=3Dbackground-strip></DIV>
<DIV id=3Dpage-container>
<DIV id=3Dheader-container>
<DIV id=3Dheader-top-strip></DIV>
<DIV id=3Dpurdue-signature-container><A href=3D"http://www.purdue.edu/"><I=
MG=20
id=3Dpurdue-signature border=3D0 alt=3D"Purdue signature"=20
src=3D"https://www.purdue.edu/assets/globals/graphics/v4_purdue/PU_signatu=
re_white_bg_215x80.png"=20
width=3D202 height=3D75></A></DIV><!-- PAGE TITLE -->
<DIV id=3Dpage-title>
<H1><A href=3D"http://www.purdue.edu/provost/index.html">Office of the=20
Provost</A></H1></DIV><!-- START GOOGLE CSE SEARCH BOX -->
<DIV id=3Dsearch-container>
<FORM id=3Dcse-search-box=20
action=3Dhttp://www.purdue.edu/purdue/search/results.html><INPUT=20
value=3D017690826183710227054:mjxnqnpskjk type=3Dhidden name=3Dcx> <INPUT=
=20
value=3DFORID:11 type=3Dhidden name=3Dcof> <LABEL class=3Daccessible-text=
=20
for=3Dsearch-field>Search field</LABEL> <INPUT=20
style=3D"BACKGROUND-IMAGE: url(https://www.google.com/cse/intl/en/images/g=
oogle_custom_search_watermark.gif); BACKGROUND-COLOR: #ffffff; BACKGROUND-=
POSITION: 0% 50%; background-origin: initial; background-clip: initial"=20
id=3Dsearch-field size=3D20 type=3Dtext name=3Dq> <LABEL class=3Daccessibl=
e-text=20
for=3Dsearch-button>Search button</LABEL> <INPUT id=3Dsearch-button class=
=3Dround3 value=3DSearch type=3Dsubmit name=3Dsa> <INPUT=20
value=3Dwww.purdue.edu/ type=3Dhidden name=3Dsiteurl> </FORM></DIV><!-- EN=
D GOOGLE CSE SEARCH BOX --><!-- START SOCIAL MEDIA LINKS --><!-- END SOCIA=
L MEDIA LINKS --></DIV>
<DIV id=3Dinner-page-container class=3D"round-bottom10 shadow10"><!-- STAR=
T NAV BARS -->
<DIV id=3Dnav-bars>
<DIV id=3Dupper-nav-bar>
<UL class=3Dtabs>
  <LI class=3Dfirst><A=20
  href=3D"http://www.purdue.edu/provost/about/index.html">About</A>=20
  <DIV><A href=3D"http://www.purdue.edu/provost/about/bios/Tim_Sands.html"=
>Meet=20
  the Provost</A> <A=20
  href=3D"http://www.purdue.edu/provost/about/admin.html">Administrative A=
reas</A>=20
  <A href=3D"http://www.purdue.edu/provost/about/business.html">Office of=
=20
  Financial Affairs, Executive Offices</A> <A=20
  href=3D"http://www.purdue.edu/provost/about/staff.html">Staff</A> </DIV>=
</LI>
  <LI><A=20
  href=3D"http://www.purdue.edu/provost/initiatives/index.html">Initiative=
s</A>=20
  <DIV><A href=3D"http://www.purdue.edu/strategic_plan/index.html">Strateg=
ic=20
  Plan</A> <A=20
  href=3D"http://www.purdue.edu/provost/initiatives/caamp.html">CAAMP</A> =
<A=20
  href=3D"http://www.purdue.edu/provost/initiatives/diversity.html">Divers=
ity</A>=20
  <A href=3D"http://www.purdue.edu/success/">Student Access and Success</A=
> <A=20
  href=3D"http://www.purdue.edu/provost/honors/index.shtml">University Hon=
ors=20
  Program</A> <A=20
  href=3D"http://www.purdue.edu/purdue/academics/accountability.html">Volu=
ntary=20
  System of Accountability</A> </DIV></LI>
  <LI><A href=3D"http://www.purdue.edu/provost/colleges.html">Colleges and=
=20
  Schools</A>=20
  <DIV><A class=3Dlower href=3D"http://www.agriculture.purdue.edu/">Agricu=
lture</A>=20
  <A class=3Dlower href=3D"http://www.soe.purdue.edu/">Education</A> <A cl=
ass=3Dlower=20
  href=3D"http://engineering.purdue.edu/Engr/">Engineering</A> <A class=3D=
lower=20
  href=3D"https://www.hhs.purdue.edu/">Health and Human Sciences</A> <A=20
  class=3Dlower href=3D"http://www.cla.purdue.edu/">Liberal Arts</A> <A cl=
ass=3Dlower=20
  href=3D"http://www.mgmt.purdue.edu/">Management</A> <A class=3Dlower=20
  href=3D"http://www.pnhs.purdue.edu/">Pharmacy, Nursing, and Health Scien=
ces</A>=20
  <A class=3Dlower href=3D"http://www.science.purdue.edu/">Science</A> <A=
=20
  class=3Dlower href=3D"http://www.tech.purdue.edu/">Technology</A> <A cla=
ss=3Dlower=20
  href=3D"http://www.vet.purdue.edu/">Veterinary Medicine</A> <A class=3Dl=
ower=20
  href=3D"http://www.gradschool.purdue.edu/indexFlash.cfm">The Graduate Sc=
hool</A>=20
  </DIV></LI>
  <LI><A href=3D"http://www.purdue.edu/provost/faculty/index.html">Faculty=
=20
  Resources</A>=20
  <DIV><A title=3D"Faculty Development"=20
  href=3D"http://www.purdue.edu/provost/faculty/development/index.html">Fa=
culty=20
  Development</A> <A title=3D"Faculty Awards"=20
  href=3D"http://www.purdue.edu/provost/faculty/awards/index.html">Faculty=
=20
  Awards</A> <A title=3D"New Faculty"=20
  href=3D"http://www.purdue.edu/provost/faculty/newfaculty.html">New Facul=
ty</A>=20
  <A=20
  href=3D"http://www.purdue.edu/provost/faculty/prospective_fac.html">Pros=
pective=20
  Faculty</A> <A title=3D"Promotion and Tenure"=20
  href=3D"http://www.purdue.edu/provost/faculty/promotion.html">Promotion =
and=20
  Tenure</A> </DIV></LI>
  <LI><A href=3D"http://www.purdue.edu/provost/policies/index.html">Polici=
es</A>=20
  <DIV><A href=3D"http://www.purdue.edu/policies/index.html">University=20
  Policies</A> <A href=3D"http://www.purdue.edu/faculty_staff_handbook/">F=
aculty=20
  and Staff Handbook</A> <A=20
  href=3D"http://www.purdue.edu/provost/faculty/facultypolicies.html">Facu=
lty=20
  Policies</A> </DIV></LI></UL></DIV></DIV><!-- END NAV BARS --><!-- START=
 MAIN CONTENT -->
<DIV id=3Dmain-content-container class=3Dfloat-group>
<DIV id=3Dminimum-height-pad></DIV><!-- START CONTENT SECTION -->
<DIV id=3Dsingle-column-content-container>
<P></P>
<H2>Named and Distinguished Professors</H2>
<P></P>
<H3>Distinguished Professors</H3>
<BLOCKQUOTE dir=3Dltr>
  <H4>College of Agriculture</H4>
  <UL type=3Ddisc>
    <LI>Boehlje, Michael D., <EM>Distinguished Professor of Agricultural=20
    Economics</EM></LI>
    <LI>Bressan, Ray A., <EM>Distinguished Professor of School of=20
    Agriculture</EM></LI>
    <LI>Chapple, Clint, <EM>Distinguished Professor of Biochemistry</EM></=
LI>
    <LI>Ejeta, Gebisa, <EM>Distinguished Professor of Agronomy </EM></LI>
    <LI>Hasegawa, P. Michael, <EM>Dr. Bruno C. Moser Distinguished Profess=
or in=20
    Horticulture and Landscape Architecture </EM></LI>
    <LI>Hertel, Thomas W., <EM>Distinguished Professor of Agriculture </EM=
></LI>
    <LI>Janick, Jules, <EM>James Troop Distinguished Professor of=20
    Horticulture</EM></LI>
    <LI>Ladisch, Michael R., <EM>Distinguished Professor of Agricultural a=
nd=20
    Biological Engineering</EM></LI>
    <LI>Ohm, Herber W., <EM>Distinguished Professor of Agronomy</EM></LI>
    <LI>Zhu, Jian-Kang<EM>, Distinguished Professor of Plant=20
Biology</EM></LI></UL>
  <H4>College of Health and Human Sciences</H4>
  <UL>
    <LI>Mattes, Richard,&nbsp;<EM>Distinguished Professor of Foods and=20
    Nutrition</EM></LI>
    <LI>Powell, Douglas R., <EM>Distinguished Professor of Child Developme=
nt and=20
    Family Studies</EM></LI>
    <LI>Weaver, Connie M., <EM>Distinguished Professor of Foods and=20
    Nutrition</EM></LI></UL>
  <H4>College of Engineering</H4>
  <UL type=3Ddisc>
    <LI>Agrawal, Rakesh, Winthrop E. Stone Distinguished Professor of Chem=
ical=20
    Engineering</LI>
    <LI>Allebach, Jan P., Hewlett-Packard Distinguished Professor of Elect=
rical=20
    and Computer Engineering</LI>
    <LI>Bement, Arden L., Jr., David Ross Distinguished Professor of Nucle=
ar=20
    Engineering</LI>
    <LI>Datta, Supriyo, Thomas Duncan Distinguished Professor of Electrica=
l and=20
    Computer Engineering</LI>
    <LI>Delp, Edward J., Silicon Valley Distinguished Professor of Electri=
cal=20
    and Computer Engineering</LI>
    <LI>Fleeter, Sanford, McAllister Distinguished Professor of Mechanical=
=20
    Engineering </LI>
    <LI>Garimella, Suresh V., R. Eugene and Susie E. Goodson Distinguished=
=20
    Professor of Mechanical Engineering </LI>
    <LI>Grandt, Alten F., Raisbeck Engineering Distinguished Professor of=
=20
    Engineering and Technology Integration </LI>
    <LI>Heister, Stephen D., Raisbeck Engineering Distinguished Professor =
of=20
    Engineering and Technology Integration</LI>
    <LI>Ishii, Mamoru, Walter Zinn Distinguished Professor of Nuclear=20
    Engineering</LI>
    <LI>Jamieson, Leah H., Ransburg Distinguished Professor of Electrical =
and=20
    Computer Engineering</LI>
    <LI>Kim, Sangtae, Donald W. Feddersen Distinguished Professor of Mecha=
nical=20
    Engineering and Chemical Engineering</LI>
    <LI>Lundstrom, Mark S., Scifres Distinguished Professor in Electrical =
and=20
    Computer Engineering </LI>
    <LI>Melosh, H. Jay, Distinguished Professor of Earth and Atmospheric=20
    Sciences and Physics</LI>
    <LI>Park, Kinam, Showalter Distinguished Professor of Biomedical=20
    Engineering</LI>
    <LI>Pipes, R. Byron, John L. Bray Distinguished Professor of=20
Engineering</LI>
    <LI>Ramkrishna, Doraiswami, Harry Creighton Peffer Distinguished Profe=
ssor=20
    of Chemical Engineering</LI>
    <LI>Rao, P. Suresh C., Lee A. Rieth Distinguished Professor in Environ=
mental=20
    Engineering</LI>
    <LI>Reklaitis, Gintaras V., The Burton and Kathryn Gedge Distinguished=
=20
    Professor of Chemical Engineering</LI>
    <LI>Sinha, Kumares C., Olson Distinguished Professor of Civil=20
    Engineering</LI>
    <LI>Sozen, Mete A., Kettelhut Distinguished Professor of Civil=20
    Engineering</LI>
    <LI>Sun, Chin-Teh, Neil A. Armstrong Distinguished Professor of Aerona=
utical=20
    and Astronautical Engineering</LI>
    <LI>Varma, Arvind, R. Games Slayter Distinguished Professor of Chemica=
l=20
    Engineering</LI>
    <LI>Wankat, Phillip C., Clifton L. Lovell Distinguished Professor of=20
    Chemical Engineering</LI>
    <LI>Weiner, Andrew M., Scifres Distinguished Professor in Electrical a=
nd=20
    Computer Engineering</LI>
    <LI>Woodall, Jerry M., Distinguished Professor in Electrical and Compu=
ter=20
    Engineering</LI></UL>
  <H4>College of Liberal Arts</H4>
  <UL>
    <LI>Ferraro, Kenneth F., Distinguished Professor of Sociology</LI>
    <LI>Leonard, Laurence B., Rachel E. Stark Distinguished Professor of=20
    Audiology and Speech Sciences</LI>
    <LI>McBride, William L., Arthur G. Hansen Distinguished Professor of=20
    Philosophy</LI>
    <LI>Nairne, James S., Reece McGee Distinguished Professor of Psycholog=
ical=20
    Sciences</LI>
    <LI>Parker, Glenn R., Distinguished Professor of Political Science</LI>
    <LI>Powley, Terry L., Ben J. Winer Distinguished Professor of Psycholo=
gical=20
    Sciences</LI>
    <LI>Proctor, Robert W., Distinguished Professor of Psychological=20
    Sciences</LI>
    <LI>Raskin, Victor, Distinguished Professor of English and Linguistics=
</LI>
    <LI>Roberts, Randy W., Distinguished Professor of History</LI>
    <LI>Smith, Anne, Distinguished Professor of Speech, Language, and Hear=
ing=20
    Sciences</LI></UL>
  <H4>Krannert School of Management</H4></BLOCKQUOTE>
<BLOCKQUOTE dir=3Dltr>
  <UL>
    <LI>Green, Stephen G., <EM>Basil Sidney Turner Distinguished Professor=
 of=20
    Management</EM>&nbsp; </LI>
    <LI>Lewellen, Wilbur G.,&nbsp;<EM>Distinguished Professor of=20
    Management</EM>&nbsp; </LI>
    <LI>McConnell, John J., <EM>Emanuel T. Weiler Distinguished Professor =
of=20
    Management</EM></LI>
    <LI>Cason, Timothy N., <EM>Distinguished Professor of=20
    Economics</EM>&nbsp;</LI></UL>
  <H4>College of Pharmacy, Nursing, and Health Sciences</H4>
  <UL>
    <LI>Borch, Richard F., Lilly Distinguished Professor of Medicinal Chem=
istry=20
    and Molecular Pharmacology</LI>
    <LI>Ghosh, Arun, Distinguished Professor Chemistry&nbsp;and Medical=20
    Chemistry and Molecular Pharmacology</LI>
    <LI>Loudon, G. Marc, Gustav E. Cwalina&nbsp;Distinguished Professor of=
=20
    Medicinal Chemistry&nbsp;</LI>
    <LI>Nichols, David E., Robert C. and Charlotte P. Anderson Distinguish=
ed=20
    Chair of Pharmacology</LI></UL>
  <H4>College of Science</H4>
  <UL>
    <LI>Abhyankar, Shreeram, Marshall Distinguished Professor of=20
    Mathematics&nbsp; </LI>
    <LI>Atallah, Mikhail (Mike) J., Distinguished Professor of Computer=20
    Science&nbsp; </LI>
    <LI>Bodner, George M., Arthur Kelly Distinguished Professor of Chemica=
l=20
    Education</LI>
    <LI>Bortoletto, Daniela, Edward M. Purcell Distinguished Professor of=
=20
    Physics&nbsp; </LI>
    <LI>Chmielewski, Jean, Alice Watson Kramer Distinguished Professor of=
=20
    Chemistry&nbsp; </LI>
    <LI>Cleveland, William S., Shanti S. Gupta Distinguished Professor of=
=20
    Statistics&nbsp; </LI>
    <LI>Comer, Douglas E., Distinguished Professor of Computer Sciences&nb=
sp;=20
    </LI>
    <LI>Cooks, R. Graham, Henry Bohn Hass Distinguished Professor of=20
    Chemistry&nbsp;</LI>
    <LI>Cramer, William A., Henry Koffler Distinguished Professor of Biolo=
gical=20
    Sciences&nbsp;</LI>
    <LI>Cushman, John H., Distinguished Professor of Earth and Atmospheric=
=20
    Sciences&nbsp;</LI>
    <LI>de Branges, Louis, Edward C. Elliott Distinguished Professor of=20
    Mathematics&nbsp;</LI>
    <LI>Eremenko, Alexandre, Distinguished Professor of Mathematics&nbsp;<=
/LI>
    <LI>Francisco, Joseph S., William E. Moore Distinguished Professor of =
Earth=20
    and Atmospheric Sciences and Chemistry&nbsp;</LI>
    <LI>Gelvin, Stanton B., H. Edwin Umbarger Distinguished Professor of=20
    Biological Sciences</LI>
    <LI>Ghosh, Arun, Distinguished Professor Chemistry&nbsp;and Medical=20
    Chemistry and Molecular Pharmacology&nbsp;</LI>
    <LI>Giordano, Nicholas J., Hubert James Distinguished Professor of=20
    Physics&nbsp;</LI>
    <LI>Lempert, Laszlo, Distinguished Professor of Mathematics&nbsp; </LI>
    <LI>Low, Philip, Ralph C. Corley Distinguished Professor of Chemistry&=
nbsp;=20
    </LI>
    <LI>McLuckey, Scott A., John A. Leighty Distinguished Professor of=20
    Chemistry&nbsp;</LI>
    <LI>Negishi, Ei-ichi, Herbert C. Brown Distinguished Professor of=20
    Chemistry&nbsp; </LI>
    <LI>Pak, William L., Paul F. Oreffice Distinguished Professor of Biolo=
gical=20
    Sciences&nbsp;</LI>
    <LI>Ramdas, Anant K., Lark-Horovitz Distinguished Professor of=20
    Physics&nbsp;</LI>
    <LI>Regnier, Fred, J. H. Law Distinguished Professor of Chemistry&nbsp=
;</LI>
    <LI>Rossmann, Michael G., Hanley Distinguished Professor of Biological=
=20
    Sciences&nbsp;</LI>
    <LI>Shahidi, Freydoon, Distinguished Professor of Mathematics&nbsp;</L=
I>
    <LI>Shipsey, Ian P., Julian Schwinger Distinguished Professor of=20
    Physics&nbsp;</LI>
    <LI>Zwier, Timothy S., Melvin G. Mellon Distinguished Professor of=20
    Chemistry&nbsp;</LI></UL>
  <H4>College of Technology</H4>
  <UL>
    <LI>Bertoline, Gary R., Distinguished Professor of Computer Graphics=20
    Technology&nbsp;&nbsp; </LI>
    <LI>Herrick, Robert J., Robert A. Hoffer Distinguished Professor of=20
    Electrical Engineering Technology</LI></UL>
  <H4>Indiana University=E2=80=93Purdue University Fort Wayne</H4>
  <UL>
    <LI>Stapleton, Michael L., <EM>Chapman Distinguished Professor of Engl=
ish=20
    </EM>&nbsp;&nbsp; </LI>
    <LI>Walter, Steven, <EM>Distinguished Professor of Systems Engineering=
 and=20
    Director of the Center for Systems Engineering</EM> </LI>
    <LI>Yen, S.C. Max<EM>, College of Engineering, Technology and Computer=
=20
    Science and Steel Dynamics Distinguished Professor of Engineering with=
=20
    Tenure&nbsp;&nbsp;</EM></LI></UL></BLOCKQUOTE>
<H3><A class=3DanchorGlyph name=3Duniversity></A>Named University Professo=
rs</H3>
<BLOCKQUOTE dir=3Dltr>
  <H4>College of Engineering</H4>
  <UL>
    <LI>Basaran, Osman A., The Burton and Kathryn Gedge Professor of Chemi=
cal=20
    Engineering&nbsp; </LI>
    <LI>Cooper, James A., Charles William Harrison Professor of Electrical=
 and=20
    Computer Engineering&nbsp; </LI>
    <LI>Gore, Jay P., Reilly Professor in Combustion Engineering&nbsp; </L=
I>
    <LI>Hirleman, E. Daniel, Jr., William E. and Florence E. Perry Head of=
=20
    Mechanical Engineering&nbsp; </LI>
    <LI>Merkle, Charles L., Reilly Professor of Engineering&nbsp; </LI>
    <LI>Sands, Timothy D., Basil S. Turner Professor of Engineering&nbsp; =
</LI>
    <LI>Smith, Mark J. T., Michael J. and Katherine R. Birck Professor of=
=20
    Electrical and Computer Engineering&nbsp;</LI></UL>
  <H4>Krannert School of Management</H4>
  <UL>
    <LI>Cosier, Richard A., <EM>Leeds Professor of Management</EM>&nbsp; <=
/LI>
    <LI>De, Prabuddha, <EM>Accenture Professor of Information=20
    Technology</EM>&nbsp; </LI>
    <LI>Denis, David J., <EM>Burton D. Morgan Chair of Private=20
    Enterprise</EM>&nbsp; </LI>
    <LI>Kalwani, Manohar U., <EM>OneAmerica Professor of Management</EM>&n=
bsp;=20
    </LI>
    <LI>Plante, Robert D., <EM>Lewis B. Cullman Professor of=20
    Management</EM>&nbsp;</LI></UL>
  <H4>College of Pharmacy, Nursing, and Health Sciences</H4>
  <UL>
    <LI>Bergstrom, Donald E., <EM>Walther Professor of Medicinal=20
    Chemistry</EM>&nbsp; </LI>
    <LI>Byrn, Stephen R., <EM>Charles B. Jordan Professor of Medicinal=20
    Chemistry</EM>&nbsp;</LI></UL>
  <H4>College of Science</H4>
  <UL>
    <LI>Sameh, Ahmed H., <EM>Samuel D. Conte Professor of Computer=20
    Science</EM></LI></UL>
  <H4>College of Technology</H4>
  <UL>
    <LI>Tomovic, Mileta M., <EM>W. C. Furnas Professor in Enterprise=20
    Excellence</EM></LI></UL>
  <H4>School of Veterinary Medicine</H4>
  <UL>
    <LI>Beck, Alan M., <EM>Dorothy N. McAllister Professor of Animal=20
    Ecology</EM>&nbsp; </LI>
    <LI>Borgens, Richard B., <EM>Mari Hulman George Professor of Applied=20
    Neuroscience in the School of Veterinary Medicine</EM>&nbsp;</LI></UL>
  <H4>Indiana University-Purdue University Fort Wayne</H4>
  <UL>
    <LI>Beineke, Lowell W., <EM>Jack W. Schrey Professorship </EM>&nbsp; <=
/LI>
    <LI>Paladino, Frank V., <EM>Schrey Professor of=20
Biology</EM></LI></UL></BLOCKQUOTE>
<H3><A class=3DanchorGlyph name=3Dnamed></A>Named Professors</H3>
<BLOCKQUOTE dir=3Dltr>
  <H4>College of Agriculture</H4>
  <UL>
    <LI>Crawford, Melba M., <EM>Chair of Excellence in Earth Observation w=
ithin=20
    the Colleges of Agriculture and Engineering</EM>&nbsp; </LI>
    <LI>Akridge, Jay T., <EM>James and Lois Ackerman Professor of Agricult=
ural=20
    Economics</EM>&nbsp; </LI>
    <LI>Doudareva, Natalia, <EM>Wickersham Chair of Excellence in Agricult=
ural=20
    Research</EM>&nbsp; </LI>
    <LI>Hamaker, Bruce R., <EM>Whistler Chair in the Department of Food=20
    Science</EM></LI>
    <LI>Ivantysynova, Monika, <EM>Maha Named Professor in Fluid Power=20
    Systems</EM>&nbsp; </LI>
    <LI>Jackson, Scott A., <EM>Wickersham Chair of Excellence in Agricultu=
ral=20
    Research</EM>&nbsp; </LI>
    <LI>Nelson, Philip E., <EM>Scholle Chair in Food Processing</EM></LI>
    <LI>Rocheford, Torbert, <EM>Patterson Endowed Chair in Translational=20
    Genormics for Crop Improvement</EM></LI>
    <LI>Tao, Bernard Y., <EM>Indiana Soybean Board Professor in Soybean=20
    Utilization</EM>&nbsp; </LI>
    <LI>Tuinstra, Mitchell, <EM>Wickersham Chair of Excellence in Agricult=
ural=20
    Research</EM></LI>
    <LI>Tyner, Wallace, <EM>James and Lois Ackerman Professor in Agricultu=
ral=20
    Economics</EM></LI></UL>
  <H4>College of Consumer and Family Sciences</H4>
  <UL>
    <LI>Adler, Howard, <EM>C.B. Smith Professorship of Hotel=20
Management</EM></LI>
    <LI>Fingerman, Karen, <EM>Berner-Hanley Professorship in=20
    Gerontology</EM></LI></UL>
  <H4>College of Education</H4>
  <UL>
    <LI>Schmitt, Maribeth C., <EM>Jean Adamson Stanley Faculty Chair in=20
    Literacy</EM>&nbsp; </LI>
    <LI>VanFossen, Phillip, <EM>James F. Ackerman Professor of Social Stud=
ies=20
    Education</EM>&nbsp;</LI></UL>
  <H4>College of Engineering</H4>
  <UL>
    <LI>Banks, M. Katherine, Bowen Engineering Head of Civil Engineering&n=
bsp;=20
    </LI>
    <LI>Bouman, Charles A., Michael J. and Katherine R. Birck Professor of=
=20
    Electrical and Computer Engineering&nbsp; </LI>
    <LI>Crawford, Melba M., Chair of Excellence in Earth Observation withi=
n the=20
    Colleges of Agriculture and Engineering&nbsp; </LI>
    <LI>Delgass, W. Nicholas, Maxine Spencer Nichols Professor of Chemical=
=20
    Engineering&nbsp; </LI>
    <LI>Garimella, Suresh V., R. Eugene and Susie E. Goodson Professorship=
 of=20
    Mechanical Engineering&nbsp; </LI>
    <LI>Govindaraju, Rao S., Christopher B. Burke Professor of Civil=20
    Engineering&nbsp; </LI>
    <LI>Handwerker, Carol.,&nbsp;Reinhardt Schumann Jr. Professor of Meter=
ials=20
    Engineering&nbsp; </LI>
    <LI>Hassanein, Ahmed, Paul L. Wattelet Professor of Nuclear=20
    Engineering&nbsp;</LI>
    <LI>Howell, Kathleen C., Hsu Lo Professor of Aeronautical and Astronau=
tical=20
    Engineering&nbsp; </LI>
    <LI>Jamieson, Leah H., John A. Edwardson Dean of the College of Engine=
ering=20
    &nbsp; </LI>
    <LI>Lucht, Robert P., Ralph and Bettye Bailey Professor of Combustion =
in=20
    Mechanical Engineering</LI>
    <LI>Manfra, Michael, William F. and Patty J. Miller Associate Professo=
r</LI>
    <LI>Murthy, Jayathi, Robert V. Adams Professor of Mechanical=20
    Engineering&nbsp; </LI>
    <LI>Prabhu, Nagabhushana,&nbsp;Reilly Professor&nbsp;of Industrial=20
    Engineering&nbsp; </LI>
    <LI>Radcliffe, David F., Epistemology Professor of Engineering=20
    Education&nbsp; </LI>
    <LI>Roy, Kaushik, Roscoe H. George Professor of Electrical and Compute=
r=20
    Engineering&nbsp; </LI>
    <LI>Shalaev, Vladimir P., Robert and Anne Burnett Professor of Electri=
cal=20
    and Computer Engineering&nbsp; </LI>
    <LI>Shin, Yung C., Donald A. and Nancy G. Roach Professor of Advanced=
=20
    Manufacturing</LI>
    <LI>Shuttleworth, Carol L., Professor of Mechanical Engineering&nbsp; =
</LI>
    <LI>Smith, Karl, Cooperative Learning Professor in Engineering=20
Education</LI>
    <LI>Sutherland, John W., Fehsenfeld Family Head of Environmental and=20
    Ecological Engineering&nbsp; </LI>
    <LI>Witz, Steven M., St. Vincent Health Chair of Healthcare Engineerin=
g</LI>
    <LI>Xianfan Xu, James J., Professor of Mechanical Engineering&nbsp; </=
LI>
    <LI>Zoltowski, Michael, Thomas J. and Wendy Engibous Professor of Elec=
trical=20
    and Computer Engineering&nbsp;</LI></UL>
  <H4>College of Liberal Arts</H4>
  <UL>
    <LI>Bernstein, Mark H., <EM>Joyce and Edward E. Brewer Chair in Applie=
d=20
    Ethics</EM>&nbsp; </LI>
    <LI>Contreni, John J.,<EM> Justin S. Morrill Dean of the College of Li=
beral=20
    Arts</EM>&nbsp; </LI>
    <LI>Sypher, Beverly Davenport, <EM>Susan Bulkeley Butler Chair of the =
Susan=20
    Bulkeley Butler Center for Leadership Excellence</EM>&nbsp;</LI></UL>
  <H4>Libraries</H4>
  <UL>
    <LI>Weiner, Sharon A., <EM>W. Wayne Booker Endowed Chair in Informatio=
n=20
    Literacy</EM></LI></UL>
  <H4>Krannert School of Management</H4>
  <UL>
    <LI>Bagnoli, Mark, <EM>Olson Chair of Management</EM>&nbsp; </LI>
    <LI>Barron, John M., <EM>Loeb Professor of Economics</EM></LI>
    <LI>Campion, Michael A., <EM>Herman C. Krannert Professor of=20
    Management</EM></LI>
    <LI>Denis, Diane K., <EM>Duke Realty Endowed Chair in Finance</EM>&nbs=
p;=20
    </LI>
    <LI>Faccio, Mara, <EM>Hanna Chair in Entrepreneurship</EM>&nbsp; </LI>
    <LI>Iyer, Ananth V., <EM>Susan Bulkeley Butler Chair in Operations=20
    Management</EM>&nbsp; </LI>
    <LI>Reuer, Jeff, <EM>Blake Family Endowed Chair in Strategic Managemen=
t and=20
    Governance</EM>&nbsp; </LI>
    <LI>Schwarz, Leroy B., <EM>Louis A. Weil, Jr. Professor of=20
    Management</EM>&nbsp; </LI>
    <LI>Shanthikumar, J. <EM>George, Richard E. Dauch Chair in Manufacturi=
ng and=20
    Operations Management</EM>&nbsp; </LI>
    <LI>Tang, Kwei, <EM>Allison and Nancy Schleicher Chair of=20
    Management</EM>&nbsp;</LI></UL>
  <H4>College of Pharmacy, Nursing, and Health Sciences</H4>
  <UL>
    <LI>Abel, Steven R., <EM>Bucke Professor of Pharmacy Practice</EM></LI>
    <LI>Sands, Laura P., Katherine Birck Professor of Nursing</LI>
    <LI>Topp, Elizabeth<EM>, Dane O. Kildsig Chair of Industrial &amp; Phy=
sical=20
    Pharmacy</EM></LI></UL>
  <H4>College of Science</H4>
  <UL>
    <LI>Fuchs, Philip L., <EM>Richard B. Wetherill Professor of=20
    Chemistry</EM>&nbsp; </LI>
    <LI>Manfra, Michael J., <EM>William F. and Patty J. Miller Associate=20
    Professor of Physics</EM>&nbsp; </LI>
    <LI>Szpankowski, Wojciech, <EM>Saul Rosen Professor of Computer=20
    Science</EM></LI></UL>
  <H4>College of Technology</H4>
  <UL>
    <LI>&nbsp;Dark, Melissa, <EM>Furnas Professor in the College of=20
    Technology</EM></LI></UL>
  <H4>School of Veterinary Medicine</H4>
  <UL>
    <LI>Knapp, Deborah W., <EM>Dolores L. McCall Professor of Veterinary=20
    Medicine</EM>&nbsp; &nbsp; </LI>
    <LI>Leary, James F., <EM>SVM Professor of Nanomedicine</EM>&nbsp; &nbs=
p;=20
    </LI>
    <LI>Robinson, J. Paul, <EM>SVM Professor of Cytomics</EM>&nbsp;=20
  &nbsp;</LI></UL>
  <H4>Information Technology</H4>
  <UL>
    <LI>McCartney, W. Gerry,&nbsp; <EM>Olga Oesterle England Professor of=
=20
    Information Technology </EM>&nbsp;</LI></UL>
  <H4>Indiana University-Purdue University Fort Wayne</H4>
  <UL>
    <LI>Chang, Otto B., <EM>Paul E. Shaffer Professor of Accounting</EM></=
LI></UL>
  <H4>Purdue University Calumet</H4>
  <UL>
    <LI>Flannery, Michael J., <EM>White Lodging Professor of Hospitality a=
nd=20
    Tourism Management</EM>&nbsp; </LI>
    <LI>Kramer, Robert A., <EM>NiSource Charitable Foundation Professor of=
=20
    Energy and the Environment</EM>&nbsp; </LI>
    <LI>Rivers, Robert H., <EM>Thomas Ray Crowel Professor of Science and=
=20
    Technology Education and Director of the Center for Science and Techno=
logy=20
    Education</EM> </LI></UL></BLOCKQUOTE>=EF=BB=BF </DIV><!-- END CONTENT=
 SECTION --><!-- START ADDITIONAL CONTENT SECTION -->
<DIV id=3Dother-content-container class=3D"clear-left float-group"><!--<p>=
Single column secondary page</p>--></DIV><!-- END ADDITIONAL CONTENT SECTI=
ON --><!-- START RESOURCES -->
<DIV id=3Dresources-container class=3Dfloat-group>
<DIV id=3Dresources-links>
<DIV class=3D"column col1"><A title=3DWebmail=20
href=3D"https://www.itap.purdue.edu/email/service/findservice">Webmail</A>=
 <A=20
title=3DmyPurdue href=3D"https://mypurdue.purdue.edu/">myPurdue</A></DIV>
<DIV class=3D"column col2"><A title=3DPurduE-board=20
href=3D"http://www.purdue.edu/eboard">PurduE-board</A> <A title=3DBlackboa=
rd=20
href=3D"http://www.itap.purdue.edu/tlt/blackboard/index.cfm">Blackboard</A=
></DIV>
<DIV class=3D"column col3"><A title=3D"Writing Lab"=20
href=3D"http://owl.english.purdue.edu/">Writing Lab</A> <A title=3DLibrari=
es=20
href=3D"http://www.lib.purdue.edu/">Libraries</A></DIV>
<DIV class=3D"column col4"><A title=3D"OnePurdue Portal"=20
href=3D"https://erp-portal-prd.itap.purdue.edu/irj/portal">OnePurdue Porta=
l</A> <A=20
title=3D"P-12 Connection" href=3D"http://www.purdue.edu/p12portal">P-12=20
Connection</A></DIV>
<DIV class=3D"column col5"><A title=3DDirectory=20
href=3D"http://www.itap.purdue.edu/directory/">Directory</A> <A title=3DCa=
lendars=20
href=3D"https://calendar.purdue.edu/">Calendars</A></DIV>
<DIV class=3D"column col6"><A title=3D"Campus Map"=20
href=3D"http://www.purdue.edu/campus_map/">Campus Map</A> <A=20
title=3D"Information Technology" href=3D"http://www.itap.purdue.edu/">Info=
rmation=20
Technology</A></DIV></DIV></DIV><!-- END RESOURCES --></DIV><!-- END MAIN =
CONTENT --><!-- BEGIN: FOOTER -->
<DIV id=3Dfooter-container class=3D"float-group round-bottom10">
<DIV id=3Dleft-foot>Purdue University, West Lafayette, IN 47907, (765)=20
494-4600<BR><A href=3D"http://www.purdue.edu/purdue/disclaimer.html">=C2=
=A9 2011 Purdue=20
University</A> | <A href=3D"http://www.purdue.edu/purdue/ea_eou_statement.=
html">An=20
equal access/equal opportunity university</A> | <A=20
href=3D"http://www.purdue.edu/securepurdue/DMCAAgent.cfm">Copyright=20
Complaints</A><BR>If you have trouble accessing this page because of a=20
disability, please contact Purdue Marketing and Media at <A=20
href=3D"mailto:marketing@purdue.edu">marketing@purdue.edu</A>. </DIV>
<DIV id=3Dright-foot><A=20
href=3D"http://purdue.qualtrics.com/SE/?SID=3DSV_cFOt2mjJmnEQHR2&amp;SVID=
=3DProd">Feedback</A>=20
| <A title=3D"Contact Purdue"=20
href=3D"http://www.purdue.edu/purdue/about/contact.html">Contact Purdue</A=
> | <A=20
href=3D"http://www.purdue.edu/globals/blog">Style Standards</A><BR>Maintai=
ned by:=20
<A href=3D"http://www.purdue.edu/marketing">Marketing and Media</A> </DIV>=
</DIV><!-- END:FOOTER --></DIV></DIV>
<DIV id=3Dbottom-pad></DIV>
<SCRIPT type=3Dtext/javascript=20
src=3D"https://www.purdue.edu/assets/globals/js/menus.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript>=20
      var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? "ht=
tps://ssl." : "http://www.");
      document.write(unescape("%3Cscript src=3D'" + gaJsHost + "google-ana=
lytics.com/ga.js' type=3D'text/javascript'%3E%3C/script%3E"));
    </SCRIPT>

<SCRIPT type=3Dtext/javascript>
      try {
      var pageTracker =3D _gat._getTracker("UA-2785081-1");
      pageTracker._trackPageview();
      } catch(err) {}
    </SCRIPT>
</BODY></HTML>

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: image/png
content-transfer-encoding: base64
content-location: https://www.purdue.edu/assets/globals/graphics/v4_purdue/PU_signature_white_bg_215x80.png

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
E2AAkqIIbcOkhf0AAAAASUVORK5CYII=

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/css/v4_purdue/reset.css

HTML {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
BODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
DIV {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
SPAN {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
APPLET {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
OBJECT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
IFRAME {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
H1 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
H2 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
H3 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
H4 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
H5 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
H6 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
P {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
BLOCKQUOTE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
PRE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
ABBR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
ACRONYM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
ADDRESS {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
BIG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
CITE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
CODE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
DEL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
DFN {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
EM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
FONT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
INS {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
KBD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
Q {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
S {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
SAMP {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
SMALL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
STRIKE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
STRONG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
SUB {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
SUP {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
VAR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
B {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
U {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
I {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
CENTER {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
DL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
DT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
DD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
OL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
UL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
LI {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
FIELDSET {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
FORM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
LABEL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
LEGEND {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TABLE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
CAPTION {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TBODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TFOOT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
THEAD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TH {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
TD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial, Helvetica, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; FONT-SIZE: =
100%; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; =
PADDING-TOP: 0px
}
BODY {
	LINE-HEIGHT: 1
}
OL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
UL {
	LIST-STYLE-TYPE: none; LIST-STYLE-IMAGE: none
}
BLOCKQUOTE {
	QUOTES: none
}
Q {
	QUOTES: none
}
BLOCKQUOTE:before {
	CONTENT: none
}
BLOCKQUOTE:after {
	CONTENT: none
}
Q:before {
	CONTENT: none
}
Q:after {
	CONTENT: none
}
:focus {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px
}
INS {
	TEXT-DECORATION: none
}
DEL {
	TEXT-DECORATION: line-through
}
TABLE {
	BORDER-SPACING: 0; BORDER-COLLAPSE: collapse
}
P {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/css/v4_purdue/template.css

* {
	BOX-SIZING: border-box; -moz-box-sizing: border-box; =
-webkit-box-sizing: border-box
}
BODY {
	BACKGROUND: #fff
}
#top-background-strip {
	POSITION: absolute; WIDTH: 100%; BACKGROUND: =
url(../../graphics/v4_purdue/header_diagonal_bg.jpg) repeat-x 0px 0px; =
HEIGHT: 85px; TOP: 5px
}
#background-strip {
	POSITION: absolute; BACKGROUND-COLOR: #000; WIDTH: 100%; HEIGHT: 33px; =
COLOR: #000; TOP: 85px
}
BODY.one-nav-strip #background-strip {
	HEIGHT: 33px
}
BODY.two-nav-strips #background-strip {
	HEIGHT: 66px
}
BODY.landing-page-one-nav-strip #background-strip {
	HEIGHT: 290px
}
BODY.landing-page #background-strip {
	HEIGHT: 323px
}
#page-container {
	POSITION: relative; MARGIN: 0px auto; WIDTH: 960px; TOP: 0px
}
#header-container {
	Z-INDEX: 10; POSITION: relative; HEIGHT: 85px; TOP: 0px
}
#header-top-strip {
	Z-INDEX: 11; POSITION: relative; BACKGROUND-COLOR: #a47700; HEIGHT: =
5px; TOP: 0px
}
.boxshadow #header-top-strip {
	BACKGROUND-IMAGE: none !important; box-shadow: 0px 2px 10px #656565; =
-moz-box-shadow: 0px 2px 10px #656565; -webkit-box-shadow: 0px 2px 10px =
#656565
}
#inner-page-container {
	POSITION: relative; BACKGROUND-COLOR: #fff; OVERFLOW: hidden; TOP: 0px
}
#purdue-signature-container {
	POSITION: absolute; TOP: 5px; LEFT: 10px
}
#page-title {
	POSITION: absolute; WIDTH: 425px; HEIGHT: 60px; FONT-SIZE: 1.75em; =
OVERFLOW: hidden; TOP: 15px; FONT-WEIGHT: bold; LEFT: 240px
}
#page-title A {
	POSITION: absolute; PADDING-BOTTOM: 3px; BOTTOM: 0px; COLOR: #000; =
VERTICAL-ALIGN: bottom; TEXT-DECORATION: none
}
#page-title A:visited {
	POSITION: absolute; PADDING-BOTTOM: 3px; BOTTOM: 0px; COLOR: #000; =
VERTICAL-ALIGN: bottom; TEXT-DECORATION: none
}
.small {
	FONT-SIZE: 0.7em
}
#search-container {
	POSITION: absolute; WIDTH: 268px; HEIGHT: 22px; TOP: 15px; RIGHT: 20px
}
#search-field {
	POSITION: relative; MARGIN: 0px; WIDTH: 198px; FLOAT: left; TOP: 1px; =
LEFT: 0px
}
#search-button {
	FLOAT: right; CURSOR: pointer
}
.boxshadow.borderradius #search-button {
	BORDER-BOTTOM: #c6a544 1px solid; POSITION: absolute; BORDER-LEFT: =
#c6a544 1px solid; LINE-HEIGHT: 12px; BACKGROUND-COLOR: #c6a544; MARGIN: =
0px; WIDTH: 60px; DISPLAY: block; HEIGHT: 21px; COLOR: #445b87 =
!important; BORDER-TOP: #c6a544 1px solid; TOP: 0px; RIGHT: 0px; =
BORDER-RIGHT: #c6a544 1px solid; TEXT-DECORATION: none; box-shadow: =
inset 0 1px 3px #fcf1cb, inset -1px 12px 1px #e8d591, 0 0 4px rgba(0, 0, =
0, 0.3); -moz-box-shadow: inset 0 1px 3px #fcf1cb, inset -1px 12px 1px =
#e8d591, 0 0 4px rgba(0, 0, 0, 0.3); -webkit-box-shadow: inset 0 1px 3px =
#fcf1cb, inset -1px 12px 1px #e8d591, 0 0 4px rgba(0, 0, 0, 0.3); =
-o-box-shadow: inset 0 1px 3px #fcf1cb, inset -1px 12px 1px #e8d591, 0 0 =
4px rgba(0, 0, 0, 0.3); text-shadow: 0 1px #fcf1cb, 0 0 2px rgba(255, =
255, 255, 0.8)
}
.boxshadow.borderradius #search-button:hover {
	BORDER-BOTTOM: #445b87 1px solid; BORDER-LEFT: #445b87 1px solid; =
BACKGROUND-COLOR: #7e9cd6; COLOR: #fff !important; BORDER-TOP: #445b87 =
1px solid; BORDER-RIGHT: #445b87 1px solid; box-shadow: inset 0 1px 3px =
#f7f9ff, inset -1px 12px 1px #cad8fa, 0 0 4px rgba(0, 0, 0, 0.3); =
-moz-box-shadow: inset 0 1px 3px #f7f9ff, inset -1px 12px 1px #cad8fa, 0 =
0 4px rgba(0, 0, 0, 0.3); -webkit-box-shadow: inset 0 1px 3px #f7f9ff, =
inset -1px 12px 1px #cad8fa, 0 0 4px rgba(0, 0, 0, 0.3); -o-box-shadow: =
inset 0 1px 3px #f7f9ff, inset -1px 12px 1px #cad8fa, 0 0 4px rgba(0, 0, =
0, 0.3); text-shadow: 0 -1px #445b87, 0 0 2px rgba(68, 91, 135, 0.8)
}
.boxshadow.borderradius #search-button:active {
	BORDER-BOTTOM: #445b87 1px solid; BORDER-LEFT: #445b87 1px solid; =
BACKGROUND-COLOR: #7e9cd6; COLOR: #fff !important; BORDER-TOP: #445b87 =
1px solid; BORDER-RIGHT: #445b87 1px solid; box-shadow: inset 0 1px 3px =
#f7f9ff, inset -1px 12px 1px #cad8fa, 0 0 4px rgba(0, 0, 0, 0.3); =
-moz-box-shadow: inset 0 1px 3px #f7f9ff, inset -1px 12px 1px #cad8fa, 0 =
0 4px rgba(0, 0, 0, 0.3); -webkit-box-shadow: inset 0 1px 3px #f7f9ff, =
inset -1px 12px 1px #cad8fa, 0 0 4px rgba(0, 0, 0, 0.3); -o-box-shadow: =
inset 0 1px 3px #f7f9ff, inset -1px 12px 1px #cad8fa, 0 0 4px rgba(0, 0, =
0, 0.3); text-shadow: 0 -1px #445b87, 0 0 2px rgba(68, 91, 135, 0.8)
}
#social-media-container {
	POSITION: absolute; WIDTH: 268px; HEIGHT: 30px; COLOR: #000; TOP: 45px; =
RIGHT: 20px
}
#social-media-container A {
	MARGIN: 0px 6px; WIDTH: 30px; DISPLAY: block; FLOAT: left; HEIGHT: =
30px; OVERFLOW: hidden; TEXT-DECORATION: none
}
#facebook-link {
	BACKGROUND: url(../../graphics/v4_purdue/social_icons_small.png) =
no-repeat 0px 0px; MARGIN-LEFT: 0px !important
}
#twitter-link {
	BACKGROUND: url(../../graphics/v4_purdue/social_icons_small.png) =
no-repeat -31px 0px
}
#youtube-link {
	BACKGROUND: url(../../graphics/v4_purdue/social_icons_small.png) =
no-repeat -62px 0px
}
#rss-link {
	BACKGROUND: url(../../graphics/v4_purdue/social_icons_small.png) =
no-repeat -93px 0px
}
#mobile-link {
	BACKGROUND: url(../../graphics/v4_purdue/social_icons_small.png) =
no-repeat -124px 0px; MARGIN-RIGHT: 0px !important
}
#breadcrumbs {
	POSITION: relative; BORDER-LEFT: #999 1px solid; PADDING-BOTTOM: 6px; =
MARGIN: 0px; PADDING-LEFT: 20px; WIDTH: 960px; PADDING-RIGHT: 20px; =
HEIGHT: 25px; FONT-SIZE: 0.75em; BORDER-RIGHT: #999 1px solid; =
PADDING-TOP: 6px
}
.boxshadow #breadcrumbs {
	BORDER-LEFT: medium none; BORDER-RIGHT: medium none
}
#breadcrumbs P {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
inline; PADDING-TOP: 0px
}
#breadcrumbs A {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
inline; COLOR: #a57600; FONT-WEIGHT: bold; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
#breadcrumbs A:visited {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
inline; COLOR: #a57600; FONT-WEIGHT: bold; TEXT-DECORATION: none; =
PADDING-TOP: 0px
}
#breadcrumbs A:hover {
	TEXT-DECORATION: underline
}
.addthis_toolbox {
	POSITION: absolute; BOTTOM: 3px; DISPLAY: block; FLOAT: right; RIGHT: =
20px
}
.addthis_toolbox A {
	MARGIN: 2px
}
#video-container {
	Z-INDEX: 20000; POSITION: absolute
}
#banner-container {
	Z-INDEX: 8000; POSITION: relative; HEIGHT: 257px; TOP: 0px; LEFT: 0px
}
#banner-container A {
	COLOR: inherit; TEXT-DECORATION: none
}
#banner-container A:hover {
	COLOR: inherit; TEXT-DECORATION: none
}
#banner-container A:active {
	COLOR: inherit; TEXT-DECORATION: none
}
#banner-container A:visited {
	COLOR: inherit; TEXT-DECORATION: none
}
.banner {
	POSITION: relative
}
.banner IMG.headline {
	POSITION: absolute; BOTTOM: 20px; LEFT: 20px
}
#sidebar-links-container {
	POSITION: absolute; WIDTH: 265px; TOP: 360px; LEFT: 650px
}
#main-content-container {
	POSITION: relative; BORDER-LEFT: #999 1px solid; MIN-HEIGHT: 350px; =
WIDTH: 960px; BORDER-RIGHT: #999 1px solid
}
.boxshadow #main-content-container {
	BORDER-LEFT: medium none; BORDER-RIGHT: medium none
}
#minimum-height-pad {
	WIDTH: 1px; FLOAT: right; HEIGHT: 350px; MARGIN-RIGHT: 1px
}
#news-events-container {
	POSITION: relative; WIDTH: 650px; FLOAT: right; MARGIN-RIGHT: 25px
}
#column-container {
	POSITION: relative; WIDTH: 650px; FLOAT: right; MARGIN-RIGHT: 25px
}
#news-headline {
	BORDER-BOTTOM: #ccc 1px solid; PADDING-BOTTOM: 5px
}
#events-headline {
	BORDER-BOTTOM: #ccc 1px solid; PADDING-BOTTOM: 5px
}
#news-headline .rss-link {
	POSITION: relative; WIDTH: 15px; DISPLAY: block; BACKGROUND: =
url(../../graphics/v4_purdue/rss_icon_small_gray.jpg) no-repeat left =
top; FLOAT: left; HEIGHT: 16px; MARGIN-RIGHT: 10px
}
#events-headline .rss-link {
	POSITION: relative; WIDTH: 15px; DISPLAY: block; BACKGROUND: =
url(../../graphics/v4_purdue/rss_icon_small_gray.jpg) no-repeat left =
top; FLOAT: left; HEIGHT: 16px; MARGIN-RIGHT: 10px
}
#news-headline .headline {
	POSITION: relative
}
#events-headline .headline {
	POSITION: relative
}
#news-events-container LI {
	POSITION: relative; MARGIN-TOP: 15px; FONT-SIZE: 13px; LEFT: 26px
}
#news-events-container P {
	POSITION: relative; MARGIN-TOP: 15px; FONT-SIZE: 13px; LEFT: 26px
}
#news-container {
	MARGIN: 25px 10px 25px 25px; WIDTH: 260px; FLOAT: left
}
#events-container {
	MARGIN: 25px 25px 25px 30px; WIDTH: 260px; FLOAT: right
}
#news-container A {
	TEXT-DECORATION: none
}
#events-container A {
	TEXT-DECORATION: none
}
#news-container A {
	COLOR: #000
}
#events-container A {
	COLOR: #000
}
#events-contianer A:visited {
	COLOR: #000
}
#news-container A:visited {
	COLOR: #000
}
#news-container A:hover {
	TEXT-DECORATION: underline
}
#events-container A:hover {
	TEXT-DECORATION: underline
}
#news-container A.third-party-credit {
	COLOR: #aaa; FONT-SIZE: 11px
}
#events-container A.third-party-credit {
	COLOR: #aaa; FONT-SIZE: 11px
}
#featured-links-container {
	POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: =
279px; PADDING-RIGHT: 0px; FLOAT: left; TOP: 22px; PADDING-TOP: 0px; =
LEFT: 0px
}
#featured-links-container A IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 262px; PADDING-RIGHT: 0px; =
DISPLAY: block; FLOAT: right; HEIGHT: 75px; BORDER-TOP: medium none; =
BORDER-RIGHT: medium none; TEXT-DECORATION: none; PADDING-TOP: 0px
}
#sidebar-container {
	POSITION: relative; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: =
279px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 50px; FLOAT: left; TOP: 22px; =
PADDING-TOP: 0px; LEFT: 0px
}
#sidebar-header {
	Z-INDEX: 1; BORDER-BOTTOM: #fff 3px solid; POSITION: relative; =
BORDER-LEFT: #fff 3px solid; WIDTH: 227px; BACKGROUND: #695e4a; =
BORDER-TOP: #fff 3px solid; BORDER-RIGHT: #fff 3px solid; LEFT: 25px
}
.boxshadow #sidebar-header {
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 0 7px =
rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); =
-o-box-shadow: 0 0 7px rgba(0, 0, 0, 0.5)
}
.no-boxshadow #sidebar-header {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
#sidebar-header H2 {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; COLOR: =
#fff; FONT-SIZE: 1.25em; PADDING-TOP: 10px
}
#highlights-content-container {
	BORDER-BOTTOM: #999 1px solid; POSITION: relative; BORDER-LEFT: #999 =
1px solid; PADDING-BOTTOM: 10px; LINE-HEIGHT: 1.25; BACKGROUND-COLOR: =
#fff; PADDING-LEFT: 10px; WIDTH: 227px; PADDING-RIGHT: 10px; FONT-SIZE: =
0.8em; BORDER-TOP: #999 1px solid; BORDER-RIGHT: #999 1px solid; =
PADDING-TOP: 10px; LEFT: 25px
}
.boxshadow #highlights-content-container {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; box-shadow: 0 0 7px rgba(0, 0, =
0, 0.5); -moz-box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); =
-webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); -o-box-shadow: 0 0 7px =
rgba(0, 0, 0, 0.5)
}
#highlights-content-container UL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
OL {
	MARGIN-TOP: 0px; MARGIN-BOTTOM: 1.5em
}
#highlights-content-container UL LI {
	MARGIN-BOTTOM: 1em
}
OL LI {
	MARGIN-BOTTOM: 1em
}
#highlights-content-container A {
	DISPLAY: block; MARGIN-BOTTOM: 0.7em
}
#highlights-content-container UL LI A {
	MARGIN-BOTTOM: 0px
}
OL LI A {
	MARGIN-BOTTOM: 0px
}
#single-column-content-container {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 25px; PADDING-RIGHT: 25px; =
PADDING-TOP: 0px
}
#single-column-content-container {
	POSITION: relative; LINE-HEIGHT: 1.25; MARGIN: 25px; FONT-SIZE: 0.8em
}
#other-content-container {
	POSITION: relative; LINE-HEIGHT: 1.25; MARGIN: 25px; FONT-SIZE: 0.8em
}
.content-container {
	POSITION: relative; LINE-HEIGHT: 1.25; MARGIN: 25px; FONT-SIZE: 0.8em
}
#single-column-content-container H1 {
	MARGIN-BOTTOM: 0.75em; COLOR: #a57600; FONT-SIZE: 2em
}
#other-content-container H1 {
	MARGIN-BOTTOM: 0.75em; COLOR: #a57600; FONT-SIZE: 2em
}
.content-container H1 {
	MARGIN-BOTTOM: 0.75em; COLOR: #a57600; FONT-SIZE: 2em
}
#single-column-content-container H2 {
	MARGIN-BOTTOM: 0.75em; COLOR: #a57600; FONT-SIZE: 2em
}
#other-content-container H2 {
	MARGIN-BOTTOM: 0.75em; COLOR: #a57600; FONT-SIZE: 2em
}
.content-container H2 {
	MARGIN-BOTTOM: 0.75em; COLOR: #a57600; FONT-SIZE: 2em
}
#single-column-content-container H3 {
	LINE-HEIGHT: 1; MARGIN-BOTTOM: 1em; COLOR: #a57600; FONT-SIZE: 1.5em
}
#other-content-container H3 {
	LINE-HEIGHT: 1; MARGIN-BOTTOM: 1em; COLOR: #a57600; FONT-SIZE: 1.5em
}
.content-container H3 {
	LINE-HEIGHT: 1; MARGIN-BOTTOM: 1em; COLOR: #a57600; FONT-SIZE: 1.5em
}
#single-column-content-container H4 {
	LINE-HEIGHT: 1.25; MARGIN-BOTTOM: 1.25em; FONT-SIZE: 1.2em
}
#other-content-container H4 {
	LINE-HEIGHT: 1.25; MARGIN-BOTTOM: 1.25em; FONT-SIZE: 1.2em
}
.content-container H4 {
	LINE-HEIGHT: 1.25; MARGIN-BOTTOM: 1.25em; FONT-SIZE: 1.2em
}
#single-column-content-container H5 {
	MARGIN-BOTTOM: 1.5em; FONT-SIZE: 1em; FONT-WEIGHT: bold
}
#other-content-container H5 {
	MARGIN-BOTTOM: 1.5em; FONT-SIZE: 1em; FONT-WEIGHT: bold
}
.content-container H5 {
	MARGIN-BOTTOM: 1.5em; FONT-SIZE: 1em; FONT-WEIGHT: bold
}
#single-column-content-container H6 {
	FONT-SIZE: 1em; FONT-WEIGHT: bold
}
#other-content-container H6 {
	FONT-SIZE: 1em; FONT-WEIGHT: bold
}
.content-container H6 {
	FONT-SIZE: 1em; FONT-WEIGHT: bold
}
#single-column-content-container H2 A {
	TEXT-DECORATION: none
}
#single-column-content-container H3 A {
	TEXT-DECORATION: none
}
#single-column-content-container H4 A {
	TEXT-DECORATION: none
}
#single-column-content-container H5 A {
	TEXT-DECORATION: none
}
#other-content-container H2 A {
	TEXT-DECORATION: none
}
#other-content-container H3 A {
	TEXT-DECORATION: none
}
#other-content-container H4 A {
	TEXT-DECORATION: none
}
#other-content-container H5 A {
	TEXT-DECORATION: none
}
.content-container H2 A {
	TEXT-DECORATION: none
}
.content-container H3 A {
	TEXT-DECORATION: none
}
.content-container H4 A {
	TEXT-DECORATION: none
}
.content-container H5 A {
	TEXT-DECORATION: none
}
#single-column-content-container H2 A {
	COLOR: #e4ae23
}
#single-column-content-container H3 A {
	COLOR: #e4ae23
}
#single-column-content-container H4 A {
	COLOR: #e4ae23
}
#single-column-content-container H5 A {
	COLOR: #e4ae23
}
#single-column-content-container H2 A:visited {
	COLOR: #e4ae23
}
#single-column-content-container H3 A:visited {
	COLOR: #e4ae23
}
#single-column-content-container H4 A:visited {
	COLOR: #e4ae23
}
#single-column-content-container H5 A:visited {
	COLOR: #e4ae23
}
#other-content-container H2 A {
	COLOR: #e4ae23
}
#other-content-container H3 A {
	COLOR: #e4ae23
}
#other-content-container H4 A {
	COLOR: #e4ae23
}
#other-content-container H5 A {
	COLOR: #e4ae23
}
#other-content-container H2 A:visited {
	COLOR: #e4ae23
}
#other-content-container H3 A:visited {
	COLOR: #e4ae23
}
#other-content-container H4 A:visited {
	COLOR: #e4ae23
}
#other-content-container H5 A:visited {
	COLOR: #e4ae23
}
.content-container H2 A {
	COLOR: #e4ae23
}
.content-container H3 A {
	COLOR: #e4ae23
}
.content-container H4 A {
	COLOR: #e4ae23
}
.content-container H5 A {
	COLOR: #e4ae23
}
.content-container H2 A:visited {
	COLOR: #e4ae23
}
.content-container H3 A:visited {
	COLOR: #e4ae23
}
.content-container H4 A:visited {
	COLOR: #e4ae23
}
.content-container H5 A:visited {
	COLOR: #e4ae23
}
#single-column-content-container H2 A:hover {
	TEXT-DECORATION: underline
}
#single-column-content-container H3 A:hover {
	TEXT-DECORATION: underline
}
#single-column-content-container H4 A:hover {
	TEXT-DECORATION: underline
}
#single-column-content-container H5 A:hover {
	TEXT-DECORATION: underline
}
#other-content-container H2 A:hover {
	TEXT-DECORATION: underline
}
#other-content-container H3 A:hover {
	TEXT-DECORATION: underline
}
#other-content-container H4 A:hover {
	TEXT-DECORATION: underline
}
#other-content-container H5 A:hover {
	TEXT-DECORATION: underline
}
.content-container H2 A:hover {
	TEXT-DECORATION: underline
}
.content-container H3 A:hover {
	TEXT-DECORATION: underline
}
.content-container H4 A:hover {
	TEXT-DECORATION: underline
}
.content-container H5 A:hover {
	TEXT-DECORATION: underline
}
#highlights-content-container A {
	TEXT-DECORATION: none
}
#single-column-content-container A {
	TEXT-DECORATION: none
}
#other-content-container A {
	TEXT-DECORATION: none
}
.content-container A {
	TEXT-DECORATION: none
}
#highlights-content-container A {
	COLOR: #a57600
}
#highlights-content-container A:visited {
	COLOR: #a57600
}
#single-column-content-container A {
	COLOR: #a57600
}
#single-column-content-container A:visited {
	COLOR: #a57600
}
#other-content-container A {
	COLOR: #a57600
}
#other-content-container A:visited {
	COLOR: #a57600
}
.content-container A {
	COLOR: #a57600
}
.content-container A:visited {
	COLOR: #a57600
}
#highlights-content-container A:hover {
	TEXT-DECORATION: underline
}
#single-column-content-container A:hover {
	TEXT-DECORATION: underline
}
#other-content-container A:hover {
	TEXT-DECORATION: underline
}
.content-container A:hover {
	TEXT-DECORATION: underline
}
#highlights-content-container P {
	MARGIN: 0px 0px 1.5em
}
#single-column-content-container P {
	MARGIN: 0px 0px 1.5em
}
#other-content-container P {
	MARGIN: 0px 0px 1.5em
}
.content-container P {
	MARGIN: 0px 0px 1.5em
}
#highlights-content-container BLOCKQUOTE {
	FONT-STYLE: italic; MARGIN: 1.5em; COLOR: #666
}
#single-column-content-container BLOCKQUOTE {
	FONT-STYLE: italic; MARGIN: 1.5em; COLOR: #666
}
#other-content-container BLOCKQUOTE {
	FONT-STYLE: italic; MARGIN: 1.5em; COLOR: #666
}
.content-container BLOCKQUOTE {
	FONT-STYLE: italic; MARGIN: 1.5em; COLOR: #666
}
#single-column-content-container UL {
	MARGIN: 0px 1.5em 1.5em
}
OL {
	MARGIN: 0px 1.5em 1.5em
}
#other-content-container UL {
	MARGIN: 0px 1.5em 1.5em
}
OL {
	MARGIN: 0px 1.5em 1.5em
}
.content-container UL {
	MARGIN: 0px 1.5em 1.5em
}
OL {
	MARGIN: 0px 1.5em 1.5em
}
#single-column-content-container UL {
	LIST-STYLE-TYPE: disc
}
#other-content-container UL {
	LIST-STYLE-TYPE: disc
}
.content-container UL {
	LIST-STYLE-TYPE: disc
}
#highlights-content-container OL {
	LIST-STYLE-TYPE: upper-alpha
}
#single-column-content-container OL {
	LIST-STYLE-TYPE: upper-alpha
}
#other-content-container OL {
	LIST-STYLE-TYPE: upper-alpha
}
.content-container OL {
	LIST-STYLE-TYPE: upper-alpha
}
#single-column-content-container UL LI {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
OL LI {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
#other-content-container UL LI {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
OL LI {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
.content-container UL LI {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
OL LI {
	MARGIN-TOP: 1em; MARGIN-BOTTOM: 1em
}
#highlights-content-container OL LI OL {
	LIST-STYLE-TYPE: decimal
}
#single-column-content-container OL LI OL {
	LIST-STYLE-TYPE: decimal
}
#other-content-container OL LI OL {
	LIST-STYLE-TYPE: decimal
}
.content-container OL LI OL {
	LIST-STYLE-TYPE: decimal
}
#highlights-content-container OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-alpha
}
#single-column-content-container OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-alpha
}
#other-content-container OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-alpha
}
.content-container OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-alpha
}
#highlights-content-container OL LI OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-roman
}
#single-column-content-container OL LI OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-roman
}
#other-content-container OL LI OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-roman
}
.content-container OL LI OL LI OL LI OL {
	LIST-STYLE-TYPE: lower-roman
}
#highlights-content-container LI UL {
	MARGIN: 0px 1.5em
}
LI OL {
	MARGIN: 0px 1.5em
}
#single-column-content-container LI UL {
	MARGIN: 0px 1.5em
}
LI OL {
	MARGIN: 0px 1.5em
}
#other-content-container LI UL {
	MARGIN: 0px 1.5em
}
LI OL {
	MARGIN: 0px 1.5em
}
.content-container LI UL {
	MARGIN: 0px 1.5em
}
LI OL {
	MARGIN: 0px 1.5em
}
#resources-container {
	POSITION: relative; BORDER-LEFT: #999 1px solid; WIDTH: 960px; BOTTOM: =
0px; MARGIN-BOTTOM: 0px; BACKGROUND: =
url(../../graphics/v4_purdue/resources.png) no-repeat 0px 0px; HEIGHT: =
54px; CLEAR: all; OVERFLOW: hidden; BORDER-RIGHT: #999 1px solid
}
.boxshadow #resources-container {
	BORDER-LEFT: medium none; BORDER-RIGHT: medium none
}
#resources-links {
	POSITION: relative; TOP: 1px; LEFT: 275px
}
#resources-container .column {
	POSITION: relative; FLOAT: left; MARGIN-RIGHT: 20px
}
#resources-container .column A {
	LINE-HEIGHT: 13px; MARGIN-TOP: 10px; DISPLAY: block; FONT-SIZE: 13px; =
FONT-WEIGHT: 600; TEXT-DECORATION: none
}
#resources-container .column A {
	COLOR: #000
}
#resources-container .column A:visited {
	COLOR: #000
}
#resources-container .column A:hover {
	TEXT-DECORATION: underline
}
#footer-container {
	POSITION: relative; PADDING-BOTTOM: 25px; LINE-HEIGHT: 17px; WIDTH: =
960px; BACKGROUND: url(../../graphics/v4_purdue/footer_bg.jpg) no-repeat =
center bottom; COLOR: #ccc; FONT-SIZE: 10px; TOP: 0px
}
.borderradius #footer-container {
	BACKGROUND-IMAGE: none !important; BACKGROUND-COLOR: #000
}
#left-foot {
	POSITION: relative; TOP: 15px; LEFT: 20px
}
#left-foot {
	POSITION: relative; WIDTH: 70%; FLOAT: left; TOP: 10px; LEFT: 20px
}
#right-foot {
	POSITION: relative; TEXT-ALIGN: right; WIDTH: 25%; FLOAT: right; TOP: =
10px; RIGHT: 20px
}
#footer-container A {
	COLOR: #eee
}
#footer-container A:visited {
	COLOR: #eee
}
#footer-container .phone {
	COLOR: #eee; FONT-WEIGHT: bold
}
#bottom-pad {
	HEIGHT: 25px
}
.opacity .opacity100 {
	FILTER: alpha(opacity=3D100); -moz-opacity: 1; -khtml-opacity: 1; =
opacity: 1
}
.opacity .opacity70 {
	FILTER: alpha(opacity=3D70); -moz-opacity: 0.7; -khtml-opacity: 0.7; =
opacity: 0.7
}
.opacity .opacity50 {
	FILTER: alpha(opacity=3D50); -moz-opacity: 0.5; -khtml-opacity: 0.5; =
opacity: 0.5
}
.opacity .opacity30 {
	FILTER: alpha(opacity=3D30); -moz-opacity: 0.3; -khtml-opacity: 0.3; =
opacity: 0.3
}
.opacity .opacity0 {
	FILTER: alpha(opacity=3D0); -moz-opacity: 0; -khtml-opacity: 0; =
opacity: 0
}
.boxshadow .shadow10 {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 0 10px =
rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); =
-o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5)
}
.boxshadow .shadow7 {
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); -moz-box-shadow: 0 0 7px =
rgba(0, 0, 0, 0.5); -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.5); =
-o-box-shadow: 0 0 7px rgba(0, 0, 0, 0.5)
}
.boxshadow .dropshadow10 {
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5); -moz-box-shadow: 5px 5px =
10px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 5px 5px 10px rgba(0, 0, 0, =
0.5); -o-box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.5)
}
.boxshadow .dropshadow7 {
	box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.5); -moz-box-shadow: 3px 3px =
7px rgba(0, 0, 0, 0.5); -webkit-box-shadow: 3px 3px 7px rgba(0, 0, 0, =
0.5); -o-box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.5)
}
.round10 {
	border-radius: 10px; -webkit-border-radius: 10px; -moz-border-radius: =
10px 10px 10px 10px
}
.round7 {
	border-radius: 7px; -webkit-border-radius: 7px; -moz-border-radius: 7px =
7px 7px 7px
}
.round5 {
	border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px =
5px 5px 5px
}
.round-top10 {
	-webkit-border-top-left-radius: 10px; -webkit-border-top-right-radius: =
10px; -moz-border-radius-topleft: 10px; -moz-border-radius-topright: =
10px; border-top-left-radius: 10px; border-top-right-radius: 10px
}
.round-bottom10 {
	-webkit-border-bottom-left-radius: 10px; =
-webkit-border-bottom-right-radius: 10px; -moz-border-radius-bottomleft: =
10px; -moz-border-radius-bottomright: 10px; border-bottom-left-radius: =
10px; border-bottom-right-radius: 10px
}
.accessible-text {
	POSITION: absolute; LEFT: -3000px
}
.clear-left {
	CLEAR: left
}
.clear-right {
	CLEAR: right
}
.clear-both {
	CLEAR: both
}
.float-group:after {
	LINE-HEIGHT: 0; DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: =
both; CONTENT: "."
}
.float-group {
	DISPLAY: inline-block
}
HTML[xmlns] .float-group {
	DISPLAY: block
}
* HTML .float-group {
	HEIGHT: 1%
}

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/css/v4_purdue/menus.css

#nav-bars {
	Z-INDEX: 9999; POSITION: relative; WIDTH: 100%
}
#nav-bars {
	FONT-SIZE: 13px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#nav-bars A {
	FONT-SIZE: 13px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#nav-bars A:visited {
	FONT-SIZE: 13px; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
#nav-bars LI H3 {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 5px; PADDING-RIGHT: 5px; COLOR: =
#e4ae23; PADDING-TOP: 5px
}
#upper-nav-bar {
	Z-INDEX: 1; POSITION: relative; BACKGROUND: =
url(../../graphics/v4_purdue/upper_nav_bar_bg.jpg) #a47700 repeat-x left =
center; HEIGHT: 33px; COLOR: #fff
}
#lower-nav-bar {
	POSITION: relative; BACKGROUND: =
url(../../graphics/v4_purdue/lower_nav_bar_bg.jpg) #999 repeat-x left =
top; HEIGHT: 33px; COLOR: #fff
}
.boxshadow #lower-nav-bar {
	BACKGROUND-IMAGE: none !important; box-shadow: inset 0px 5px 10px =
#656565; -moz-box-shadow: inset 0px 5px 10px #656565; =
-webkit-box-shadow: inset 0px 5px 10px #656565
}
.tabs {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.tabs LI {
	MARGIN: 0px; DISPLAY: block; FLOAT: left
}
.tabs LI A {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; DISPLAY: =
block; COLOR: #fff; TEXT-DECORATION: none; PADDING-TOP: 10px
}
.tabs LI.first A {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 20px; PADDING-RIGHT: 10px; =
PADDING-TOP: 10px
}
.tabs LI.last A {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 20px; =
PADDING-TOP: 10px
}
.tabs LI.active A {
	BACKGROUND-COLOR: #000; COLOR: #fff
}
.tabs LI.open A {
	BACKGROUND-COLOR: #000; COLOR: #fff
}
.tabs LI DIV {
	Z-INDEX: 9999; POSITION: absolute; PADDING-BOTTOM: 0px; PADDING-LEFT: =
0px; WIDTH: 175px; PADDING-RIGHT: 0px; DISPLAY: none; BACKGROUND: =
url(http://www.purdue.edu/globals/graphics/menu_bg2.png); TOP: 33px; =
PADDING-TOP: 0px
}
.tabs LI DIV DIV {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; =
WIDTH: 100%; PADDING-RIGHT: 0px; BORDER-TOP: medium none; BORDER-RIGHT: =
medium none; PADDING-TOP: 0px
}
.tabs LI.open DIV {
	DISPLAY: block
}
.tabs LI.open DIV A {
	BACKGROUND-IMAGE: none; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: =
transparent; PADDING-LEFT: 15px; PADDING-RIGHT: 10px; DISPLAY: block; =
HEIGHT: auto; COLOR: #fff; PADDING-TOP: 5px
}
.tabs LI.active DIV A {
	BACKGROUND-IMAGE: none; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: =
transparent; PADDING-LEFT: 15px; PADDING-RIGHT: 10px; DISPLAY: block; =
HEIGHT: auto; COLOR: #fff; PADDING-TOP: 5px
}
.tabs LI DIV A {
	BACKGROUND-IMAGE: none; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: =
transparent; PADDING-LEFT: 15px; PADDING-RIGHT: 10px; DISPLAY: block; =
HEIGHT: auto; COLOR: #fff; PADDING-TOP: 5px
}
.tabs LI DIV A:hover {
	BACKGROUND: #a47700; COLOR: #fff
}
.tabs :hover > A {
	CURSOR: pointer
}

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: text/css;
	charset="iso-8859-1"
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/widgets/slider/DDSlider.css

#slider {
	WIDTH: 960px; HEIGHT: 257px
}
#slider LI {
	WIDTH: 960px; HEIGHT: 257px
}
#slider {
	POSITION: relative !important; PADDING-BOTTOM: 0px !important; =
LIST-STYLE-TYPE: none !important; MARGIN: 0px; PADDING-LEFT: 0px =
!important; PADDING-RIGHT: 0px !important; FLOAT: left; OVERFLOW: hidden =
!important; LIST-STYLE-IMAGE: none !important; PADDING-TOP: 0px =
!important
}
#slider LI {
	POSITION: absolute; MARGIN: 0px; WIDTH: 100%; DISPLAY: none; FLOAT: =
left
}
#slider LI.current {
	Z-INDEX: 2 !important; DISPLAY: block
}
#slider LI.next {
	Z-INDEX: 1 !important; DISPLAY: block
}
#slider LI UL LI {
	POSITION: relative !important; DISPLAY: block !important
}
.strip {
	Z-INDEX: 0; POSITION: absolute; WIDTH: 960px; BOTTOM: 0px; BACKGROUND: =
url(images/strip.png) no-repeat left top; FLOAT: left; HEIGHT: 40px; =
CURSOR: pointer !important; LEFT: 0px
}
.strip P {
	POSITION: absolute; FONT-FAMILY: Lucida Grande, Lucida Sans Unicode, =
Lucida Sans, Geneva, Arial, Helvetica, Tahoma, sans-serif; TOP: 4px; =
LEFT: 100px
}
.slider_arrow_left {
	Z-INDEX: 5; POSITION: relative; WIDTH: 22px; FLOAT: right; HEIGHT: =
22px; TOP: 10px; CURSOR: pointer !important; MARGIN-RIGHT: 5px
}
.slider_arrow_left {
	BACKGROUND: url(images/left_arrow.png) no-repeat left top
}
.slider_arrow_right {
	Z-INDEX: 5; POSITION: relative; WIDTH: 22px; FLOAT: right; HEIGHT: =
22px; TOP: 10px; CURSOR: pointer !important; MARGIN-RIGHT: 27px
}
.slider_arrow_right {
	BACKGROUND: url(images/right_arrow.png) no-repeat left top
}
.slider_selector {
	POSITION: relative; LIST-STYLE-TYPE: none; FLOAT: right; TOP: 15px; =
LIST-STYLE-IMAGE: none; MARGIN-RIGHT: 25px
}
.slider_selector_dis {
	POSITION: relative; LIST-STYLE-TYPE: none; FLOAT: right; TOP: 15px; =
LIST-STYLE-IMAGE: none; MARGIN-RIGHT: 25px
}
.slider_selector LI {
	POSITION: relative !important; MARGIN: 0px 3px; WIDTH: 10px !important; =
DISPLAY: block !important; BACKGROUND: url(images/slider_selector.png) =
no-repeat left top; FLOAT: left; HEIGHT: 10px !important; CURSOR: =
pointer
}
.slider_selector_dis LI {
	POSITION: relative !important; MARGIN: 0px 3px; WIDTH: 10px !important; =
DISPLAY: block !important; BACKGROUND: url(images/slider_selector.png) =
no-repeat left top; FLOAT: left; HEIGHT: 10px !important; CURSOR: =
pointer
}
.slider_selector LI.current {
	BACKGROUND: url(images/slider_selector_current.png) no-repeat left top
}
.slider_selector_dis LI.current {
	BACKGROUND: url(images/slider_selector_current.png) no-repeat left top
}
.slider_selector_dis LI {
	Z-INDEX: 5; CURSOR: default !important
}
.container {
=09
}
#banner-container .container {
	Z-INDEX: 10015; POSITION: absolute; WIDTH: 801px; BOTTOM: 0px; HEIGHT: =
39px; RIGHT: 0px
}
#banner-container .caption {
	Z-INDEX: 10025; POSITION: absolute; WIDTH: 801px; BOTTOM: 0px; =
BACKGROUND: url(images/strip_full_blue_left.png) no-repeat left bottom; =
HEIGHT: 39px; LEFT: 0px
}
#banner-container .caption P {
	POSITION: absolute; COLOR: #fff; FONT-SIZE: 0.85em; TOP: -8px; =
FONT-WEIGHT: bold; LEFT: 20px; text-shadow: 0px 0px 3px rgba(0, 0, 0, =
0.6)
}
#banner-container .slider_arrow_left {
	Z-INDEX: 10020
}
#banner-container .slider_arrow_right {
	Z-INDEX: 10020
}
#banner-container .slider_selector {
	Z-INDEX: 10010
}
#banner-container .slider_selector_dis {
	Z-INDEX: 10010
}

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/js/modernizr-1.5.min.js

/*!=0A=
 * Modernizr JavaScript library 1.5=0A=
 * http://www.modernizr.com/=0A=
 *=0A=
 * Copyright (c) 2009-2010 Faruk Ates - http://farukat.es/=0A=
 * Dual-licensed under the BSD and MIT licenses.=0A=
 * http://www.modernizr.com/license/=0A=
 *=0A=
 * Featuring major contributions by=0A=
 * Paul Irish  - http://paulirish.com=0A=
 */=0A=
 window.Modernizr=3Dfunction(i,e,I){function C(a,b){for(var c in =
a)if(m[a[c]]!=3D=3DI&&(!b||b(a[c],D)))return true}function r(a,b){var =
c=3Da.charAt(0).toUpperCase()+a.substr(1);return!!C([a,"Webkit"+c,"Moz"+c=
,"O"+c,"ms"+c,"Khtml"+c],b)}function P(){j[E]=3Dfunction(a){for(var =
b=3D0,c=3Da.length;b<c;b++)J[a[b]]=3D!!(a[b]in n);return =
J}("autocomplete autofocus list placeholder max min multiple pattern =
required step".split(" "));j[Q]=3Dfunction(a){for(var =
b=3D0,c,h=3Da.length;b<h;b++){n.setAttribute("type",a[b]);if(c=3Dn.type!=3D=
=3D=0A=
 =
"text"){n.value=3DK;/tel|search/.test(n.type)||(c=3D/url|email/.test(n.ty=
pe)?n.checkValidity&&n.checkValidity()=3D=3D=3Dfalse:n.value!=3DK)}L[a[b]=
]=3D!!c}return L}("search tel url email datetime date month week time =
datetime-local number range color".split(" "))}var =
j=3D{},s=3De.documentElement,D=3De.createElement("modernizr"),m=3DD.style=
,n=3De.createElement("input"),E=3D"input",Q=3DE+"types",K=3D":)",M=3DObje=
ct.prototype.toString,y=3D" -o- -moz- -ms- -webkit- -khtml- ".split(" =
"),d=3D{},L=3D{},J=3D{},N=3D[],u=3Dfunction(){var a=3D{select:"input",=0A=
 =
change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"i=
mg"},b=3D{};return function(c,h){var =
t=3Darguments.length=3D=3D1;if(t&&b[c])return =
b[c];h=3Dh||document.createElement(a[c]||"div");c=3D"on"+c;var g=3Dc in =
h;if(!g&&h.setAttribute){h.setAttribute(c,"return;");g=3Dtypeof =
h[c]=3D=3D"function"}h=3Dnull;return =
t?(b[c]=3Dg):g}}(),F=3D{}.hasOwnProperty,O;O=3Dtypeof =
F!=3D=3D"undefined"&&typeof =
F.call!=3D=3D"undefined"?function(a,b){return =
F.call(a,b)}:function(a,b){return b in a&&typeof =
a.constructor.prototype[b]=3D=3D=3D"undefined"};=0A=
 =
d.canvas=3Dfunction(){return!!e.createElement("canvas").getContext};d.can=
vastext=3Dfunction(){return!!(d.canvas()&&typeof =
e.createElement("canvas").getContext("2d").fillText=3D=3D"function")};d.g=
eolocation=3Dfunction(){return!!navigator.geolocation};d.crosswindowmessa=
ging=3Dfunction(){return!!i.postMessage};d.websqldatabase=3Dfunction(){va=
r a=3D!!i.openDatabase;if(a)try{a=3D!!openDatabase("testdb","1.0","html5 =
test db",2E5)}catch(b){a=3Dfalse}return =
a};d.indexedDB=3Dfunction(){return!!i.indexedDB};d.hashchange=3Dfunction(=
){return u("hashchange",=0A=
 =
i)&&(document.documentMode=3D=3D=3DI||document.documentMode>7)};d.history=
management=3Dfunction(){return!!(i.history&&history.pushState)};d.dragand=
drop=3Dfunction(){return =
u("drag")&&u("dragstart")&&u("dragenter")&&u("dragover")&&u("dragleave")&=
&u("dragend")&&u("drop")};d.websockets=3Dfunction(){return"WebSocket"in =
i};d.rgba=3Dfunction(){m.cssText=3D"background-color:rgba(150,255,150,.5)=
";return(""+m.backgroundColor).indexOf("rgba")!=3D=3D-1};d.hsla=3Dfunctio=
n(){m.cssText=3D"background-color:hsla(120,40%,100%,.5)";return(""+=0A=
 =
m.backgroundColor).indexOf("rgba")!=3D=3D-1};d.multiplebgs=3Dfunction(){m=
.cssText=3D"background:url(//:),url(//:),red =
url(//:)";return/(url\s*\(.*?){3}/.test(m.background)};d.backgroundsize=3D=
function(){return r("backgroundSize")};d.borderimage=3Dfunction(){return =
r("borderImage")};d.borderradius=3Dfunction(){return =
r("borderRadius","",function(a){return(""+a).indexOf("orderRadius")!=3D=3D=
-1})};d.boxshadow=3Dfunction(){return =
r("boxShadow")};d.opacity=3Dfunction(){var =
a=3Dy.join("opacity:.5;")+"";m.cssText=3Da;return(""+m.opacity).indexOf("=
0.5")!=3D=3D=0A=
 -1};d.cssanimations=3Dfunction(){return =
r("animationName")};d.csscolumns=3Dfunction(){return =
r("columnCount")};d.cssgradients=3Dfunction(){var =
a=3D("background-image:"+y.join("gradient(linear,left top,right =
bottom,from(#9f9),to(white));background-image:")+y.join("linear-gradient(=
left top,#9f9, =
white);background-image:")).slice(0,-17);m.cssText=3Da;return(""+m.backgr=
oundImage).indexOf("gradient")!=3D=3D-1};d.cssreflections=3Dfunction(){re=
turn =
r("boxReflect")};d.csstransforms=3Dfunction(){return!!C(["transformProper=
ty",=0A=
 =
"WebkitTransform","MozTransform","OTransform","msTransform"])};d.csstrans=
forms3d=3Dfunction(){var =
a=3D!!C(["perspectiveProperty","WebkitPerspective","MozPerspective","OPer=
spective","msPerspective"]);if(a){var =
b=3Ddocument.createElement("style"),c=3De.createElement("div");b.textCont=
ent=3D"@media =
("+y.join("transform-3d),(")+"modernizr){#modernizr{height:3px}}";e.getEl=
ementsByTagName("head")[0].appendChild(b);c.id=3D"modernizr";s.appendChil=
d(c);a=3Dc.offsetHeight=3D=3D=3D3;b.parentNode.removeChild(b);c.parentNod=
e.removeChild(c)}return a};=0A=
 d.csstransitions=3Dfunction(){return =
r("transitionProperty")};d.fontface=3Dfunction(){var =
a;if(/*@cc_on@if(@_jscript_version>=3D5)!@end@*/0)a=3Dtrue;else{var =
b=3De.createElement("style"),c=3De.createElement("span"),h,t=3Dfalse,g=3D=
e.body,o,w;b.textContent=3D"@font-face{font-family:testfont;src:url('data=
:font/ttf;base64,AAEAAAAMAIAAAwBAT1MvMliohmwAAADMAAAAVmNtYXCp5qrBAAABJAAA=
ANhjdnQgACICiAAAAfwAAAAEZ2FzcP//AAMAAAIAAAAACGdseWYv5OZoAAACCAAAANxoZWFk6=
9bnvwAAAuQAAAA2aGhlYQUJAt8AAAMcAAAAJGhtdHgGDgC4AAADQAAAABRsb2NhAIQAwgAAA1=
QAAAAMbWF4cABVANgAAANgAAAAIG5hbWUgXduAAAADgAAABPVwb3N03NkzmgAACHgAAAA4AAE=
CBAEsAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAACAAMDAAAAAAAAgAACbwAAAAoAAAAAAAAA=
AFBmRWQAAAAgqS8DM/8zAFwDMwDNAAAABQAAAAAAAAAAAAMAAAADAAAAHAABAAAAAABGAAMAA=
QAAAK4ABAAqAAAABgAEAAEAAgAuqQD//wAAAC6pAP///9ZXAwAAAAAAAAACAAAABgBoAAAAAA=
AvAAEAAAAAAAAAAAAAAAAAAAABAAIAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
AAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEACoAAAAGAAQAAQAC=
AC6pAP//AAAALqkA////1lcDAAAAAAAAAAIAAAAiAogAAAAB//8AAgACACIAAAEyAqoAAwAHA=
C6xAQAvPLIHBADtMrEGBdw8sgMCAO0yALEDAC88sgUEAO0ysgcGAfw8sgECAO0yMxEhESczES=
MiARDuzMwCqv1WIgJmAAACAFUAAAIRAc0ADwAfAAATFRQWOwEyNj0BNCYrASIGARQGKwEiJj0=
BNDY7ATIWFX8aIvAiGhoi8CIaAZIoN/43KCg3/jcoAWD0JB4eJPQkHh7++EY2NkbVRjY2RgAA=
AAABAEH/+QCdAEEACQAANjQ2MzIWFAYjIkEeEA8fHw8QDxwWFhwWAAAAAQAAAAIAAIuYbWpfD=
zz1AAsEAAAAAADFn9IuAAAAAMWf0i797/8zA4gDMwAAAAgAAgAAAAAAAAABAAADM/8zAFwDx/=
3v/98DiAABAAAAAAAAAAAAAAAAAAAABQF2ACIAAAAAAVUAAAJmAFUA3QBBAAAAKgAqACoAWgB=
uAAEAAAAFAFAABwBUAAQAAgAAAAEAAQAAAEAALgADAAMAAAAQAMYAAQAAAAAAAACLAAAAAQAA=
AAAAAQAhAIsAAQAAAAAAAgAFAKwAAQAAAAAAAwBDALEAAQAAAAAABAAnAPQAAQAAAAAABQAKA=
RsAAQAAAAAABgAmASUAAQAAAAAADgAaAUsAAwABBAkAAAEWAWUAAwABBAkAAQBCAnsAAwABBA=
kAAgAKAr0AAwABBAkAAwCGAscAAwABBAkABABOA00AAwABBAkABQAUA5sAAwABBAkABgBMA68=
AAwABBAkADgA0A/tDb3B5cmlnaHQgMjAwOSBieSBEYW5pZWwgSm9obnNvbi4gIFJlbGVhc2Vk=
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgT3BlbiBGb250IExpY2Vuc2UuIEtheWFoIExpIGdse=
XBocyBhcmUgcmVsZWFzZWQgdW5kZXIgdGhlIEdQTCB2ZXJzaW9uIDMuYmFlYzJhOTJiZmZlNT=
AzMiAtIHN1YnNldCBvZiBKdXJhTGlnaHRiYWVjMmE5MmJmZmU1MDMyIC0gc3Vic2V0IG9mIEZ=
vbnRGb3JnZSAyLjAgOiBKdXJhIExpZ2h0IDogMjMtMS0yMDA5YmFlYzJhOTJiZmZlNTAzMiAt=
IHN1YnNldCBvZiBKdXJhIExpZ2h0VmVyc2lvbiAyIGJhZWMyYTkyYmZmZTUwMzIgLSBzdWJzZ=
XQgb2YgSnVyYUxpZ2h0aHR0cDovL3NjcmlwdHMuc2lsLm9yZy9PRkwAQwBvAHAAeQByAGkAZw=
BoAHQAIAAyADAAMAA5ACAAYgB5ACAARABhAG4AaQBlAGwAIABKAG8AaABuAHMAbwBuAC4AIAA=
gAFIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAdABlAHIAbQBzACAAbwBm=
ACAAdABoAGUAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALgAgAEsAYQB5A=
GEAaAAgAEwAaQAgAGcAbAB5AHAAaABzACAAYQByAGUAIAByAGUAbABlAGEAcwBlAGQAIAB1AG=
4AZABlAHIAIAB0AGgAZQAgAEcAUABMACAAdgBlAHIAcwBpAG8AbgAgADMALgBiAGEAZQBjADI=
AYQA5ADIAYgBmAGYAZQA1ADAAMwAyACAALQAgAHMAdQBiAHMAZQB0ACAAbwBmACAASgB1AHIA=
YQBMAGkAZwBoAHQAYgBhAGUAYwAyAGEAOQAyAGIAZgBmAGUANQAwADMAMgAgAC0AIABzAHUAY=
gBzAGUAdAAgAG8AZgAgAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASgB1AHIAYQ=
AgAEwAaQBnAGgAdAAgADoAIAAyADMALQAxAC0AMgAwADAAOQBiAGEAZQBjADIAYQA5ADIAYgB=
mAGYAZQA1ADAAMwAyACAALQAgAHMAdQBiAHMAZQB0ACAAbwBmACAASgB1AHIAYQAgAEwAaQBn=
AGgAdABWAGUAcgBzAGkAbwBuACAAMgAgAGIAYQBlAGMAMgBhADkAMgBiAGYAZgBlADUAMAAzA=
DIAIAAtACAAcwB1AGIAcwBlAHQAIABvAGYAIABKAHUAcgBhAEwAaQBnAGgAdABoAHQAdABwAD=
oALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAAAAgAAAAAAAP+=
BADMAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAQACAQIAEQt6ZXJva2F5YWhsaQ=3D=3D')}"=
;=0A=
 =
e.getElementsByTagName("head")[0].appendChild(b);c.setAttribute("style","=
font:99px =
_,arial,helvetica;position:absolute;visibility:hidden");if(!g){g=3Ds.appe=
ndChild(e.createElement("fontface"));t=3Dtrue}c.innerHTML=3D"........";c.=
id=3D"fonttest";g.appendChild(c);h=3Dc.offsetWidth*c.offsetHeight;c.style=
.font=3D"99px =
testfont,_,arial,helvetica";a=3Dh!=3D=3Dc.offsetWidth*c.offsetHeight;var =
v=3Dfunction(){if(g.parentNode){a=3Dj.fontface=3Dh!=3D=3Dc.offsetWidth*c.=
offsetHeight;s.className=3Ds.className.replace(/(no-)?fontface\b/,"")+=0A=
 (a?" ":" =
no-")+"fontface"}};setTimeout(v,75);setTimeout(v,150);addEventListener("l=
oad",function(){v();(w=3Dtrue)&&o&&o(a);setTimeout(function(){t||(g=3Dc);=
g.parentNode.removeChild(g);b.parentNode.removeChild(b)},50)},false)}j._f=
ontfaceready=3Dfunction(p){w||a?p(a):(o=3Dp)};return =
a||h!=3D=3Dc.offsetWidth};d.video=3Dfunction(){var =
a=3De.createElement("video"),b=3D!!a.canPlayType;if(b){b=3Dnew =
Boolean(b);b.ogg=3Da.canPlayType('video/ogg; =
codecs=3D"theora"');b.h264=3Da.canPlayType('video/mp4; =
codecs=3D"avc1.42E01E"');b.webm=3Da.canPlayType('video/webm; =
codecs=3D"vp8, vorbis"')}return b};=0A=
 d.audio=3Dfunction(){var =
a=3De.createElement("audio"),b=3D!!a.canPlayType;if(b){b=3Dnew =
Boolean(b);b.ogg=3Da.canPlayType('audio/ogg; =
codecs=3D"vorbis"');b.mp3=3Da.canPlayType("audio/mpeg;");b.wav=3Da.canPla=
yType('audio/wav; =
codecs=3D"1"');b.m4a=3Da.canPlayType("audio/x-m4a;")||a.canPlayType("audi=
o/aac;")}return b};d.localStorage=3Dfunction(){return"localStorage"in =
i&&i.localStorage!=3D=3Dnull};d.sessionStorage=3Dfunction(){try{return"se=
ssionStorage"in i&&i.sessionStorage!=3D=3Dnull}catch(a){return =
false}};d.webworkers=3Dfunction(){return!!i.Worker};=0A=
 d.applicationCache=3Dfunction(){var =
a=3Di.applicationCache;return!!(a&&typeof =
a.status!=3D"undefined"&&typeof a.update=3D=3D"function"&&typeof =
a.swapCache=3D=3D"function")};d.svg=3Dfunction(){return!!e.createElementN=
S&&!!e.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect}=
;d.smil=3Dfunction(){return!!e.createElementNS&&/SVG/.test(M.call(e.creat=
eElementNS("http://www.w3.org/2000/svg","animate")))};d.svgclippaths=3Dfu=
nction(){return!!e.createElementNS&&/SVG/.test(M.call(e.createElementNS("=
http://www.w3.org/2000/svg",=0A=
 "clipPath")))};for(var z in =
d)if(O(d,z))N.push(((j[z.toLowerCase()]=3Dd[z]())?"":"no-")+z.toLowerCase=
());j[E]||P();j.addTest=3Dfunction(a,b){a=3Da.toLowerCase();if(!j[a]){b=3D=
!!b();s.className+=3D" "+(b?"":"no-")+a;j[a]=3Db;return =
j}};m.cssText=3D"";D=3Dn=3Dnull;(function(){var =
a=3De.createElement("div");a.innerHTML=3D"<elem></elem>";return =
a.childNodes.length!=3D=3D1})()&&function(a,b){function =
c(f,k){if(o[f])o[f].styleSheet.cssText+=3Dk;else{var =
l=3Dt[G],q=3Db[A]("style");q.media=3Df;l.insertBefore(q,l[G]);o[f]=3Dq;c(=
f,k)}}function h(f,=0A=
 k){for(var l=3Dnew =
RegExp("\\b("+w+")\\b(?!.*[;}])","gi"),q=3Dfunction(B){return".iepp_"+B},=
x=3D-1;++x<f.length;){k=3Df[x].media||k;h(f[x].imports,k);c(k,f[x].cssTex=
t.replace(l,q))}}for(var =
t=3Db.documentElement,g=3Db.createDocumentFragment(),o=3D{},w=3D"abbr|art=
icle|aside|audio|canvas|command|datalist|details|figure|figcaption|footer=
|header|hgroup|keygen|mark|meter|nav|output|progress|section|source|summa=
ry|time|video",v=3Dw.split("|"),p=3D[],H=3D-1,G=3D"firstChild",A=3D"creat=
eElement";++H<v.length;){b[A](v[H]);g[A](v[H])}g=3D=0A=
 =
g.appendChild(b[A]("div"));a.attachEvent("onbeforeprint",function(){for(v=
ar f,k=3Db.getElementsByTagName("*"),l,q,x=3Dnew =
RegExp("^"+w+"$","i"),B=3D-1;++B<k.length;)if((f=3Dk[B])&&(q=3Df.nodeName=
.match(x))){l=3Dnew =
RegExp("^\\s*<"+q+"(.*)\\/"+q+">\\s*$","i");g.innerHTML=3Df.outerHTML.rep=
lace(/\r|\n/g," =
").replace(l,f.currentStyle.display=3D=3D"block"?"<div$1/div>":"<span$1/s=
pan>");l=3Dg.childNodes[0];l.className+=3D" =
iepp_"+q;l=3Dp[p.length]=3D[f,l];f.parentNode.replaceChild(l[1],l[0])}h(b=
.styleSheets,"all")});a.attachEvent("onafterprint",=0A=
 function(){for(var =
f=3D-1,k;++f<p.length;)p[f][1].parentNode.replaceChild(p[f][0],p[f][1]);f=
or(k in =
o)t[G].removeChild(o[k]);o=3D{};p=3D[]})}(this,e);j._enableHTML5=3Dtrue;j=
._version=3D"1.5";s.className=3Ds.className.replace(/\bno-js\b/,"")+" =
js";s.className+=3D" "+N.join(" ");return j}(this,this.document);
------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js

/*=0A=
  IE7/IE8/IE9.js - copyright 2004-2010, Dean Edwards=0A=
  http://code.google.com/p/ie7-js/=0A=
  http://www.opensource.org/licenses/mit-license.php=0A=
*/=0A=
;(function(N,p){var =
h=3DN.IE7=3D{version:"2.1(beta4)",toString:bT("[IE7]")};h.compat=3D9;var =
t=3Dh.appVersion=3Dnavigator.appVersion.match(/MSIE =
(\d\.\d)/)[1]-0;if(/ie7_off/.test(top.location.search)||t<5.5||t>=3Dh.com=
pat)return;var =
E=3Dt<6,bj=3DbT(),bx=3Dp.documentElement,B,x,cy=3D"!",U=3D":link{ie7-link=
:link}:visited{ie7-link:visited}",cz=3D/^[\w\.]+[^:]*$/;function =
bk(c,a){if(cz.test(c))c=3D(a||"")+c;return c};function =
by(c,a){c=3Dbk(c,a);return c.slice(0,c.lastIndexOf("/")+1)};var =
bU=3Dp.scripts[p.scripts.length-1],cA=3Dby(bU.src);try{var V=3Dnew =
ActiveXObject("Microsoft.XMLHTTP")}catch(ex){}var bl=3D{};function =
cB(c,a){try{c=3Dbk(c,a);if(!bl[c]){V.open("GET",c,false);V.send();if(V.st=
atus=3D=3D0||V.status=3D=3D200){bl[c]=3DV.responseText}}}catch(ex){}retur=
n bl[c]||""};var =
dA=3DArray.prototype.slice,dB=3D/%([1-9])/g,cC=3D/^\s\s*/,cD=3D/\s\s*$/,c=
E=3D/([\/()[\]{}|*+-.,^$?\\])/g,bV=3D/\bbase\b/,bW=3D["constructor","toSt=
ring"],bm;function F(){};F.extend=3Dfunction(g,f){bm=3Dtrue;var d=3Dnew =
this;O(d,g);bm=3Dfalse;var c=3Dd.constructor;function =
a(){if(!bm)c.apply(this,arguments)};d.constructor=3Da;a.extend=3Dargument=
s.callee;O(a,f);a.prototype=3Dd;return =
a};F.prototype.extend=3Dfunction(a){return O(this,a)};var =
P=3D"#",Q=3D"#",bc=3D".",bn=3D"/",dC=3D/\\(\d+)/g,cF=3D/\[(\\.|[^\]\\])+\=
]|\\.|\(\?/g,cG=3D/\(/g,cH=3D/\$(\d+)/,cI=3D/^\$\d+$/,cJ=3D/(\[(\\.|[^\]\=
\])+\]|\\.|\(\?)|\(/g,cK=3D/^<#\w+>$/,cL=3D/<#(\w+)>/g,G=3DF.extend({cons=
tructor:function(a){this[bc]=3D[];this[Q]=3D{};this.merge(a)},add:functio=
n(c,a){delete this[bn];if(c instanceof =
RegExp){c=3Dc.source}if(!this[P+c])this[bc].push(String(c));return =
this[Q][P+c]=3Dnew =
G.Item(c,a,this)},compile:function(a){if(a||!this[bn]){this[bn]=3Dnew =
RegExp(this,this.ignoreCase?"gi":"g")}return =
this[bn]},merge:function(c){for(var a in =
c)this.add(a,c[a])},exec:function(o){var =
k=3Dthis,l=3Dk[bc],m=3Dk[Q],j,i=3Dthis.compile(true).exec(o);if(i){var =
g=3D0,f=3D1;while((j=3Dm[P+l[g++]])){var =
d=3Df+j.length+1;if(i[f]){if(j.replacement=3D=3D=3D0){return =
k.exec(o)}else{var =
c=3Di.slice(f,d),a=3Dc.length;while(--a)c[a]=3Dc[a]||"";c[0]=3D{match:c[0=
],item:j};return c}}f=3Dd}}return null},parse:function(o){o+=3D"";var =
k=3Dthis,l=3Dk[bc],m=3Dk[Q];return =
o.replace(this.compile(),function(j){var =
i=3D[],g,f=3D1,d=3Darguments.length;while(--d)i[d]=3Darguments[d]||"";whi=
le((g=3Dm[P+l[d++]])){var c=3Df+g.length+1;if(i[f]){var =
a=3Dg.replacement;switch(typeof a){case"function":return =
a.apply(k,i.slice(f,c));case"number":return i[f+a];default:return =
a}}f=3Dc}return j})},toString:function(){var =
g=3D[],f=3Dthis[bc],d=3Dthis[Q],c;for(var =
a=3D0;c=3Dd[P+f[a]];a++){g[a]=3Dc.source}return"("+g.join(")|(")+")"}},{I=
GNORE:null,Item:F.extend({constructor:function(k,l,m){var =
j=3Dk.indexOf("(")=3D=3D=3D-1?0:G.count(k),i=3Dm.dictionary;if(i&&k.index=
Of("<#")!=3D=3D-1){if(cK.test(k)){var =
g=3Di[Q][P+k.slice(2,-1)];k=3Dg.replacement;j=3Dg._5}else{k=3Di.parse(k)}=
}if(typeof l=3D=3D"number")l=3DString(l);else =
if(l=3D=3Dnull)l=3D0;if(typeof =
l=3D=3D"string"&&cH.test(l)){if(cI.test(l)){var =
f=3Dl.slice(1)-0;if(f&&f<=3Dj)l=3Df}else{var =
d=3Dl,c;l=3Dfunction(a){if(!c){c=3Dnew =
RegExp(k,"g"+(this.ignoreCase?"i":""))}return =
a.replace(c,d)}}}this.length=3Dj;this.source=3DString(k);this.replacement=
=3Dl}}),count:function(a){return(String(a).replace(cF,"").match(cG)||"").=
length}}),cM=3DG.extend({parse:function(f){var d=3Dthis[Q];return =
f.replace(cL,function(c,a){a=3Dd[P+a];return =
a?a._6:c})},add:function(g,f){if(f instanceof RegExp){f=3Df.source}var =
d=3Df.replace(cJ,cN);if(f.indexOf("(")!=3D=3D-1){var =
c=3DG.count(f)}if(f.indexOf("<#")!=3D=3D-1){f=3Dthis.parse(f);d=3Dthis.pa=
rse(d)}var a=3Dthis.base(g,f);a._6=3Dd;a._5=3Dc||a.length;return =
a},toString:function(){return"(<#"+this[PATTERNS].join(">)|(<#")+">)"}});=
function cN(c,a){return a||"(?:"};function O(i,g){if(i&&g){var =
f=3D(typeof g=3D=3D"function"?Function:Object).prototype;var =
d=3DbW.length,c;if(bm)while(c=3DbW[--d]){var =
a=3Dg[c];if(a!=3Df[c]){if(bV.test(a)){bX(i,c,a)}else{i[c]=3Da}}}for(c in =
g)if(typeof f[c]=3D=3D"undefined"){var a=3Dg[c];if(i[c]&&typeof =
a=3D=3D"function"&&bV.test(a)){bX(i,c,a)}else{i[c]=3Da}}}return =
i};function bX(i,g,f){var d=3Di[g];i[g]=3Dfunction(){var =
c=3Dthis.base;this.base=3Dd;var =
a=3Df.apply(this,arguments);this.base=3Dc;return a}};function =
cO(f,d){if(!d)d=3Df;var c=3D{};for(var a in f)c[a]=3Dd[a];return =
c};function H(g){var f=3Darguments,d=3Dnew =
RegExp("%([1-"+arguments.length+"])","g");return =
String(g).replace(d,function(c,a){return a<f.length?f[a]:c})};function =
bo(c,a){return String(c).match(a)||[]};function bY(a){return =
String(a).replace(cE,"\\$1")};function bZ(a){return =
String(a).replace(cC,"").replace(cD,"")};function bT(a){return =
function(){return a}};var =
ca=3DG.extend({ignoreCase:true}),cP=3D/'/g,cb=3D/'(\d+)'/g,dD=3D/\\/g,bz=3D=
/\\([nrtf'"])/g,W=3D[],cc=3Dnew =
ca({"<!\\-\\-|\\-\\->":"","\\/\\*[^*]*\\*+([^\\/][^*]*\\*+)*\\/":"","@(na=
mespace|import)[^;\\n]+[;\\n]":"","'(\\\\.|[^'\\\\])*'":cd,'"(\\\\.|[^"\\=
\\])*"':cd,"\\s+":" "});function cQ(a){return =
cc.parse(a).replace(bz,"$1")};function bd(a){return =
a.replace(cb,cR)};function cd(c){var =
a=3DW.length;W[a]=3Dc.slice(1,-1).replace(bz,"$1").replace(cP,"\\'");retu=
rn"'"+a+"'"};function cR(d,c){var a=3DW[c];if(a=3D=3Dnull)return =
d;return"'"+W[c]+"'"};function bp(a){return =
a.indexOf("'")=3D=3D=3D0?W[a.slice(1,-1)]:a};var cS=3Dnew =
G({Width:"Height",width:"height",Left:"Top",left:"top",Right:"Bottom",rig=
ht:"bottom",onX:"onY"});function ce(a){return cS.parse(a)};var =
cf=3D[];function bA(a){cT(a);y(N,"onresize",a)};function =
y(d,c,a){d.attachEvent(c,a);cf.push(arguments)};function =
cU(d,c,a){try{d.detachEvent(c,a)}catch(ex){}};y(N,"onunload",function(){v=
ar a;while(a=3Dcf.pop()){cU(a[0],a[1],a[2])}});function =
be(d,c,a){if(!d.elements)d.elements=3D{};if(a)d.elements[c.uniqueID]=3Dc;=
else delete d.elements[c.uniqueID];return =
a};y(N,"onbeforeprint",function(){if(!h.CSS.print)new =
cg("print");h.CSS.print.recalc()});var =
ch=3D/^\d+(px)?$/i,X=3D/^\d+%$/,C=3Dfunction(f,d){if(ch.test(d))return =
parseInt(d);var =
c=3Df.style.left,a=3Df.runtimeStyle.left;f.runtimeStyle.left=3Df.currentS=
tyle.left;f.style.left=3Dd||0;d=3Df.style.pixelLeft;f.style.left=3Dc;f.ru=
ntimeStyle.left=3Da;return =
d},bB=3D"ie7-",ci=3DF.extend({constructor:function(){this.fixes=3D[];this=
.recalcs=3D[]},init:bj}),bC=3D[];function =
cT(a){bC.push(a)};h.recalc=3Dfunction(){h.HTML.recalc();h.CSS.recalc();fo=
r(var a=3D0;a<bC.length;a++)bC[a]()};function bq(a){return =
a.currentStyle["ie7-position"]=3D=3D"fixed"};function bD(c,a){return =
c.currentStyle[bB+a]||c.currentStyle[a]};function =
Y(d,c,a){if(d.currentStyle[bB+c]=3D=3Dnull){d.runtimeStyle[bB+c]=3Dd.curr=
entStyle[c]}d.runtimeStyle[c]=3Da};function cj(c){var =
a=3Dp.createElement(c||"object");a.style.cssText=3D"position:absolute;pad=
ding:0;display:block;border:none;clip:rect(0 0 0 =
0);left:-9999";a.ie7_anon=3Dtrue;return a};var =
bE=3D"(e.nextSibling&&IE7._1(e,'next'))",ck=3DbE.replace(/next/g,"previou=
s"),cl=3D"e.nodeName>'@'",cm=3D"if("+cl+"){",cn=3D"(e.nodeName=3D=3D=3D'F=
ORM'?IE7._0(e,'id'):e.id)",cV=3D/a(#[\w-]+)?(\.[\w-]+)?:(hover|active)/i,=
cW=3D/(.*)(:first-(line|letter))/,cX=3D/\s/,cY=3D/((?:\\.|[^{\\])+)\{((?:=
\\.|[^}\\])+)\}/g,cZ=3D/(?:\\.|[^,\\])+/g,I=3Dp.styleSheets,bF=3D[];h.CSS=
=3Dnew(ci.extend({parser:new =
ca,screen:"",print:"",styles:[],rules:[],pseudoClasses:t<7?"first\\-child=
":"",dynamicPseudoClasses:{toString:function(){var c=3D[];for(var a in =
this)c.push(a);return c.join("|")}},init:function(){var =
j=3D"^\x01$",i=3D"\\[class=3D?[^\\]]*\\]",g=3D[];if(this.pseudoClasses)g.=
push(this.pseudoClasses);var =
f=3Dthis.dynamicPseudoClasses.toString();if(f)g.push(f);g=3Dg.join("|");v=
ar =
d=3Dt<7?["[>+~\\[(]|([:.])[\\w-]+\\1"]:[i];if(g)d.push(":("+g+")");this.U=
NKNOWN=3Dnew RegExp(d.join("|")||j,"i");var =
c=3Dt<7?["\\[[^\\]]+\\]|[^\\s(\\[]+\\s*[+~]"]:[i],a=3Dc.concat();if(g)a.p=
ush(":("+g+")");u.COMPLEX=3Dnew =
RegExp(a.join("|")||j,"ig");if(this.pseudoClasses)c.push(":("+this.pseudo=
Classes+")");bf.COMPLEX=3Dnew =
RegExp(c.join("|")||j,"i");f=3D"not\\(:"+f.split("|").join("\\)|not\\(:")=
+"\\)|"+f;bf.MATCH=3Dnew =
RegExp(f?"(.*?):("+f+")(.*)":j,"i");this.createStyleSheet();this.refresh(=
)},addEventHandler:function(){y.apply(null,arguments)},addFix:function(c,=
a){this.parser.add(c,a)},addRecalc:function(i,g,f,d){i=3Di.source||i;g=3D=
new RegExp("([{;\\s])"+i+"\\s*:\\s*"+g+"[^;}]*");var =
c=3Dthis.recalcs.length;if(typeof =
d=3D=3D"string")d=3Di+":"+d;this.addFix(g,function(a){if(typeof =
d=3D=3D"function")d=3Dd(a);return(d?d:a)+";ie7-"+a.slice(1)+";ie7_recalc"=
+c+":1"});this.recalcs.push(arguments);return =
c},apply:function(){this.getInlineCSS();new =
cg("screen");this.trash()},createStyleSheet:function(){p.getElementsByTag=
Name("head")[0].appendChild(p.createElement("style"));this.styleSheet=3DI=
[I.length-1];this.styleSheet.ie7=3Dtrue;this.styleSheet.owningElement.ie7=
=3Dtrue;this.styleSheet.cssText=3DU},getInlineCSS:function(){var =
d=3Dp.getElementsByTagName("style"),c;for(var =
a=3Dd.length-1;c=3Dd[a];a--){if(!c.disabled&&!c.ie7){c._7=3Dc.innerHTML}}=
},getText:function(d,c){try{var =
a=3Dd.cssText}catch(e){a=3D""}if(V)a=3DcB(d.href,c)||a;return =
a},recalc:function(){this.screen.recalc();var =
q=3D/ie7_recalc\d+/g,n=3DU.match(/[{,]/g).length,o=3Dthis.styleSheet.rule=
s,k,l,m,j,i,g,f,d,c;for(g=3Dn;k=3Do[g];g++){var =
a=3Dk.style.cssText;if(l=3Da.match(q)){j=3DJ(k.selectorText);if(j.length)=
for(f=3D0;f<l.length;f++){c=3Dl[f];m=3Dh.CSS.recalcs[c.slice(10)][2];for(=
d=3D0;(i=3Dj[d]);d++){if(i.currentStyle[c])m(i,a)}}}}},refresh:function()=
{this.styleSheet.cssText=3DU+this.screen+this.print},trash:function(){for=
(var c=3D0;c<I.length;c++){if(!I[c].ie7){try{var =
a=3DI[c].cssText}catch(e){a=3D""}if(a)I[c].cssText=3D""}}}}));var =
cg=3DF.extend({constructor:function(a){this.media=3Da;this.load();h.CSS[a=
]=3Dthis;h.CSS.refresh()},createRule:function(d,c){var =
a;if(R&&(a=3Dd.match(R.MATCH))){return new R(a[1],a[2],c)}else =
if(a=3Dd.match(bf.MATCH)){if(!cV.test(a[0])||bf.COMPLEX.test(a[0])){retur=
n new bf(d,a[1],a[2],a[3],c)}}else{return new u(d,c)}return d+" =
{"+c+"}"},getText:function(){var =
v=3D/@media\s+([^{]+?)\s*\{([^@]+\})\s*\}/gi,Z=3D/@import[^;\n]+/gi,S=3D/=
@import\s+url\s*\(\s*["']?|["']?\s*\)\s*/gi,ba=3D/(url\s*\(\s*['"]?)([\w\=
.]+[^:\)]*['"]?\))/gi,K=3Dthis,L=3D{};function z(k,l,m,j){var =
i=3D"";if(!j){m=3Dq(k.media);j=3D0}if(m=3D=3D=3D"none"){k.disabled=3Dtrue=
;return""}if(m=3D=3D=3D"all"||m=3D=3D=3DK.media){try{var =
g=3D!!k.cssText}catch(exe){}if(j<3&&g){var =
f=3Dk.cssText.match(Z);for(var d=3D0,c;d<k.imports.length;d++){var =
c=3Dk.imports[d];var =
a=3Dk._2||k.href;c._2=3Df[d].replace(S,"");i+=3Dz(c,by(a,l),m,j+1)}}i+=3D=
cQ(k.href?n(k,l):k.owningElement._7);i=3DA(i,K.media)}return i};for(var =
w=3D0;w<I.length;w++){var =
r=3DI[w];if(!r.disabled&&!r.ie7)this.cssText+=3Dz(r)}function =
A(c,a){s.value=3Da;return c.replace(v,s)};function =
s(d,c,a){c=3Dq(c);switch(c){case"screen":case"print":if(c!=3D=3Ds.value)r=
eturn"";case"all":return a}return""};function q(d){if(!d)return"all";var =
c=3Dd.toLowerCase().split(/\s*,\s*/);d=3D"none";for(var =
a=3D0;a<c.length;a++){if(c[a]=3D=3D=3D"all")return"all";if(c[a]=3D=3D=3D"=
screen"){if(d=3D=3D=3D"print")return"all";d=3D"screen"}else =
if(c[a]=3D=3D=3D"print"){if(d=3D=3D=3D"screen")return"all";d=3D"print"}}r=
eturn d};function n(f,d){var =
c=3Df._2||f.href,a=3Dbk(c,d);if(L[a])return"";L[a]=3Df.disabled?"":o(h.CS=
S.getText(f,d),by(c,d));return L[a]};function o(c,a){return =
c.replace(ba,"$1"+a.slice(0,a.lastIndexOf("/")+1)+"$2")}},load:function()=
{this.cssText=3D"";this.getText();this.parse();if(bF.length){this.cssText=
=3Dda(this.cssText)}this.cssText=3Dbd(this.cssText);bl=3D{}},parse:functi=
on(){var =
j=3Dh.CSS.parser.parse(this.cssText),o=3D"";this.cssText=3Dj.replace(/@ch=
arset[^;]+;|@font\-face[^\}]+\}/g,function(a){o+=3Da+"\n";return""});this=
.declarations=3Dbd(o);var =
k=3Dh.CSS.rules.length,l=3D[],m;while((m=3DcY.exec(this.cssText))){var =
j=3Dm[2];if(j){var i=3Dt<7&&j.indexOf("AlphaImageLoader")!=3D=3D-1;var =
g=3Dm[1].match(cZ),f;for(var d=3D0;f=3Dg[d];d++){f=3DbZ(f);var =
c=3Dh.CSS.UNKNOWN.test(f);g[d]=3Dc?this.createRule(f,j):f+"{"+j+"}";if(i)=
g[d]+=3Dthis.createRule(f+">*","position:relative")}l.push(g.join("\n"))}=
}this.cssText=3Dl.join("\n");this.rules=3Dh.CSS.rules.slice(k)},recalc:fu=
nction(){var =
c,a;for(a=3D0;(c=3Dthis.rules[a]);a++)c.recalc()},toString:function(){ret=
urn this.declarations+"@media =
"+this.media+"{"+this.cssText+"}"}}),R,u=3Dh.Rule=3DF.extend({constructor=
:function(d,c){this.id=3Dh.CSS.rules.length;this.className=3Du.PREFIX+thi=
s.id;var =
a=3Dd.match(cW);this.selector=3D(a?a[1]:d)||"*";this.selectorText=3Dthis.=
parse(this.selector)+(a?a[2]:"");this.cssText=3Dc;this.MATCH=3Dnew =
RegExp("\\s"+this.className+"(\\s|$)","g");h.CSS.rules.push(this);this.in=
it()},init:bj,add:function(a){a.className+=3D" =
"+this.className},recalc:function(){var c=3DJ(this.selector);for(var =
a=3D0;a<c.length;a++)this.add(c[a])},parse:function(g){var =
f=3Dg.replace(u.CHILD," =
").replace(u.COMPLEX,"");if(t<7)f=3Df.replace(u.MULTI,"");var =
d=3Dbo(f,u.TAGS).length-bo(g,u.TAGS).length,c=3Dbo(f,u.CLASSES).length-bo=
(g,u.CLASSES).length+1;while(c>0&&u.CLASS.test(f)){f=3Df.replace(u.CLASS,=
"");c--}while(d>0&&u.TAG.test(f)){f=3Df.replace(u.TAG,"$1*");d--}f+=3D"."=
+this.className;c=3DMath.min(c,2);d=3DMath.min(d,2);var =
a=3D-10*c-d;if(a>0){f=3Df+","+u.MAP[a]+" "+f}return =
f},remove:function(a){a.className=3Da.className.replace(this.MATCH,"$1")}=
,toString:function(){return H("%1 =
{%2}",this.selectorText,this.cssText)}},{CHILD:/>/g,CLASS:/\.[\w-]+/,CLAS=
SES:/[.:\[]/g,MULTI:/(\.[\w-]+)+/g,PREFIX:"ie7_class",TAG:/^\w+|([\s>+~])=
\w+/,TAGS:/^\w|[\s>+~]\w/g,MAP:{"1":"html","2":"html =
body","10":".ie7_html","11":"html.ie7_html","12":"html.ie7_html =
body","20":".ie7_html .ie7_body","21":"html.ie7_html =
.ie7_body","22":"html.ie7_html =
body.ie7_body"}}),bf=3Du.extend({constructor:function(g,f,d,c,a){this.neg=
ated=3Dd.indexOf("not")=3D=3D=3D0;if(this.negated)d=3Dd.slice(5,-1);this.=
attach=3Df||"*";this.dynamicPseudoClass=3Dh.CSS.dynamicPseudoClasses[d];t=
his.target=3Dc;this.base(g,a)},recalc:function(){var =
f=3DJ(this.attach),d;for(var c=3D0;d=3Df[c];c++){var =
a=3Dthis.target?J(this.target,d):[d];if(a.length)this.dynamicPseudoClass.=
apply(d,a,this)}}}),M=3DF.extend({constructor:function(c,a){this.name=3Dc=
;this.apply=3Da;this.instances=3D{};h.CSS.dynamicPseudoClasses[c]=3Dthis}=
,register:function(g,f){var =
d=3Dg[2];if(!f&&d.negated){this.unregister(g,true)}else{g.id=3Dd.id+g[0].=
uniqueID;if(!this.instances[g.id]){var =
c=3Dg[1],a;for(a=3D0;a<c.length;a++)d.add(c[a]);this.instances[g.id]=3Dg}=
}},unregister:function(g,f){var =
d=3Dg[2];if(!f&&d.negated){this.register(g,true)}else{if(this.instances[g=
.id]){var c=3Dg[1],a;for(a=3D0;a<c.length;a++)d.remove(c[a]);delete =
this.instances[g.id]}}}}),br=3Dnew M("hover",function(c){var =
a=3Darguments;h.CSS.addEventHandler(c,"onmouseenter",function(){br.regist=
er(a)});h.CSS.addEventHandler(c,"onmouseleave",function(){br.unregister(a=
)})});y(p,"onmouseup",function(){var c=3Dbr.instances;for(var a in =
c)if(!c[a][0].contains(event.srcElement))br.unregister(c[a])});var =
co=3D{"=3D":"%1=3D=3D=3D'%2'","~=3D":"(' '+%1+' ').indexOf(' %2 =
')!=3D=3D-1","|=3D":"%1=3D=3D=3D'%2'||%1.indexOf('%2-')=3D=3D=3D0","^=3D"=
:"%1.indexOf('%2')=3D=3D=3D0","$=3D":"%1.slice(-'%2'.length)=3D=3D=3D'%2'=
","*=3D":"%1.indexOf('%2')!=3D=3D-1"};co[""]=3D"%1!=3Dnull";var =
T=3D{"<#attr>":function(g,f,d,c){var =
a=3D"IE7._0(e,'"+f+"')";c=3Dbp(c);if(d.length>1){if(!c||d=3D=3D=3D"~=3D"&=
&cX.test(c)){return"false&&"}a=3D"("+a+"||'')"}return"("+H(co[d],a,c)+")&=
&"},"<#id>":cn+"=3D=3D=3D'$1'&&","<#class>":"e.className&&(' =
'+e.className+' ').indexOf(' $1 =
')!=3D=3D-1&&",":first-child":"!"+ck+"&&",":link":"e.currentStyle['ie7-li=
nk']=3D=3D'link'&&",":visited":"e.currentStyle['ie7-link']=3D=3D'visited'=
&&"};h.HTML=3Dnew(ci.extend({fixed:{},init:bj,addFix:function(){this.fixe=
s.push(arguments)},apply:function(){for(var =
f=3D0;f<this.fixes.length;f++){var d=3DJ(this.fixes[f][0]);var =
c=3Dthis.fixes[f][1];for(var =
a=3D0;a<d.length;a++)c(d[a])}},addRecalc:function(){this.recalcs.push(arg=
uments)},recalc:function(){for(var j=3D0;j<this.recalcs.length;j++){var =
i=3DJ(this.recalcs[j][0]);var g=3Dthis.recalcs[j][1],f;var =
d=3DMath.pow(2,j);for(var c=3D0;(f=3Di[c]);c++){var =
a=3Df.uniqueID;if((this.fixed[a]&d)=3D=3D=3D0){f=3Dg(f)||f;this.fixed[a]|=
=3Dd}}}}}));if(t<7){p.createElement("abbr");h.HTML.addRecalc("label",func=
tion(c){if(!c.htmlFor){var =
a=3DJ("input,textarea",c,true);if(a){y(c,"onclick",function(){a.click()})=
}}})}var bg=3D"[.\\d]";(function(){var =
v=3Dh.Layout=3D{};U+=3D"*{boxSizing:content-box}";v.boxSizing=3Dfunction(=
a){if(!a.currentStyle.hasLayout){a.style.height=3D"0cm";if(a.currentStyle=
.verticalAlign=3D=3D=3D"auto")a.runtimeStyle.verticalAlign=3D"top";Z(a)}}=
;function =
Z(a){if(a!=3Dx&&a.currentStyle.position!=3D=3D"absolute"){S(a,"marginTop"=
);S(a,"marginBottom")}};function S(g,f){if(!g.runtimeStyle[f]){var =
d=3Dg.parentElement;var =
c=3Df=3D=3D=3D"marginTop";if(d&&d.currentStyle.hasLayout&&!h._1(g,c?"prev=
ious":"next"))return;var =
a=3Dg[c?"firstChild":"lastChild"];if(a&&a.nodeName<"@")a=3Dh._1(a,c?"next=
":"previous");if(a&&a.currentStyle.styleFloat=3D=3D=3D"none"&&a.currentSt=
yle.hasLayout){S(a,f);margin=3Dba(g,g.currentStyle[f]);childMargin=3Dba(a=
,a.currentStyle[f]);if(margin<0||childMargin<0){g.runtimeStyle[f]=3Dmargi=
n+childMargin}else{g.runtimeStyle[f]=3DMath.max(childMargin,margin)}a.run=
timeStyle[f]=3D"0px"}}};function ba(c,a){return =
a=3D=3D=3D"auto"?0:C(c,a)};var =
K=3D/^[.\d][\w]*$/,L=3D/^(auto|0cm)$/,z=3D{};v.borderBox=3Dfunction(a){z.=
Width(a);z.Height(a)};var =
w=3Dfunction(r){z.Width=3Dfunction(a){if(!X.test(a.currentStyle.width))A(=
a);if(r)Z(a)};function =
A(c,a){if(!c.runtimeStyle.fixedWidth){if(!a)a=3Dc.currentStyle.width;c.ru=
ntimeStyle.fixedWidth=3DK.test(a)?Math.max(0,n(c,a))+"px":a;Y(c,"width",c=
.runtimeStyle.fixedWidth)}};function s(c){if(!bq(c)){var =
a=3Dc.offsetParent;while(a&&!a.currentStyle.hasLayout)a=3Da.offsetParent}=
return(a||x).clientWidth};function q(c,a){if(X.test(a))return =
parseInt(parseFloat(a)/100*s(c));return C(c,a)};var =
n=3Dfunction(f,d){var =
c=3Df.currentStyle["ie7-box-sizing"]=3D=3D=3D"border-box",a=3D0;if(E&&!c)=
a+=3Do(f)+k(f,"padding");else if(!E&&c)a-=3Do(f)+k(f,"padding");return =
q(f,d)+a};function o(a){return a.offsetWidth-a.clientWidth};function =
k(c,a){return =
q(c,c.currentStyle[a+"Left"])+q(c,c.currentStyle[a+"Right"])};U+=3D"*{min=
Width:none;maxWidth:none;min-width:none;max-width:none}";v.minWidth=3Dfun=
ction(a){if(a.currentStyle["min-width"]!=3Dnull){a.style.minWidth=3Da.cur=
rentStyle["min-width"]}if(be(arguments.callee,a,a.currentStyle.minWidth!=3D=
=3D"none")){v.boxSizing(a);A(a);l(a)}};eval("IE7.Layout.maxWidth=3D"+Stri=
ng(v.minWidth).replace(/min/g,"max"));function =
l(d){if(d=3D=3Dp.body){var c=3Dd.clientWidth}else{var =
a=3Dd.getBoundingClientRect();c=3Da.right-a.left}if(d.currentStyle.minWid=
th!=3D=3D"none"&&c<n(d,d.currentStyle.minWidth)){d.runtimeStyle.width=3Dd=
.currentStyle.minWidth}else =
if(d.currentStyle.maxWidth!=3D=3D"none"&&c>=3Dn(d,d.currentStyle.maxWidth=
)){d.runtimeStyle.width=3Dd.currentStyle.maxWidth}else{d.runtimeStyle.wid=
th=3Dd.runtimeStyle.fixedWidth}};function =
m(a){if(be(m,a,/^(fixed|absolute)$/.test(a.currentStyle.position)&&bD(a,"=
left")!=3D=3D"auto"&&bD(a,"right")!=3D=3D"auto"&&L.test(bD(a,"width")))){=
j(a);v.boxSizing(a)}};v.fixRight=3Dm;function j(d){var =
c=3Dq(d,d.runtimeStyle._3||d.currentStyle.left),a=3Ds(d)-q(d,d.currentSty=
le.right)-c-k(d,"margin");if(parseInt(d.runtimeStyle.width)=3D=3D=3Da)ret=
urn;d.runtimeStyle.width=3D"";if(bq(d)||r||d.offsetWidth<a){if(!E)a-=3Do(=
d)+k(d,"padding");if(a<0)a=3D0;d.runtimeStyle.fixedWidth=3Da;Y(d,"width",=
a)}};var i=3D0;bA(function(){if(!x)return;var =
g,f=3D(i<x.clientWidth);i=3Dx.clientWidth;var =
d=3Dv.minWidth.elements;for(g in d){var c=3Dd[g];var =
a=3D(parseInt(c.runtimeStyle.width)=3D=3D=3Dn(c,c.currentStyle.minWidth))=
;if(f&&a)c.runtimeStyle.width=3D"";if(f=3D=3Da)l(c)}var =
d=3Dv.maxWidth.elements;for(g in d){var c=3Dd[g];var =
a=3D(parseInt(c.runtimeStyle.width)=3D=3D=3Dn(c,c.currentStyle.maxWidth))=
;if(!f&&a)c.runtimeStyle.width=3D"";if(f!=3D=3Da)l(c)}for(g in =
m.elements)j(m.elements[g])});if(E){h.CSS.addRecalc("width",bg,z.Width)}i=
f(t<7){h.CSS.addRecalc("max-width",bg,v.maxWidth);h.CSS.addRecalc("right"=
,bg,m)}else =
if(t=3D=3D7){if(r)h.CSS.addRecalc("height","[\\d.]+%",function(element){e=
lement.runtimeStyle.pixelHeight=3DparseInt(s(element)*element.currentStyl=
e["ie7-height"].slice(0,-1)/100)})}};eval("var =
_8=3D"+ce(w));w();_8(true);if(t<7){h.CSS.addRecalc("min-width",bg,v.minWi=
dth);h.CSS.addFix(/\bmin-height\s*/,"height")}})();var =
bG=3Dbk("blank.gif",cA),bH=3D"DXImageTransform.Microsoft.AlphaImageLoader=
",cp=3D"progid:"+bH+"(src=3D'%1',sizingMethod=3D'%2')",bh,bi=3D[];functio=
n cq(c){if(bh.test(c.src)){var a=3Dnew =
Image(c.width,c.height);a.onload=3Dfunction(){c.width=3Da.width;c.height=3D=
a.height;a=3Dnull};a.src=3Dc.src;c.pngSrc=3Dc.src;bs(c)}};if(t<7){h.CSS.a=
ddFix(/background(-image)?\s*:\s*([^};]*)?url\(([^\)]+)\)([^;}]*)?/,funct=
ion(g,f,d,c,a){c=3Dbp(c);return =
bh.test(c)?"filter:"+H(cp,c,a.indexOf("no-repeat")=3D=3D=3D-1?"scale":"cr=
op")+";zoom:1;background"+(f||"")+":"+(d||"")+"none"+(a||""):g});h.CSS.ad=
dRecalc(/list\-style(\-image)?/,"[^};]*url",function(f){var =
d=3Df.currentStyle.listStyleImage.slice(5,-2);if(bh.test(d)){if(f.nodeNam=
e=3D=3D=3D"LI"){cr(f,d)}else if(f.nodeName=3D=3D=3D"UL"){for(var =
c=3D0,a;a=3Df.childNodes[c];c++){if(a.nodeName=3D=3D=3D"LI")cr(a,d)}}}});=
function cr(i,g){var f=3Di.runtimeStyle,d=3Di.offsetHeight,c=3Dnew =
Image;c.onload=3Dfunction(){var =
a=3Di.currentStyle.paddingLeft;a=3Da=3D=3D=3D"0px"?0:C(i,a);f.paddingLeft=
=3D(a+this.width)+"px";f.marginLeft=3D-this.width+"px";f.listStyleType=3D=
"none";f.listStyleImage=3D"none";f.paddingTop=3DMath.max(d-i.offsetHeight=
,0)+"px";bs(i,"crop",g);i.style.zoom=3D"100%"};c.src=3Dg};h.HTML.addRecal=
c("img,input",function(a){if(a.nodeName=3D=3D=3D"INPUT"&&a.type!=3D=3D"im=
age")return;cq(a);y(a,"onpropertychange",function(){if(!bI&&event.propert=
yName=3D=3D=3D"src"&&a.src.indexOf(bG)=3D=3D=3D-1)cq(a)})});var =
bI=3Dfalse;y(N,"onbeforeprint",function(){bI=3Dtrue;for(var =
a=3D0;a<bi.length;a++)db(bi[a])});y(N,"onafterprint",function(){for(var =
a=3D0;a<bi.length;a++)bs(bi[a]);bI=3Dfalse})}function bs(f,d,c){var =
a=3Df.filters[bH];if(a){a.src=3Dc||f.src;a.enabled=3Dtrue}else{f.runtimeS=
tyle.filter=3DH(cp,c||f.src,d||"scale");bi.push(f)}f.src=3DbG};function =
db(a){a.src=3Da.pngSrc;a.filters[bH].enabled=3Dfalse};(function(){if(t>=3D=
7)return;h.CSS.addRecalc("position","fixed",o,"absolute");h.CSS.addRecalc=
("background(-attachment)?","[^};]*fixed",q);var =
z=3DE?"body":"documentElement";function =
w(){if(B.currentStyle.backgroundAttachment!=3D=3D"fixed"){if(B.currentSty=
le.backgroundImage=3D=3D=3D"none"){B.runtimeStyle.backgroundRepeat=3D"no-=
repeat";B.runtimeStyle.backgroundImage=3D"url("+bG+")"}B.runtimeStyle.bac=
kgroundAttachment=3D"fixed"}w=3Dbj};var r=3Dcj("img");function =
A(a){return a?bq(a)||A(a.parentElement):false};function =
s(d,c,a){setTimeout("document.all."+d.uniqueID+".runtimeStyle.setExpressi=
on('"+c+"','"+a+"')",0)};function =
q(a){if(be(q,a,a.currentStyle.backgroundAttachment=3D=3D=3D"fixed"&&!a.co=
ntains(B))){w();j.bgLeft(a);j.bgTop(a);n(a)}};function =
n(c){r.src=3Dc.currentStyle.backgroundImage.slice(5,-2);var =
a=3Dc.canHaveChildren?c:c.parentElement;a.appendChild(r);j.setOffsetLeft(=
c);j.setOffsetTop(c);a.removeChild(r)};function =
o(a){if(be(o,a,bq(a))){Y(a,"position","absolute");Y(a,"left",a.currentSty=
le.left);Y(a,"top",a.currentStyle.top);w();h.Layout.fixRight(a);k(a)}};fu=
nction =
k(d,c){p.body.getBoundingClientRect();j.positionTop(d,c);j.positionLeft(d=
,c,true);if(!d.runtimeStyle.autoLeft&&d.currentStyle.marginLeft=3D=3D=3D"=
auto"&&d.currentStyle.right!=3D=3D"auto"){var =
a=3Dx.clientWidth-j.getPixelWidth(d,d.currentStyle.right)-j.getPixelWidth=
(d,d.runtimeStyle._3)-d.clientWidth;if(d.currentStyle.marginRight=3D=3D=3D=
"auto")a=3DparseInt(a/2);if(A(d.offsetParent))d.runtimeStyle.pixelLeft+=3D=
a;else =
d.runtimeStyle.shiftLeft=3Da}if(!d.runtimeStyle.fixedWidth)j.clipWidth(d)=
;if(!d.runtimeStyle.fixedHeight)j.clipHeight(d)};function l(){var =
c=3Dq.elements;for(var a in c)n(c[a]);c=3Do.elements;for(a in =
c){k(c[a],true);k(c[a],true)}m=3D0};var =
m;bA(function(){if(!m)m=3DsetTimeout(l,100)});var =
j=3D{},i=3Dfunction(g){g.bgLeft=3Dfunction(a){a.style.backgroundPositionX=
=3Da.currentStyle.backgroundPositionX;if(!A(a)){s(a,"backgroundPositionX"=
,"(parseInt(runtimeStyle.offsetLeft)+document."+z+".scrollLeft)||0")}};g.=
setOffsetLeft=3Dfunction(c){var =
a=3DA(c)?"backgroundPositionX":"offsetLeft";c.runtimeStyle[a]=3Dg.getOffs=
etLeft(c,c.style.backgroundPositionX)-c.getBoundingClientRect().left-c.cl=
ientLeft+2};g.getOffsetLeft=3Dfunction(c,a){switch(a){case"left":case"top=
":return 0;case"right":case"bottom":return =
x.clientWidth-r.offsetWidth;case"center":return(x.clientWidth-r.offsetWid=
th)/2;default:if(X.test(a)){return =
parseInt((x.clientWidth-r.offsetWidth)*parseFloat(a)/100)}r.style.left=3D=
a;return r.offsetLeft}};g.clipWidth=3Dfunction(f){var =
d=3Df.runtimeStyle.fixWidth;f.runtimeStyle.borderRightWidth=3D"";f.runtim=
eStyle.width=3Dd?g.getPixelWidth(f,d)+"px":"";if(f.currentStyle.width!=3D=
=3D"auto"){var c=3Df.getBoundingClientRect();var =
a=3Df.offsetWidth-x.clientWidth+c.left-2;if(a>=3D0){f.runtimeStyle.border=
RightWidth=3D"0px";a=3DMath.max(C(f,f.currentStyle.width)-a,0);Y(f,"width=
",a);return =
a}}};g.positionLeft=3Dfunction(c,a){if(!a&&X.test(c.currentStyle.width)){=
c.runtimeStyle.fixWidth=3Dc.currentStyle.width}if(c.runtimeStyle.fixWidth=
){c.runtimeStyle.width=3Dg.getPixelWidth(c,c.runtimeStyle.fixWidth)}c.run=
timeStyle.shiftLeft=3D0;c.runtimeStyle._3=3Dc.currentStyle.left;c.runtime=
Style.autoLeft=3Dc.currentStyle.right!=3D=3D"auto"&&c.currentStyle.left=3D=
=3D=3D"auto";c.runtimeStyle.left=3D"";c.runtimeStyle.screenLeft=3Dg.getSc=
reenLeft(c);c.runtimeStyle.pixelLeft=3Dc.runtimeStyle.screenLeft;if(!a&&!=
A(c.offsetParent)){s(c,"pixelLeft","runtimeStyle.screenLeft+runtimeStyle.=
shiftLeft+document."+z+".scrollLeft")}};g.getScreenLeft=3Dfunction(d){var=
 =
c=3Dd.offsetLeft,a=3D1;if(d.runtimeStyle.autoLeft){c=3Dx.clientWidth-d.of=
fsetWidth-g.getPixelWidth(d,d.currentStyle.right)}if(d.currentStyle.margi=
nLeft!=3D=3D"auto"){c-=3Dg.getPixelWidth(d,d.currentStyle.marginLeft)}whi=
le(d=3Dd.offsetParent){if(d.currentStyle.position!=3D=3D"static")a=3D-1;c=
+=3Dd.offsetLeft*a}return c};g.getPixelWidth=3Dfunction(c,a){return =
X.test(a)?parseInt(parseFloat(a)/100*x.clientWidth):C(c,a)}};eval("var =
_9=3D"+ce(i));i(j);_9(j)})();if(t<7){var =
bJ=3D{backgroundColor:"transparent",backgroundImage:"none",backgroundPosi=
tionX:null,backgroundPositionY:null,backgroundRepeat:null,borderTopWidth:=
0,borderRightWidth:0,borderBottomWidth:0,borderLeftStyle:"none",borderTop=
Style:"none",borderRightStyle:"none",borderBottomStyle:"none",borderLeftW=
idth:0,borderLeftColor:"#000",borderTopColor:"#000",borderRightColor:"#00=
0",borderBottomColor:"#000",height:null,marginTop:0,marginBottom:0,margin=
Right:0,marginLeft:0,width:"100%"};h.CSS.addRecalc("overflow","visible",f=
unction(d){if(d.currentStyle.position=3D=3D=3D"absolute")return;if(d.pare=
ntNode.ie7_wrapped)return;if(h.Layout&&d.currentStyle["max-height"]!=3D=3D=
"auto"){h.Layout.maxHeight(d)}if(d.currentStyle.marginLeft=3D=3D=3D"auto"=
)d.style.marginLeft=3D0;if(d.currentStyle.marginRight=3D=3D=3D"auto")d.st=
yle.marginRight=3D0;var =
c=3Dp.createElement(cy);c.ie7_wrapped=3Dd;for(var a in =
bJ){c.style[a]=3Dd.currentStyle[a];if(bJ[a]!=3Dnull){d.runtimeStyle[a]=3D=
bJ[a]}}c.style.display=3D"block";c.style.position=3D"relative";d.runtimeS=
tyle.position=3D"absolute";d.parentNode.insertBefore(c,d);c.appendChild(d=
)})}function dc(){var =
s=3D"xx-small,x-small,small,medium,large,x-large,xx-large".split(",");for=
(var =
q=3D0;q<s.length;q++){s[s[q]]=3Ds[q-1]||"0.67em"}h.CSS.addFix(/(font(-siz=
e)?\s*:\s*)([\w.-]+)/,function(f,d,c,a){return d+(s[a]||a)});var =
n=3D/^\-/,o=3D/(em|ex)$/i,k=3D/em$/i,l=3D/ex$/i;C=3Dfunction(d,c){if(ch.t=
est(c))return parseInt(c)||0;var =
a=3Dn.test(c)?-1:1;if(o.test(c))a*=3Dj(d);m.style.width=3Da<0?c.slice(1):=
c;B.appendChild(m);c=3Da*m.offsetWidth;m.removeNode();return =
parseInt(c)};var m=3Dcj();function j(d){var =
c=3D1;m.style.fontFamily=3Dd.currentStyle.fontFamily;m.style.lineHeight=3D=
d.currentStyle.lineHeight;while(d!=3DB){var =
a=3Dd.currentStyle["ie7-font-size"];if(a){if(k.test(a))c*=3DparseFloat(a)=
;else if(X.test(a))c*=3D(parseFloat(a)/100);else =
if(l.test(a))c*=3D(parseFloat(a)/2);else{m.style.fontSize=3Da;return =
1}}d=3Dd.parentElement}return =
c};h.CSS.addFix(/cursor\s*:\s*pointer/,"cursor:hand");h.CSS.addFix(/displ=
ay\s*:\s*list-item/,"display:block");function i(f){var =
d=3Df.parentElement,c=3Dd.offsetWidth-f.offsetWidth-g(d),a=3D(f.currentSt=
yle["ie7-margin"]&&f.currentStyle.marginRight=3D=3D=3D"auto")||f.currentS=
tyle["ie7-margin-right"]=3D=3D=3D"auto";switch(d.currentStyle.textAlign){=
case"right":c=3Da?parseInt(c/2):0;f.runtimeStyle.marginRight=3Dc+"px";bre=
ak;case"center":if(a)c=3D0;default:if(a)c/=3D2;f.runtimeStyle.marginLeft=3D=
parseInt(c)+"px"}};function g(a){return =
C(a,a.currentStyle.paddingLeft)+C(a,a.currentStyle.paddingRight)};h.CSS.a=
ddRecalc("margin(-left|-right)?","[^};]*auto",function(a){if(be(i,a,a.par=
entElement&&a.currentStyle.display=3D=3D=3D"block"&&a.currentStyle.margin=
Left=3D=3D=3D"auto"&&a.currentStyle.position!=3D=3D"absolute")){i(a)}});b=
A(function(){for(var c in i.elements){var =
a=3Di.elements[c];a.runtimeStyle.marginLeft=3Da.runtimeStyle.marginRight=3D=
"";i(a)}})};var =
bK=3D"\\([^)]+\\)";cc.add(/::(before|after)/,":$1");if(t<8){if(h.CSS.pseu=
doClasses)h.CSS.pseudoClasses+=3D"|";h.CSS.pseudoClasses+=3D"before|after=
|lang"+bK;function da(a){return a.replace(new =
RegExp("([{;\\s])("+bF.join("|")+")\\s*:\\s*([^;}]+)","g"),"$1$2:$3;ie7-$=
2:$3")};var dd=3D/[\w-]+\s*:\s*inherit/g;var =
de=3D/ie7\-|\s*:\s*inherit/g;var df=3D/\-([a-z])/g;function =
dg(c,a){return =
a.toUpperCase()};h.CSS.addRecalc("[\\w-]+","inherit",function(g,f){if(g.p=
arentElement){var d=3Df.match(dd);for(var c=3D0;c<d.length;c++){var =
a=3Dd[c].replace(de,"");if(g.currentStyle["ie7-"+a]=3D=3D=3D"inherit"){a=3D=
a.replace(df,dg);g.runtimeStyle[a]=3Dg.parentElement.currentStyle[a]}}}},=
function(a){bF.push(bY(a.slice(1).split(":")[0]));return a});var =
bt=3Dnew M("focus",function(c){var =
a=3Darguments;h.CSS.addEventHandler(c,"onfocus",function(){bt.unregister(=
a);bt.register(a)});h.CSS.addEventHandler(c,"onblur",function(){bt.unregi=
ster(a)});if(c=3D=3Dp.activeElement){bt.register(a)}});var bL=3Dnew =
M("active",function(c){var =
a=3Darguments;h.CSS.addEventHandler(c,"onmousedown",function(){bL.registe=
r(a)})});y(p,"onmouseup",function(){var c=3DbL.instances;for(var a in =
c)bL.unregister(c[a])});var dh=3D/^url\s*\(\s*([^)]*)\)$/;var =
di=3D{before0:"beforeBegin",before1:"afterBegin",after0:"afterEnd",after1=
:"beforeEnd"};var =
R=3Dh.PseudoElement=3Du.extend({constructor:function(j,i,g){this.position=
=3Di;var =
f=3Dg.match(R.CONTENT),d,c;if(f){f=3Df[1];d=3Df.split(/\s+/);for(var =
a=3D0;(c=3Dd[a]);a++){d[a]=3D/^attr/.test(c)?{attr:c.slice(5,-1)}:c.charA=
t(0)=3D=3D=3D"'"?bp(c):bd(c)}f=3Dd}this.content=3Df;this.base(j,bd(g))},i=
nit:function(){this.match=3DJ(this.selector);for(var =
c=3D0;c<this.match.length;c++){var =
a=3Dthis.match[c].runtimeStyle;if(!a[this.position])a[this.position]=3D{c=
ssText:""};a[this.position].cssText+=3D";"+this.cssText;if(this.content!=3D=
null)a[this.position].content=3Dthis.content}},create:function(n){var =
o=3Dn.runtimeStyle[this.position];if(o){var =
k=3D[].concat(o.content||"");for(var l=3D0;l<k.length;l++){if(typeof =
k[l]=3D=3D"object"){k[l]=3Dn.getAttribute(k[l].attr)}}k=3Dk.join("");var =
m=3Dk.match(dh);var =
j=3D"overflow:hidden;"+o.cssText.replace(/'/g,'"');var =
i=3Ddi[this.position+Number(n.canHaveChildren)];var =
g=3D'ie7_pseudo'+R.count++;n.insertAdjacentHTML(i,H(R.ANON,this.className=
,g,j,m?"":k));if(m){var f=3Dbp(m[1]);var =
d=3Dp.getElementById(g);d.src=3Df;bs(d,"crop");var =
c=3Dn.currentStyle.styleFloat!=3D=3D"none";if(d.currentStyle.display=3D=3D=
=3D"inline"||c){if(t<7&&c&&n.canHaveChildren){n.runtimeStyle.display=3D"i=
nline";n.runtimeStyle.position=3D"relative";d.runtimeStyle.position=3D"ab=
solute"}d.style.display=3D"inline-block";if(n.currentStyle.styleFloat!=3D=
=3D"none"){d.style.pixelWidth=3Dn.offsetWidth}var a=3Dnew =
Image;a.onload=3Dfunction(){d.style.pixelWidth=3Dthis.width;d.style.pixel=
Height=3DMath.max(this.height,d.offsetHeight)};a.src=3Df}}n.runtimeStyle[=
this.position]=3Dnull}},recalc:function(){if(this.content=3D=3Dnull)retur=
n;for(var =
a=3D0;a<this.match.length;a++){this.create(this.match[a])}},toString:func=
tion(){return"."+this.className+"{display:inline}"}},{CONTENT:/content\s*=
:\s*([^;]*)(;|$)/,ANON:"<ie7:! class=3D'ie7_anon %1' id=3D%2 =
style=3D'%3'>%4</ie7:!>",MATCH:/(.*):(before|after).*/,count:0});h._getLa=
ng=3Dfunction(c){var =
a=3D"";while(c&&c.nodeType=3D=3D=3D1){a=3Dc.lang||c.getAttribute("lang")|=
|"";if(a)break;c=3Dc.parentNode}return =
a};T=3DO(T,{":lang\\(([^)]+)\\)":"((ii=3DIE7._getLang(e))=3D=3D=3D'$1'||i=
i.indexOf('$1-')=3D=3D=3D0)&&"})}var =
dj=3D/^(submit|reset|button)$/;h.HTML.addRecalc("button,input",function(c=
){if(c.nodeName=3D=3D=3D"BUTTON"){var a=3Dc.outerHTML.match(/ =
value=3D"([^"]*)"/i);c.runtimeStyle.value=3Da?a[1]:""}if(c.type=3D=3D=3D"=
submit"){y(c,"onclick",function(){c.runtimeStyle.clicked=3Dtrue;setTimeou=
t("document.all."+c.uniqueID+".runtimeStyle.clicked=3Dfalse",1)})}});h.HT=
ML.addRecalc("form",function(d){y(d,"onsubmit",function(){for(var =
c,a=3D0;c=3Dd[a];a++){if(dj.test(c.type)&&!c.disabled&&!c.runtimeStyle.cl=
icked){c.disabled=3Dtrue;setTimeout("document.all."+c.uniqueID+".disabled=
=3Dfalse",1)}else =
if(c.nodeName=3D=3D=3D"BUTTON"&&c.type=3D=3D=3D"submit"){setTimeout("docu=
ment.all."+c.uniqueID+".value=3D'"+c.value+"'",1);c.value=3Dc.runtimeStyl=
e.value}}})});h.HTML.addRecalc("img",function(a){if(a.alt&&!a.title)a.tit=
le=3D""});if(t<8){h.CSS.addRecalc("border-spacing",bg,function(a){if(a.cu=
rrentStyle.borderCollapse!=3D=3D"collapse"){a.cellSpacing=3DC(a,a.current=
Style["ie7-border-spacing"].split(" =
")[0])}});h.CSS.addRecalc("box-sizing","content-box",h.Layout.boxSizing);=
h.CSS.addRecalc("box-sizing","border-box",h.Layout.borderBox)}if(t<8){var=
 =
dk=3D/^image/i;h.HTML.addRecalc("object",function(a){if(dk.test(a.type)){=
a.body.style.cssText=3D"margin:0;padding:0;border:none;overflow:hidden";r=
eturn a}})}var =
bM=3D"!IE7._a(e,'next')&&",cs=3DbM.replace("next","previous");if(h.CSS.ps=
eudoClasses)h.CSS.pseudoClasses+=3D"|";h.CSS.pseudoClasses+=3D"(?:first|l=
ast|only)\\-(?:child|of\\-type)|empty|root|target|"+("not|nth\\-child|nth=
\\-last\\-child|nth\\-of\\-type|nth\\-last\\-of\\-type".split("|").join(b=
K+"|")+bK);var bN=3Dnew M("checked",function(c){if(typeof =
c.checked!=3D=3D"boolean")return;var =
a=3Darguments;h.CSS.addEventHandler(c,"onpropertychange",function(){if(ev=
ent.propertyName=3D=3D=3D"checked"){if(c.checked=3D=3D=3Dtrue)bN.register=
(a);else =
bN.unregister(a)}});if(c.checked=3D=3D=3Dtrue)bN.register(a)}),bO=3Dnew =
M("enabled",function(c){if(typeof c.disabled!=3D=3D"boolean")return;var =
a=3Darguments;h.CSS.addEventHandler(c,"onpropertychange",function(){if(ev=
ent.propertyName=3D=3D=3D"disabled"){if(c.disabled=3D=3D=3Dfalse)bO.regis=
ter(a);else =
bO.unregister(a)}});if(c.disabled=3D=3D=3Dfalse)bO.register(a)}),bP=3Dnew=
 M("disabled",function(c){if(typeof =
c.disabled!=3D=3D"boolean")return;var =
a=3Darguments;h.CSS.addEventHandler(c,"onpropertychange",function(){if(ev=
ent.propertyName=3D=3D=3D"disabled"){if(c.disabled=3D=3D=3Dtrue)bP.regist=
er(a);else =
bP.unregister(a)}});if(c.disabled=3D=3D=3Dtrue)bP.register(a)}),bQ=3Dnew =
M("indeterminate",function(c){if(typeof =
c.indeterminate!=3D=3D"boolean")return;var =
a=3Darguments;h.CSS.addEventHandler(c,"onpropertychange",function(){if(ev=
ent.propertyName=3D=3D=3D"indeterminate"){if(c.indeterminate=3D=3D=3Dtrue=
)bQ.register(a);else =
bQ.unregister(a)}});h.CSS.addEventHandler(c,"onclick",function(){bQ.unreg=
ister(a)})}),bR=3Dnew M("target",function(c){var =
a=3Darguments;if(!c.tabIndex)c.tabIndex=3D0;h.CSS.addEventHandler(p,"onpr=
opertychange",function(){if(event.propertyName=3D=3D=3D"activeElement"){i=
f(c.id&&c.id=3D=3D=3Dlocation.hash.slice(1))bR.register(a);else =
bR.unregister(a)}});if(c.id&&c.id=3D=3D=3Dlocation.hash.slice(1))bR.regis=
ter(a)}),ct=3D1,bu=3D{_4:1};h._b=3Dfunction(l,m,j){var =
i=3Dl.parentNode;if(!i||i.nodeType!=3D=3D1)return NaN;var =
g=3Dj?l.nodeName:"";if(g=3D=3D=3D"TR"&&l.sectionRowIndex>=3D0){var =
c=3Dl.sectionRowIndex;return =
m?l.parentNode.rows.length-c+1:c}if((g=3D=3D=3D"TD"||g=3D=3D=3D"TH")&&l.c=
ellIndex>=3D0){c=3Dl.cellIndex;return =
m?l.parentNode.cells.length-c+1:c}if(bu._4!=3D=3Dct){bu=3D{_4:ct}}var =
f=3D(i.uniqueID)+"-"+g,d=3Dbu[f];if(!d){d=3D{};var =
c=3D0,a=3Di.firstChild;while(a){if(j?a.nodeName=3D=3D=3Dg:a.nodeName>"@")=
{d[a.uniqueID]=3D++c}a=3Da.nextSibling}d.length=3Dc;bu[f]=3Dd}c=3Dd[l.uni=
queID];return =
m?d.length-c+1:c};h._c=3Dfunction(a){a=3Da.firstChild;while(a){if(a.nodeT=
ype=3D=3D=3D3||a.nodeName>"@")return false;a=3Da.nextSibling}return =
true};h._a=3Dfunction(d,c){var =
a=3Dd.nodeName;c+=3D"Sibling";do{d=3Dd[c];if(d&&d.nodeName=3D=3D=3Da)brea=
k}while(d);return d};var dl=3D{"+":1,"-":-1},dm=3D/ =
/g;T=3DO(O({":nth(-last)?-(?:child|(of-type))\\((<#nth_arg>)\\)(<#filter>=
)?":function(m,j,i,g,f){g=3Dg.replace(dm,"");var =
d=3D"IE7._b(e,"+!!j+","+!!i+")";if(g=3D=3D=3D"even")g=3D"2n";else =
if(g=3D=3D=3D"odd")g=3D"2n+1";else =
if(!isNaN(g))g=3D"0n"+~~g;g=3Dg.split("n");var =
c=3D~~(dl[g[0]]||g[0]||1),b=3D~~g[1];if(c=3D=3D=3D0){var =
a=3Dd+"=3D=3D=3D"+b}else{a=3D"((ii=3D"+d+")-("+b+"))%"+c+"=3D=3D=3D0&&ii"=
+(c<0?"<":">")+"=3D"+b}return =
this.parse(f)+a+"&&"},"<#negation>":function(c,a){if(/:not/i.test(a))bv()=
;if(/^[#.:\[]/.test(a)){a=3D"*"+a}return"!("+D.parse(a).slice(3,-2)+")&&"=
}},T),{":checked":"e.checked=3D=3D=3Dtrue&&",":disabled":"e.disabled=3D=3D=
=3Dtrue&&",":enabled":"e.disabled=3D=3D=3Dfalse&&",":last-child":"!"+bE+"=
&&",":only-child":"!"+ck+"&&!"+bE+"&&",":first-of-type":cs,":last-of-type=
":bM,":only-of-type":cs+bM,":empty":"IE7._c(e)&&",":root":"e=3D=3DR&&",":=
target":"H&&"+cn+"=3D=3D=3DH&&"});var =
dn=3D"article,aside,audio,canvas,details,figcaption,figure,footer,header,=
hgroup,mark,menu,meter,nav,output,progress,section,summary,time,video".sp=
lit(",");for(var =
cu=3D0,cv;cv=3Ddn[cu];cu++)p.createElement(cv);U+=3D"datalist{display:non=
e}details{padding-left:40px;display:block;margin:1em =
0}meter,progress{vertical-align:-0.2em;width:5em;height:1em;display:inlin=
e-block}progress{width:10em;}article,aside,figcaption,footer,header,hgrou=
p,summary,section,nav{display:block;margin:1em 0}figure{margin:1em =
40px;display:block}mark{background:yellow}";h.CSS.addFix(/\bopacity\s*:\s=
*([\d.]+)/,function(c,a){return"zoom:1;filter:Alpha(opacity=3D"+((a*100)|=
|1)+")"});var D,J=3D(function(){var o0=3D/^[>+~]/,bw=3Dfalse;function =
dp(f,d,c){f=3DbZ(f);if(!d)d=3Dp;var =
a=3Dd;bw=3Do0.test(f);if(bw){d=3Dd.parentNode;f=3D"*"+f}try{return =
n.create(f,bw)(d,c?null:[],a)}catch(ex){return c?null:[]}};var =
dq=3D/^(\\.|[' =
>+~#.\[\]:*(),\w-\^|$=3D]|[^\x00-\xa0])+$/,dE=3D/^(href|src)$/,cw=3D{"cla=
ss":"className","for":"htmlFor"},dF=3D/\sie7_\w+/g,dr=3D/^(action|cite|co=
debase|data|dynsrc|href|longdesc|lowsrc|src|usemap|url)$/i;h._0=3Dfunctio=
n(f,d){if(f.getAttributeNode){var =
c=3Df.getAttributeNode(d)}d=3Dcw[d.toLowerCase()]||d;if(!c)c=3Df.attribut=
es[d];var a=3Dc&&c.specified;if(f[d]&&typeof f[d]=3D=3D"boolean")return =
d.toLowerCase();if((a&&dr.test(d))||(!c&&E)||d=3D=3D=3D"value"||d=3D=3D=3D=
"type"){return f.getAttribute(d,2)}if(d=3D=3D=3D"style")return =
f.style.cssText.toLowerCase()||null;return =
a?String(c.nodeValue):null};var =
cx=3D"colSpan,rowSpan,vAlign,dateTime,accessKey,tabIndex,encType,maxLengt=
h,readOnly,longDesc";O(cw,cO(cx.toLowerCase().split(","),cx.split(",")));=
h._1=3Dfunction(c,a){a+=3D"Sibling";do{c=3Dc[a];if(c&&c.nodeName>"@")brea=
k}while(c);return c};var ds=3D/(^|[, =
>+~])([#.:\[])/g,dG=3D/\)\{/g,dt=3D/,/,dH=3D/^['"]/,du=3D/\\([\da-f]{2,2}=
)/gi,dI=3D/last/i;h._d=3Dfunction(f,d){var =
c=3Df.all[d]||null;if(!c||(c.nodeType&&h._0(c,"id")=3D=3D=3Dd))return =
c;for(var a=3D0;a<c.length;a++){if(h._0(c[a],"id")=3D=3D=3Dd)return =
c[a]}return null};var bb=3DG.extend({dictionary:new =
cM({ident:/\-?(\\.|[_a-z]|[^\x00-\xa0])(\\.|[\w-]|[^\x00-\xa0])*/,combina=
tor:/[\s>+~]/,operator:/[\^~|$*]?=3D/,nth_arg:/[+-]?\d+|[+-]?\d*n(?:\s*[+=
-]\s*\d+)?|even|odd/,tag:/\*|<#ident>/,id:/#(<#ident>)/,'class':/\.(<#ide=
nt>)/,pseudo:/\:([\w-]+)(?:\(([^)]+)\))?/,attr:/\[(<#ident>)(?:(<#operato=
r>)((?:\\.|[^\[\]#.:])+))?\]/,negation:/:not\((<#tag>|<#id>|<#class>|<#at=
tr>|<#pseudo>)\)/,sequence:/(\\.|[~*]=3D|\+\d|\+?\d*n\s*\+\s*\d|[^\s>+~,\=
*])+/,filter:/[#.:\[]<#sequence>/,selector:/[^>+~](\\.|[^,])*?/,grammar:/=
^(<#selector>)((,<#selector>)*)$/}),ignoreCase:true}),dv=3Dnew =
bb({"\\\\.|[~*]\\s+=3D|\\+\\s+\\d":G.IGNORE,"\\[\\s+":"[","\\(\\s+":"(","=
\\s+\\)":")","\\s+\\]":"]","\\s*([,>+~]|<#operator>)\\s*":"$1","\\s+$":""=
,"\\s+":" "});function =
dw(a){a=3Ddv.parse(a.replace(du,"\\x$1")).replace(bz,"$1").replace(ds,"$1=
*$2");if(!dq.test(a))bv();return a};function dJ(a){return =
a.replace(cb,dx)};function dx(c,a){return W[a]};var =
dy=3D/\{/g,dz=3D/\\{/g;function bS(a){return =
Array((a.replace(dz,"").match(dy)||"").length+1).join("}")};T=3Dnew =
bb(T);var v=3D/:target/i,Z=3D/:root/i;function S(c){var =
a=3D"";if(Z.test(c))a+=3D",R=3Dd.documentElement";if(v.test(c))a+=3D",H=3D=
d.location;H=3DH&&H.hash.replace('#','')";if(a||c.indexOf("#")!=3D=3D-1){=
a=3D",t=3Dc.nodeType,d=3Dt=3D=3D=3D9?c:c.ownerDocument||(c.document||c).p=
arentWindow.document"+a}return"var ii"+a+";"};var ba=3D{" =
":";while(e!=3Ds&&(e=3De.parentNode)&&e.nodeType=3D=3D=3D1){",">":".paren=
tElement;if(e){","+":";while((e=3De.previousSibling)&&!("+cl+"))continue;=
if(e){","~":";while((e=3De.previousSibling)){"+cm},K=3D/\be\b/g;D=3Dnew =
bb({"(?:(<#selector>)(<#combinator>))?(<#tag>)(<#filter>)?$":function(j,i=
,g,f,d){var c=3D"";if(f!=3D=3D"*"){var =
a=3Df.toUpperCase();c+=3D"if(e.nodeName=3D=3D=3D'"+a+(a=3D=3D=3Df?"":"'||=
e.nodeName=3D=3D=3D'"+f)+"'){"}if(d){c+=3D"if("+T.parse(d).slice(0,-2)+")=
{"}c=3Dc.replace(K,"e"+this.index);if(g){c+=3D"var =
e=3De"+(this.index++)+ba[g];c=3Dc.replace(K,"e"+this.index)}if(i){c+=3Dth=
is.parse(i)}return c}});var L=3D"e0=3DIE7._d(d,'%1');if(e0){",z=3D"var =
n=3Dc.getElementsByTagName('%1');",w=3D"if(r=3D=3Dnull)return =
e0;r[k++]=3De0;",r=3D1,A=3Dnew =
bb({"^((?:<#selector>)?(?:<#combinator>))(<#tag>)(<#filter>)?$":true}),s=3D=
{},q=3Dnew bb({"^(<#tag>)#(<#ident>)(<#filter>)?( =
[^,]*)?$":function(j,i,g,f,d){var =
c=3DH(L,g),a=3D"}";if(f){c+=3DD.parse(i+f);a=3DbS(c)}if(d){c+=3D"s=3Dc=3D=
e0;"+n.parse("*"+d)}else{c+=3Dw}return =
c+a},"^([^#,]+)#(<#ident>)(<#filter>)?$":function(g,f,d,c){var =
a=3DH(L,d);if(f=3D=3D=3D"*"){a+=3Dw}else{a+=3DD.parse(f+c)+w+"break"}retu=
rn a+bS(a)},"^.*$":""}),n=3Dnew =
bb({"<#grammar>":function(k,l,m){if(!this.groups)this.groups=3D[];var =
j=3DA.exec(" "+l);if(!j)bv();this.groups.push(j.slice(1));if(m){return =
this.parse(m.replace(dt,""))}var i=3Dthis.groups,g=3Di[0][r];for(var =
c=3D1;j=3Di[c];c++){if(g!=3D=3Dj[r]){g=3D"*";break}}var =
f=3D"",d=3Dw+"continue filtering;";for(var =
c=3D0;j=3Di[c];c++){D.index=3D0;if(g!=3D=3D"*")j[r]=3D"*";j=3Dj.join("");=
if(j=3D=3D=3D" =
*"){f=3Dd;break}else{j=3DD.parse(j);if(bw)j+=3D"if(e"+D.index+"=3D=3Ds){"=
;f+=3Dj+d+bS(j)}}var a=3Dg=3D=3D=3D"*";return(a?"var =
n=3Dc.all;":H(z,g))+"filtering:while((e0=3Dn[i++]))"+(a?cm.replace(K,"e0"=
):"{")+f+"}"},"^.*$":bv}),o=3D/\&\&(e\d+)\.nodeType=3D=3D=3D1(\)\{\s*if\(=
\1\.nodeName=3D)/g;n.create=3Dfunction(d){if(!s[d]){d=3Ddw(d);this.groups=
=3Dnull;D.index=3D0;var =
c=3Dthis.parse(d);this.groups=3Dnull;D.index=3D0;if(d.indexOf("#")!=3D=3D=
-1){var =
a=3Dq.parse(d);if(a){c=3D"if(t=3D=3D=3D1||t=3D=3D=3D11|!c.getElementById)=
{"+c+"}else{"+a+"}"}}c=3Dc.replace(o,"$2");c=3DS(d)+bd(c);s[d]=3Dnew =
Function("return function(c,r,s){var i=3D0,k=3D0,e0;"+c+"return =
r}")()}return s[d]};return dp})();function bv(){throw new =
SyntaxError("Invalid =
selector.");};h.loaded=3Dtrue;(function(){try{if(!p.body)throw"continue";=
bx.doScroll("left")}catch(ex){setTimeout(arguments.callee,1);return}try{e=
val(bU.innerHTML)}catch(ex){}if(typeof =
IE7_PNG_SUFFIX=3D=3D"object"){bh=3DIE7_PNG_SUFFIX}else{bh=3Dnew =
RegExp(bY(N.IE7_PNG_SUFFIX||"-trans.png")+"(\\?.*)?$","i")}B=3Dp.body;x=3D=
E?B:bx;B.className+=3D" ie7_body";bx.className+=3D" =
ie7_html";if(E)dc();h.CSS.init();h.HTML.init();h.HTML.apply();h.CSS.apply=
();h.recalc()})()})(this,document);=0A=

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/js/prototype.js

/*  Prototype JavaScript framework, version 1.6.1=0A=
 *  (c) 2005-2009 Sam Stephenson=0A=
 *=0A=
 *  Prototype is freely distributable under the terms of an MIT-style =
license.=0A=
 *  For details, see the Prototype web site: http://www.prototypejs.org/=0A=
 *=0A=
 =
*------------------------------------------------------------------------=
--*/=0A=
=0A=
var Prototype =3D {=0A=
  Version: '1.6.1',=0A=
=0A=
  Browser: (function(){=0A=
    var ua =3D navigator.userAgent;=0A=
    var isOpera =3D Object.prototype.toString.call(window.opera) =3D=3D =
'[object Opera]';=0A=
    return {=0A=
      IE:             !!window.attachEvent && !isOpera,=0A=
      Opera:          isOpera,=0A=
      WebKit:         ua.indexOf('AppleWebKit/') > -1,=0A=
      Gecko:          ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') =
=3D=3D=3D -1,=0A=
      MobileSafari:   /Apple.*Mobile.*Safari/.test(ua)=0A=
    }=0A=
  })(),=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=0A=
    SelectorsAPI: !!document.querySelector,=0A=
    ElementExtensions: (function() {=0A=
      var constructor =3D window.Element || window.HTMLElement;=0A=
      return !!(constructor && constructor.prototype);=0A=
    })(),=0A=
    SpecificElementExtensions: (function() {=0A=
      if (typeof window.HTMLDivElement !=3D=3D 'undefined')=0A=
        return true;=0A=
=0A=
      var div =3D document.createElement('div');=0A=
      var form =3D document.createElement('form');=0A=
      var isSupported =3D false;=0A=
=0A=
      if (div['__proto__'] && (div['__proto__'] !=3D=3D =
form['__proto__'])) {=0A=
        isSupported =3D true;=0A=
      }=0A=
=0A=
      div =3D form =3D null;=0A=
=0A=
      return isSupported;=0A=
    })()=0A=
  },=0A=
=0A=
  ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',=0A=
  JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A=
=0A=
  emptyFunction: function() { },=0A=
  K: function(x) { return x }=0A=
};=0A=
=0A=
if (Prototype.Browser.MobileSafari)=0A=
  Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A=
=0A=
=0A=
var Abstract =3D { };=0A=
=0A=
=0A=
var Try =3D {=0A=
  these: function() {=0A=
    var returnValue;=0A=
=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      var lambda =3D arguments[i];=0A=
      try {=0A=
        returnValue =3D lambda();=0A=
        break;=0A=
      } catch (e) { }=0A=
    }=0A=
=0A=
    return returnValue;=0A=
  }=0A=
};=0A=
=0A=
/* Based on Alex Arnell's inheritance implementation. */=0A=
=0A=
var Class =3D (function() {=0A=
  function subclass() {};=0A=
  function create() {=0A=
    var parent =3D null, properties =3D $A(arguments);=0A=
    if (Object.isFunction(properties[0]))=0A=
      parent =3D properties.shift();=0A=
=0A=
    function klass() {=0A=
      this.initialize.apply(this, arguments);=0A=
    }=0A=
=0A=
    Object.extend(klass, Class.Methods);=0A=
    klass.superclass =3D parent;=0A=
    klass.subclasses =3D [];=0A=
=0A=
    if (parent) {=0A=
      subclass.prototype =3D parent.prototype;=0A=
      klass.prototype =3D new subclass;=0A=
      parent.subclasses.push(klass);=0A=
    }=0A=
=0A=
    for (var i =3D 0; i < properties.length; i++)=0A=
      klass.addMethods(properties[i]);=0A=
=0A=
    if (!klass.prototype.initialize)=0A=
      klass.prototype.initialize =3D Prototype.emptyFunction;=0A=
=0A=
    klass.prototype.constructor =3D klass;=0A=
    return klass;=0A=
  }=0A=
=0A=
  function addMethods(source) {=0A=
    var ancestor   =3D this.superclass && this.superclass.prototype;=0A=
    var properties =3D Object.keys(source);=0A=
=0A=
    if (!Object.keys({ toString: true }).length) {=0A=
      if (source.toString !=3D Object.prototype.toString)=0A=
        properties.push("toString");=0A=
      if (source.valueOf !=3D Object.prototype.valueOf)=0A=
        properties.push("valueOf");=0A=
    }=0A=
=0A=
    for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A=
      var property =3D properties[i], value =3D source[property];=0A=
      if (ancestor && Object.isFunction(value) &&=0A=
          value.argumentNames().first() =3D=3D "$super") {=0A=
        var method =3D value;=0A=
        value =3D (function(m) {=0A=
          return function() { return ancestor[m].apply(this, arguments); =
};=0A=
        })(property).wrap(method);=0A=
=0A=
        value.valueOf =3D method.valueOf.bind(method);=0A=
        value.toString =3D method.toString.bind(method);=0A=
      }=0A=
      this.prototype[property] =3D value;=0A=
    }=0A=
=0A=
    return this;=0A=
  }=0A=
=0A=
  return {=0A=
    create: create,=0A=
    Methods: {=0A=
      addMethods: addMethods=0A=
    }=0A=
  };=0A=
})();=0A=
(function() {=0A=
=0A=
  var _toString =3D Object.prototype.toString;=0A=
=0A=
  function extend(destination, source) {=0A=
    for (var property in source)=0A=
      destination[property] =3D source[property];=0A=
    return destination;=0A=
  }=0A=
=0A=
  function inspect(object) {=0A=
    try {=0A=
      if (isUndefined(object)) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : String(object);=0A=
    } catch (e) {=0A=
      if (e instanceof RangeError) return '...';=0A=
      throw e;=0A=
    }=0A=
  }=0A=
=0A=
  function toJSON(object) {=0A=
    var type =3D typeof object;=0A=
    switch (type) {=0A=
      case 'undefined':=0A=
      case 'function':=0A=
      case 'unknown': return;=0A=
      case 'boolean': return object.toString();=0A=
    }=0A=
=0A=
    if (object =3D=3D=3D null) return 'null';=0A=
    if (object.toJSON) return object.toJSON();=0A=
    if (isElement(object)) return;=0A=
=0A=
    var results =3D [];=0A=
    for (var property in object) {=0A=
      var value =3D toJSON(object[property]);=0A=
      if (!isUndefined(value))=0A=
        results.push(property.toJSON() + ': ' + value);=0A=
    }=0A=
=0A=
    return '{' + results.join(', ') + '}';=0A=
  }=0A=
=0A=
  function toQueryString(object) {=0A=
    return $H(object).toQueryString();=0A=
  }=0A=
=0A=
  function toHTML(object) {=0A=
    return object && object.toHTML ? object.toHTML() : =
String.interpret(object);=0A=
  }=0A=
=0A=
  function keys(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(property);=0A=
    return results;=0A=
  }=0A=
=0A=
  function values(object) {=0A=
    var results =3D [];=0A=
    for (var property in object)=0A=
      results.push(object[property]);=0A=
    return results;=0A=
  }=0A=
=0A=
  function clone(object) {=0A=
    return extend({ }, object);=0A=
  }=0A=
=0A=
  function isElement(object) {=0A=
    return !!(object && object.nodeType =3D=3D 1);=0A=
  }=0A=
=0A=
  function isArray(object) {=0A=
    return _toString.call(object) =3D=3D "[object Array]";=0A=
  }=0A=
=0A=
=0A=
  function isHash(object) {=0A=
    return object instanceof Hash;=0A=
  }=0A=
=0A=
  function isFunction(object) {=0A=
    return typeof object =3D=3D=3D "function";=0A=
  }=0A=
=0A=
  function isString(object) {=0A=
    return _toString.call(object) =3D=3D "[object String]";=0A=
  }=0A=
=0A=
  function isNumber(object) {=0A=
    return _toString.call(object) =3D=3D "[object Number]";=0A=
  }=0A=
=0A=
  function isUndefined(object) {=0A=
    return typeof object =3D=3D=3D "undefined";=0A=
  }=0A=
=0A=
  extend(Object, {=0A=
    extend:        extend,=0A=
    inspect:       inspect,=0A=
    toJSON:        toJSON,=0A=
    toQueryString: toQueryString,=0A=
    toHTML:        toHTML,=0A=
    keys:          keys,=0A=
    values:        values,=0A=
    clone:         clone,=0A=
    isElement:     isElement,=0A=
    isArray:       isArray,=0A=
    isHash:        isHash,=0A=
    isFunction:    isFunction,=0A=
    isString:      isString,=0A=
    isNumber:      isNumber,=0A=
    isUndefined:   isUndefined=0A=
  });=0A=
})();=0A=
Object.extend(Function.prototype, (function() {=0A=
  var slice =3D Array.prototype.slice;=0A=
=0A=
  function update(array, args) {=0A=
    var arrayLength =3D array.length, length =3D args.length;=0A=
    while (length--) array[arrayLength + length] =3D args[length];=0A=
    return array;=0A=
  }=0A=
=0A=
  function merge(array, args) {=0A=
    array =3D slice.call(array, 0);=0A=
    return update(array, args);=0A=
  }=0A=
=0A=
  function argumentNames() {=0A=
    var names =3D =
this.toString().match(/^[\s\(]*function[^(]*\(([^)]*)\)/)[1]=0A=
      .replace(/\/\/.*?[\r\n]|\/\*(?:.|[\r\n])*?\*\//g, '')=0A=
      .replace(/\s+/g, '').split(',');=0A=
    return names.length =3D=3D 1 && !names[0] ? [] : names;=0A=
  }=0A=
=0A=
  function bind(context) {=0A=
    if (arguments.length < 2 && Object.isUndefined(arguments[0])) return =
this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function bindAsEventListener(context) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    return function(event) {=0A=
      var a =3D update([event || window.event], args);=0A=
      return __method.apply(context, a);=0A=
    }=0A=
  }=0A=
=0A=
  function curry() {=0A=
    if (!arguments.length) return this;=0A=
    var __method =3D this, args =3D slice.call(arguments, 0);=0A=
    return function() {=0A=
      var a =3D merge(args, arguments);=0A=
      return __method.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function delay(timeout) {=0A=
    var __method =3D this, args =3D slice.call(arguments, 1);=0A=
    timeout =3D timeout * 1000=0A=
    return window.setTimeout(function() {=0A=
      return __method.apply(__method, args);=0A=
    }, timeout);=0A=
  }=0A=
=0A=
  function defer() {=0A=
    var args =3D update([0.01], arguments);=0A=
    return this.delay.apply(this, args);=0A=
  }=0A=
=0A=
  function wrap(wrapper) {=0A=
    var __method =3D this;=0A=
    return function() {=0A=
      var a =3D update([__method.bind(this)], arguments);=0A=
      return wrapper.apply(this, a);=0A=
    }=0A=
  }=0A=
=0A=
  function methodize() {=0A=
    if (this._methodized) return this._methodized;=0A=
    var __method =3D this;=0A=
    return this._methodized =3D function() {=0A=
      var a =3D update([this], arguments);=0A=
      return __method.apply(null, a);=0A=
    };=0A=
  }=0A=
=0A=
  return {=0A=
    argumentNames:       argumentNames,=0A=
    bind:                bind,=0A=
    bindAsEventListener: bindAsEventListener,=0A=
    curry:               curry,=0A=
    delay:               delay,=0A=
    defer:               defer,=0A=
    wrap:                wrap,=0A=
    methodize:           methodize=0A=
  }=0A=
})());=0A=
=0A=
=0A=
Date.prototype.toJSON =3D function() {=0A=
  return '"' + this.getUTCFullYear() + '-' +=0A=
    (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A=
    this.getUTCDate().toPaddedString(2) + 'T' +=0A=
    this.getUTCHours().toPaddedString(2) + ':' +=0A=
    this.getUTCMinutes().toPaddedString(2) + ':' +=0A=
    this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A=
};=0A=
=0A=
=0A=
RegExp.prototype.match =3D RegExp.prototype.test;=0A=
=0A=
RegExp.escape =3D function(str) {=0A=
  return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A=
};=0A=
var PeriodicalExecuter =3D Class.create({=0A=
  initialize: function(callback, frequency) {=0A=
    this.callback =3D callback;=0A=
    this.frequency =3D frequency;=0A=
    this.currentlyExecuting =3D false;=0A=
=0A=
    this.registerCallback();=0A=
  },=0A=
=0A=
  registerCallback: function() {=0A=
    this.timer =3D setInterval(this.onTimerEvent.bind(this), =
this.frequency * 1000);=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    this.callback(this);=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    if (!this.timer) return;=0A=
    clearInterval(this.timer);=0A=
    this.timer =3D null;=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    if (!this.currentlyExecuting) {=0A=
      try {=0A=
        this.currentlyExecuting =3D true;=0A=
        this.execute();=0A=
        this.currentlyExecuting =3D false;=0A=
      } catch(e) {=0A=
        this.currentlyExecuting =3D false;=0A=
        throw e;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
Object.extend(String, {=0A=
  interpret: function(value) {=0A=
    return value =3D=3D null ? '' : String(value);=0A=
  },=0A=
  specialChar: {=0A=
    '\b': '\\b',=0A=
    '\t': '\\t',=0A=
    '\n': '\\n',=0A=
    '\f': '\\f',=0A=
    '\r': '\\r',=0A=
    '\\': '\\\\'=0A=
  }=0A=
});=0A=
=0A=
Object.extend(String.prototype, (function() {=0A=
=0A=
  function prepareReplacement(replacement) {=0A=
    if (Object.isFunction(replacement)) return replacement;=0A=
    var template =3D new Template(replacement);=0A=
    return function(match) { return template.evaluate(match) };=0A=
  }=0A=
=0A=
  function gsub(pattern, replacement) {=0A=
    var result =3D '', source =3D this, match;=0A=
    replacement =3D prepareReplacement(replacement);=0A=
=0A=
    if (Object.isString(pattern))=0A=
      pattern =3D RegExp.escape(pattern);=0A=
=0A=
    if (!(pattern.length || pattern.source)) {=0A=
      replacement =3D replacement('');=0A=
      return replacement + source.split('').join(replacement) + =
replacement;=0A=
    }=0A=
=0A=
    while (source.length > 0) {=0A=
      if (match =3D source.match(pattern)) {=0A=
        result +=3D source.slice(0, match.index);=0A=
        result +=3D String.interpret(replacement(match));=0A=
        source  =3D source.slice(match.index + match[0].length);=0A=
      } else {=0A=
        result +=3D source, source =3D '';=0A=
      }=0A=
    }=0A=
    return result;=0A=
  }=0A=
=0A=
  function sub(pattern, replacement, count) {=0A=
    replacement =3D prepareReplacement(replacement);=0A=
    count =3D Object.isUndefined(count) ? 1 : count;=0A=
=0A=
    return this.gsub(pattern, function(match) {=0A=
      if (--count < 0) return match[0];=0A=
      return replacement(match);=0A=
    });=0A=
  }=0A=
=0A=
  function scan(pattern, iterator) {=0A=
    this.gsub(pattern, iterator);=0A=
    return String(this);=0A=
  }=0A=
=0A=
  function truncate(length, truncation) {=0A=
    length =3D length || 30;=0A=
    truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A=
    return this.length > length ?=0A=
      this.slice(0, length - truncation.length) + truncation : =
String(this);=0A=
  }=0A=
=0A=
  function strip() {=0A=
    return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A=
  }=0A=
=0A=
  function stripTags() {=0A=
    return this.replace(/<\w+(\s+("[^"]*"|'[^']*'|[^>])+)?>|<\/\w+>/gi, =
'');=0A=
  }=0A=
=0A=
  function stripScripts() {=0A=
    return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A=
  }=0A=
=0A=
  function extractScripts() {=0A=
    var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A=
    var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A=
    return (this.match(matchAll) || []).map(function(scriptTag) {=0A=
      return (scriptTag.match(matchOne) || ['', ''])[1];=0A=
    });=0A=
  }=0A=
=0A=
  function evalScripts() {=0A=
    return this.extractScripts().map(function(script) { return =
eval(script) });=0A=
  }=0A=
=0A=
  function escapeHTML() {=0A=
    return =
this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A=
  }=0A=
=0A=
  function unescapeHTML() {=0A=
    return =
this.stripTags().replace(/&lt;/g,'<').replace(/&gt;/g,'>').replace(/&amp;=
/g,'&');=0A=
  }=0A=
=0A=
=0A=
  function toQueryParams(separator) {=0A=
    var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A=
    if (!match) return { };=0A=
=0A=
    return match[1].split(separator || '&').inject({ }, function(hash, =
pair) {=0A=
      if ((pair =3D pair.split('=3D'))[0]) {=0A=
        var key =3D decodeURIComponent(pair.shift());=0A=
        var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A=
        if (value !=3D undefined) value =3D decodeURIComponent(value);=0A=
=0A=
        if (key in hash) {=0A=
          if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A=
          hash[key].push(value);=0A=
        }=0A=
        else hash[key] =3D value;=0A=
      }=0A=
      return hash;=0A=
    });=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.split('');=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this.slice(0, this.length - 1) +=0A=
      String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A=
  }=0A=
=0A=
  function times(count) {=0A=
    return count < 1 ? '' : new Array(count + 1).join(this);=0A=
  }=0A=
=0A=
  function camelize() {=0A=
    var parts =3D this.split('-'), len =3D parts.length;=0A=
    if (len =3D=3D 1) return parts[0];=0A=
=0A=
    var camelized =3D this.charAt(0) =3D=3D '-'=0A=
      ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A=
      : parts[0];=0A=
=0A=
    for (var i =3D 1; i < len; i++)=0A=
      camelized +=3D parts[i].charAt(0).toUpperCase() + =
parts[i].substring(1);=0A=
=0A=
    return camelized;=0A=
  }=0A=
=0A=
  function capitalize() {=0A=
    return this.charAt(0).toUpperCase() + =
this.substring(1).toLowerCase();=0A=
  }=0A=
=0A=
  function underscore() {=0A=
    return this.replace(/::/g, '/')=0A=
               .replace(/([A-Z]+)([A-Z][a-z])/g, '$1_$2')=0A=
               .replace(/([a-z\d])([A-Z])/g, '$1_$2')=0A=
               .replace(/-/g, '_')=0A=
               .toLowerCase();=0A=
  }=0A=
=0A=
  function dasherize() {=0A=
    return this.replace(/_/g, '-');=0A=
  }=0A=
=0A=
  function inspect(useDoubleQuotes) {=0A=
    var escapedString =3D this.replace(/[\x00-\x1f\\]/g, =
function(character) {=0A=
      if (character in String.specialChar) {=0A=
        return String.specialChar[character];=0A=
      }=0A=
      return '\\u00' + character.charCodeAt().toPaddedString(2, 16);=0A=
    });=0A=
    if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') =
+ '"';=0A=
    return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return this.inspect(true);=0A=
  }=0A=
=0A=
  function unfilterJSON(filter) {=0A=
    return this.replace(filter || Prototype.JSONFilter, '$1');=0A=
  }=0A=
=0A=
  function isJSON() {=0A=
    var str =3D this;=0A=
    if (str.blank()) return false;=0A=
    str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A=
    return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A=
  }=0A=
=0A=
  function evalJSON(sanitize) {=0A=
    var json =3D this.unfilterJSON();=0A=
    try {=0A=
      if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A=
    } catch (e) { }=0A=
    throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A=
  }=0A=
=0A=
  function include(pattern) {=0A=
    return this.indexOf(pattern) > -1;=0A=
  }=0A=
=0A=
  function startsWith(pattern) {=0A=
    return this.indexOf(pattern) =3D=3D=3D 0;=0A=
  }=0A=
=0A=
  function endsWith(pattern) {=0A=
    var d =3D this.length - pattern.length;=0A=
    return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A=
  }=0A=
=0A=
  function empty() {=0A=
    return this =3D=3D '';=0A=
  }=0A=
=0A=
  function blank() {=0A=
    return /^\s*$/.test(this);=0A=
  }=0A=
=0A=
  function interpolate(object, pattern) {=0A=
    return new Template(this, pattern).evaluate(object);=0A=
  }=0A=
=0A=
  return {=0A=
    gsub:           gsub,=0A=
    sub:            sub,=0A=
    scan:           scan,=0A=
    truncate:       truncate,=0A=
    strip:          String.prototype.trim ? String.prototype.trim : =
strip,=0A=
    stripTags:      stripTags,=0A=
    stripScripts:   stripScripts,=0A=
    extractScripts: extractScripts,=0A=
    evalScripts:    evalScripts,=0A=
    escapeHTML:     escapeHTML,=0A=
    unescapeHTML:   unescapeHTML,=0A=
    toQueryParams:  toQueryParams,=0A=
    parseQuery:     toQueryParams,=0A=
    toArray:        toArray,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    camelize:       camelize,=0A=
    capitalize:     capitalize,=0A=
    underscore:     underscore,=0A=
    dasherize:      dasherize,=0A=
    inspect:        inspect,=0A=
    toJSON:         toJSON,=0A=
    unfilterJSON:   unfilterJSON,=0A=
    isJSON:         isJSON,=0A=
    evalJSON:       evalJSON,=0A=
    include:        include,=0A=
    startsWith:     startsWith,=0A=
    endsWith:       endsWith,=0A=
    empty:          empty,=0A=
    blank:          blank,=0A=
    interpolate:    interpolate=0A=
  };=0A=
})());=0A=
=0A=
var Template =3D Class.create({=0A=
  initialize: function(template, pattern) {=0A=
    this.template =3D template.toString();=0A=
    this.pattern =3D pattern || Template.Pattern;=0A=
  },=0A=
=0A=
  evaluate: function(object) {=0A=
    if (object && Object.isFunction(object.toTemplateReplacements))=0A=
      object =3D object.toTemplateReplacements();=0A=
=0A=
    return this.template.gsub(this.pattern, function(match) {=0A=
      if (object =3D=3D null) return (match[1] + '');=0A=
=0A=
      var before =3D match[1] || '';=0A=
      if (before =3D=3D '\\') return match[2];=0A=
=0A=
      var ctx =3D object, expr =3D match[3];=0A=
      var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A=
      match =3D pattern.exec(expr);=0A=
      if (match =3D=3D null) return before;=0A=
=0A=
      while (match !=3D null) {=0A=
        var comp =3D match[1].startsWith('[') ? =
match[2].replace(/\\\\]/g, ']') : match[1];=0A=
        ctx =3D ctx[comp];=0A=
        if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A=
        expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : =
match[0].length);=0A=
        match =3D pattern.exec(expr);=0A=
      }=0A=
=0A=
      return before + String.interpret(ctx);=0A=
    });=0A=
  }=0A=
});=0A=
Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A=
=0A=
var $break =3D { };=0A=
=0A=
var Enumerable =3D (function() {=0A=
  function each(iterator, context) {=0A=
    var index =3D 0;=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator.call(context, value, index++);=0A=
      });=0A=
    } catch (e) {=0A=
      if (e !=3D $break) throw e;=0A=
    }=0A=
    return this;=0A=
  }=0A=
=0A=
  function eachSlice(number, iterator, context) {=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=0A=
    if (number < 1) return array;=0A=
    while ((index +=3D number) < array.length)=0A=
      slices.push(array.slice(index, index+number));=0A=
    return slices.collect(iterator, context);=0A=
  }=0A=
=0A=
  function all(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!iterator.call(context, value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function any(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!iterator.call(context, value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function collect(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function detect(iterator, context) {=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function findAll(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function grep(filter, iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var results =3D [];=0A=
=0A=
    if (Object.isString(filter))=0A=
      filter =3D new RegExp(RegExp.escape(filter));=0A=
=0A=
    this.each(function(value, index) {=0A=
      if (filter.match(value))=0A=
        results.push(iterator.call(context, value, index));=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function include(object) {=0A=
    if (Object.isFunction(this.indexOf))=0A=
      if (this.indexOf(object) !=3D -1) return true;=0A=
=0A=
    var found =3D false;=0A=
    this.each(function(value) {=0A=
      if (value =3D=3D object) {=0A=
        found =3D true;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return found;=0A=
  }=0A=
=0A=
  function inGroupsOf(number, fillWith) {=0A=
    fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A=
    return this.eachSlice(number, function(slice) {=0A=
      while(slice.length < number) slice.push(fillWith);=0A=
      return slice;=0A=
    });=0A=
  }=0A=
=0A=
  function inject(memo, iterator, context) {=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator.call(context, memo, value, index);=0A=
    });=0A=
    return memo;=0A=
  }=0A=
=0A=
  function invoke(method) {=0A=
    var args =3D $A(arguments).slice(1);=0A=
    return this.map(function(value) {=0A=
      return value[method].apply(value, args);=0A=
    });=0A=
  }=0A=
=0A=
  function max(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function min(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator.call(context, value, index);=0A=
      if (result =3D=3D null || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  }=0A=
=0A=
  function partition(iterator, context) {=0A=
    iterator =3D iterator || Prototype.K;=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      (iterator.call(context, value, index) ?=0A=
        trues : falses).push(value);=0A=
    });=0A=
    return [trues, falses];=0A=
  }=0A=
=0A=
  function pluck(property) {=0A=
    var results =3D [];=0A=
    this.each(function(value) {=0A=
      results.push(value[property]);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function reject(iterator, context) {=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator.call(context, value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  }=0A=
=0A=
  function sortBy(iterator, context) {=0A=
    return this.map(function(value, index) {=0A=
      return {=0A=
        value: value,=0A=
        criteria: iterator.call(context, value, index)=0A=
      };=0A=
    }).sort(function(left, right) {=0A=
      var a =3D left.criteria, b =3D right.criteria;=0A=
      return a < b ? -1 : a > b ? 1 : 0;=0A=
    }).pluck('value');=0A=
  }=0A=
=0A=
  function toArray() {=0A=
    return this.map();=0A=
  }=0A=
=0A=
  function zip() {=0A=
    var iterator =3D Prototype.K, args =3D $A(arguments);=0A=
    if (Object.isFunction(args.last()))=0A=
      iterator =3D args.pop();=0A=
=0A=
    var collections =3D [this].concat(args).map($A);=0A=
    return this.map(function(value, index) {=0A=
      return iterator(collections.pluck(index));=0A=
    });=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.toArray().length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Enumerable:' + this.toArray().inspect() + '>';=0A=
  }=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
  return {=0A=
    each:       each,=0A=
    eachSlice:  eachSlice,=0A=
    all:        all,=0A=
    every:      all,=0A=
    any:        any,=0A=
    some:       any,=0A=
    collect:    collect,=0A=
    map:        collect,=0A=
    detect:     detect,=0A=
    findAll:    findAll,=0A=
    select:     findAll,=0A=
    filter:     findAll,=0A=
    grep:       grep,=0A=
    include:    include,=0A=
    member:     include,=0A=
    inGroupsOf: inGroupsOf,=0A=
    inject:     inject,=0A=
    invoke:     invoke,=0A=
    max:        max,=0A=
    min:        min,=0A=
    partition:  partition,=0A=
    pluck:      pluck,=0A=
    reject:     reject,=0A=
    sortBy:     sortBy,=0A=
    toArray:    toArray,=0A=
    entries:    toArray,=0A=
    zip:        zip,=0A=
    size:       size,=0A=
    inspect:    inspect,=0A=
    find:       detect=0A=
  };=0A=
})();=0A=
function $A(iterable) {=0A=
  if (!iterable) return [];=0A=
  if ('toArray' in Object(iterable)) return iterable.toArray();=0A=
  var length =3D iterable.length || 0, results =3D new Array(length);=0A=
  while (length--) results[length] =3D iterable[length];=0A=
  return results;=0A=
}=0A=
=0A=
function $w(string) {=0A=
  if (!Object.isString(string)) return [];=0A=
  string =3D string.strip();=0A=
  return string ? string.split(/\s+/) : [];=0A=
}=0A=
=0A=
Array.from =3D $A;=0A=
=0A=
=0A=
(function() {=0A=
  var arrayProto =3D Array.prototype,=0A=
      slice =3D arrayProto.slice,=0A=
      _each =3D arrayProto.forEach; // use native browser JS 1.6 =
implementation if available=0A=
=0A=
  function each(iterator) {=0A=
    for (var i =3D 0, length =3D this.length; i < length; i++)=0A=
      iterator(this[i]);=0A=
  }=0A=
  if (!_each) _each =3D each;=0A=
=0A=
  function clear() {=0A=
    this.length =3D 0;=0A=
    return this;=0A=
  }=0A=
=0A=
  function first() {=0A=
    return this[0];=0A=
  }=0A=
=0A=
  function last() {=0A=
    return this[this.length - 1];=0A=
  }=0A=
=0A=
  function compact() {=0A=
    return this.select(function(value) {=0A=
      return value !=3D null;=0A=
    });=0A=
  }=0A=
=0A=
  function flatten() {=0A=
    return this.inject([], function(array, value) {=0A=
      if (Object.isArray(value))=0A=
        return array.concat(value.flatten());=0A=
      array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function without() {=0A=
    var values =3D slice.call(arguments, 0);=0A=
    return this.select(function(value) {=0A=
      return !values.include(value);=0A=
    });=0A=
  }=0A=
=0A=
  function reverse(inline) {=0A=
    return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A=
  }=0A=
=0A=
  function uniq(sorted) {=0A=
    return this.inject([], function(array, value, index) {=0A=
      if (0 =3D=3D index || (sorted ? array.last() !=3D value : =
!array.include(value)))=0A=
        array.push(value);=0A=
      return array;=0A=
    });=0A=
  }=0A=
=0A=
  function intersect(array) {=0A=
    return this.uniq().findAll(function(item) {=0A=
      return array.detect(function(value) { return item =3D=3D=3D value =
});=0A=
    });=0A=
  }=0A=
=0A=
=0A=
  function clone() {=0A=
    return slice.call(this, 0);=0A=
  }=0A=
=0A=
  function size() {=0A=
    return this.length;=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '[' + this.map(Object.inspect).join(', ') + ']';=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    var results =3D [];=0A=
    this.each(function(object) {=0A=
      var value =3D Object.toJSON(object);=0A=
      if (!Object.isUndefined(value)) results.push(value);=0A=
    });=0A=
    return '[' + results.join(', ') + ']';=0A=
  }=0A=
=0A=
  function indexOf(item, i) {=0A=
    i || (i =3D 0);=0A=
    var length =3D this.length;=0A=
    if (i < 0) i =3D length + i;=0A=
    for (; i < length; i++)=0A=
      if (this[i] =3D=3D=3D item) return i;=0A=
    return -1;=0A=
  }=0A=
=0A=
  function lastIndexOf(item, i) {=0A=
    i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A=
    var n =3D this.slice(0, i).reverse().indexOf(item);=0A=
    return (n < 0) ? n : i - n - 1;=0A=
  }=0A=
=0A=
  function concat() {=0A=
    var array =3D slice.call(this, 0), item;=0A=
    for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A=
      item =3D arguments[i];=0A=
      if (Object.isArray(item) && !('callee' in item)) {=0A=
        for (var j =3D 0, arrayLength =3D item.length; j < arrayLength; =
j++)=0A=
          array.push(item[j]);=0A=
      } else {=0A=
        array.push(item);=0A=
      }=0A=
    }=0A=
    return array;=0A=
  }=0A=
=0A=
  Object.extend(arrayProto, Enumerable);=0A=
=0A=
  if (!arrayProto._reverse)=0A=
    arrayProto._reverse =3D arrayProto.reverse;=0A=
=0A=
  Object.extend(arrayProto, {=0A=
    _each:     _each,=0A=
    clear:     clear,=0A=
    first:     first,=0A=
    last:      last,=0A=
    compact:   compact,=0A=
    flatten:   flatten,=0A=
    without:   without,=0A=
    reverse:   reverse,=0A=
    uniq:      uniq,=0A=
    intersect: intersect,=0A=
    clone:     clone,=0A=
    toArray:   clone,=0A=
    size:      size,=0A=
    inspect:   inspect,=0A=
    toJSON:    toJSON=0A=
  });=0A=
=0A=
  var CONCAT_ARGUMENTS_BUGGY =3D (function() {=0A=
    return [].concat(arguments)[0][0] !=3D=3D 1;=0A=
  })(1,2)=0A=
=0A=
  if (CONCAT_ARGUMENTS_BUGGY) arrayProto.concat =3D concat;=0A=
=0A=
  if (!arrayProto.indexOf) arrayProto.indexOf =3D indexOf;=0A=
  if (!arrayProto.lastIndexOf) arrayProto.lastIndexOf =3D lastIndexOf;=0A=
})();=0A=
function $H(object) {=0A=
  return new Hash(object);=0A=
};=0A=
=0A=
var Hash =3D Class.create(Enumerable, (function() {=0A=
  function initialize(object) {=0A=
    this._object =3D Object.isHash(object) ? object.toObject() : =
Object.clone(object);=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    for (var key in this._object) {=0A=
      var value =3D this._object[key], pair =3D [key, value];=0A=
      pair.key =3D key;=0A=
      pair.value =3D value;=0A=
      iterator(pair);=0A=
    }=0A=
  }=0A=
=0A=
  function set(key, value) {=0A=
    return this._object[key] =3D value;=0A=
  }=0A=
=0A=
  function get(key) {=0A=
    if (this._object[key] !=3D=3D Object.prototype[key])=0A=
      return this._object[key];=0A=
  }=0A=
=0A=
  function unset(key) {=0A=
    var value =3D this._object[key];=0A=
    delete this._object[key];=0A=
    return value;=0A=
  }=0A=
=0A=
  function toObject() {=0A=
    return Object.clone(this._object);=0A=
  }=0A=
=0A=
  function keys() {=0A=
    return this.pluck('key');=0A=
  }=0A=
=0A=
  function values() {=0A=
    return this.pluck('value');=0A=
  }=0A=
=0A=
  function index(value) {=0A=
    var match =3D this.detect(function(pair) {=0A=
      return pair.value =3D=3D=3D value;=0A=
    });=0A=
    return match && match.key;=0A=
  }=0A=
=0A=
  function merge(object) {=0A=
    return this.clone().update(object);=0A=
  }=0A=
=0A=
  function update(object) {=0A=
    return new Hash(object).inject(this, function(result, pair) {=0A=
      result.set(pair.key, pair.value);=0A=
      return result;=0A=
    });=0A=
  }=0A=
=0A=
  function toQueryPair(key, value) {=0A=
    if (Object.isUndefined(value)) return key;=0A=
    return key + '=3D' + encodeURIComponent(String.interpret(value));=0A=
  }=0A=
=0A=
  function toQueryString() {=0A=
    return this.inject([], function(results, pair) {=0A=
      var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A=
=0A=
      if (values && typeof values =3D=3D 'object') {=0A=
        if (Object.isArray(values))=0A=
          return results.concat(values.map(toQueryPair.curry(key)));=0A=
      } else results.push(toQueryPair(key, values));=0A=
      return results;=0A=
    }).join('&');=0A=
  }=0A=
=0A=
  function inspect() {=0A=
    return '#<Hash:{' + this.map(function(pair) {=0A=
      return pair.map(Object.inspect).join(': ');=0A=
    }).join(', ') + '}>';=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return Object.toJSON(this.toObject());=0A=
  }=0A=
=0A=
  function clone() {=0A=
    return new Hash(this);=0A=
  }=0A=
=0A=
  return {=0A=
    initialize:             initialize,=0A=
    _each:                  _each,=0A=
    set:                    set,=0A=
    get:                    get,=0A=
    unset:                  unset,=0A=
    toObject:               toObject,=0A=
    toTemplateReplacements: toObject,=0A=
    keys:                   keys,=0A=
    values:                 values,=0A=
    index:                  index,=0A=
    merge:                  merge,=0A=
    update:                 update,=0A=
    toQueryString:          toQueryString,=0A=
    inspect:                inspect,=0A=
    toJSON:                 toJSON,=0A=
    clone:                  clone=0A=
  };=0A=
})());=0A=
=0A=
Hash.from =3D $H;=0A=
Object.extend(Number.prototype, (function() {=0A=
  function toColorPart() {=0A=
    return this.toPaddedString(2, 16);=0A=
  }=0A=
=0A=
  function succ() {=0A=
    return this + 1;=0A=
  }=0A=
=0A=
  function times(iterator, context) {=0A=
    $R(0, this, true).each(iterator, context);=0A=
    return this;=0A=
  }=0A=
=0A=
  function toPaddedString(length, radix) {=0A=
    var string =3D this.toString(radix || 10);=0A=
    return '0'.times(length - string.length) + string;=0A=
  }=0A=
=0A=
  function toJSON() {=0A=
    return isFinite(this) ? this.toString() : 'null';=0A=
  }=0A=
=0A=
  function abs() {=0A=
    return Math.abs(this);=0A=
  }=0A=
=0A=
  function round() {=0A=
    return Math.round(this);=0A=
  }=0A=
=0A=
  function ceil() {=0A=
    return Math.ceil(this);=0A=
  }=0A=
=0A=
  function floor() {=0A=
    return Math.floor(this);=0A=
  }=0A=
=0A=
  return {=0A=
    toColorPart:    toColorPart,=0A=
    succ:           succ,=0A=
    times:          times,=0A=
    toPaddedString: toPaddedString,=0A=
    toJSON:         toJSON,=0A=
    abs:            abs,=0A=
    round:          round,=0A=
    ceil:           ceil,=0A=
    floor:          floor=0A=
  };=0A=
})());=0A=
=0A=
function $R(start, end, exclusive) {=0A=
  return new ObjectRange(start, end, exclusive);=0A=
}=0A=
=0A=
var ObjectRange =3D Class.create(Enumerable, (function() {=0A=
  function initialize(start, end, exclusive) {=0A=
    this.start =3D start;=0A=
    this.end =3D end;=0A=
    this.exclusive =3D exclusive;=0A=
  }=0A=
=0A=
  function _each(iterator) {=0A=
    var value =3D this.start;=0A=
    while (this.include(value)) {=0A=
      iterator(value);=0A=
      value =3D value.succ();=0A=
    }=0A=
  }=0A=
=0A=
  function include(value) {=0A=
    if (value < this.start)=0A=
      return false;=0A=
    if (this.exclusive)=0A=
      return value < this.end;=0A=
    return value <=3D this.end;=0A=
  }=0A=
=0A=
  return {=0A=
    initialize: initialize,=0A=
    _each:      _each,=0A=
    include:    include=0A=
  };=0A=
})());=0A=
=0A=
=0A=
=0A=
var Ajax =3D {=0A=
  getTransport: function() {=0A=
    return Try.these(=0A=
      function() {return new XMLHttpRequest()},=0A=
      function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A=
      function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A=
    ) || false;=0A=
  },=0A=
=0A=
  activeRequestCount: 0=0A=
};=0A=
=0A=
Ajax.Responders =3D {=0A=
  responders: [],=0A=
=0A=
  _each: function(iterator) {=0A=
    this.responders._each(iterator);=0A=
  },=0A=
=0A=
  register: function(responder) {=0A=
    if (!this.include(responder))=0A=
      this.responders.push(responder);=0A=
  },=0A=
=0A=
  unregister: function(responder) {=0A=
    this.responders =3D this.responders.without(responder);=0A=
  },=0A=
=0A=
  dispatch: function(callback, request, transport, json) {=0A=
    this.each(function(responder) {=0A=
      if (Object.isFunction(responder[callback])) {=0A=
        try {=0A=
          responder[callback].apply(responder, [request, transport, =
json]);=0A=
        } catch (e) { }=0A=
      }=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Ajax.Responders, Enumerable);=0A=
=0A=
Ajax.Responders.register({=0A=
  onCreate:   function() { Ajax.activeRequestCount++ },=0A=
  onComplete: function() { Ajax.activeRequestCount-- }=0A=
});=0A=
Ajax.Base =3D Class.create({=0A=
  initialize: function(options) {=0A=
    this.options =3D {=0A=
      method:       'post',=0A=
      asynchronous: true,=0A=
      contentType:  'application/x-www-form-urlencoded',=0A=
      encoding:     'UTF-8',=0A=
      parameters:   '',=0A=
      evalJSON:     true,=0A=
      evalJS:       true=0A=
    };=0A=
    Object.extend(this.options, options || { });=0A=
=0A=
    this.options.method =3D this.options.method.toLowerCase();=0A=
=0A=
    if (Object.isString(this.options.parameters))=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=0A=
    else if (Object.isHash(this.options.parameters))=0A=
      this.options.parameters =3D this.options.parameters.toObject();=0A=
  }=0A=
});=0A=
Ajax.Request =3D Class.create(Ajax.Base, {=0A=
  _complete: false,=0A=
=0A=
  initialize: function($super, url, options) {=0A=
    $super(options);=0A=
    this.transport =3D Ajax.getTransport();=0A=
    this.request(url);=0A=
  },=0A=
=0A=
  request: function(url) {=0A=
    this.url =3D url;=0A=
    this.method =3D this.options.method;=0A=
    var params =3D Object.clone(this.options.parameters);=0A=
=0A=
    if (!['get', 'post'].include(this.method)) {=0A=
      params['_method'] =3D this.method;=0A=
      this.method =3D 'post';=0A=
    }=0A=
=0A=
    this.parameters =3D params;=0A=
=0A=
    if (params =3D Object.toQueryString(params)) {=0A=
      if (this.method =3D=3D 'get')=0A=
        this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A=
      else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A=
        params +=3D '&_=3D';=0A=
    }=0A=
=0A=
    try {=0A=
      var response =3D new Ajax.Response(this);=0A=
      if (this.options.onCreate) this.options.onCreate(response);=0A=
      Ajax.Responders.dispatch('onCreate', this, response);=0A=
=0A=
      this.transport.open(this.method.toUpperCase(), this.url,=0A=
        this.options.asynchronous);=0A=
=0A=
      if (this.options.asynchronous) =
this.respondToReadyState.bind(this).defer(1);=0A=
=0A=
      this.transport.onreadystatechange =3D =
this.onStateChange.bind(this);=0A=
      this.setRequestHeaders();=0A=
=0A=
      this.body =3D this.method =3D=3D 'post' ? (this.options.postBody =
|| params) : null;=0A=
      this.transport.send(this.body);=0A=
=0A=
      /* Force Firefox to handle ready state 4 for synchronous requests =
*/=0A=
      if (!this.options.asynchronous && this.transport.overrideMimeType)=0A=
        this.onStateChange();=0A=
=0A=
    }=0A=
    catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  onStateChange: function() {=0A=
    var readyState =3D this.transport.readyState;=0A=
    if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A=
      this.respondToReadyState(this.transport.readyState);=0A=
  },=0A=
=0A=
  setRequestHeaders: function() {=0A=
    var headers =3D {=0A=
      'X-Requested-With': 'XMLHttpRequest',=0A=
      'X-Prototype-Version': Prototype.Version,=0A=
      'Accept': 'text/javascript, text/html, application/xml, text/xml, =
*/*'=0A=
    };=0A=
=0A=
    if (this.method =3D=3D 'post') {=0A=
      headers['Content-type'] =3D this.options.contentType +=0A=
        (this.options.encoding ? '; charset=3D' + this.options.encoding =
: '');=0A=
=0A=
      /* Force "Connection: close" for older Mozilla browsers to work=0A=
       * around a bug where XMLHttpRequest sends an incorrect=0A=
       * Content-length header. See Mozilla Bugzilla #246651.=0A=
       */=0A=
      if (this.transport.overrideMimeType &&=0A=
          (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < =
2005)=0A=
            headers['Connection'] =3D 'close';=0A=
    }=0A=
=0A=
    if (typeof this.options.requestHeaders =3D=3D 'object') {=0A=
      var extras =3D this.options.requestHeaders;=0A=
=0A=
      if (Object.isFunction(extras.push))=0A=
        for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A=
          headers[extras[i]] =3D extras[i+1];=0A=
      else=0A=
        $H(extras).each(function(pair) { headers[pair.key] =3D =
pair.value });=0A=
    }=0A=
=0A=
    for (var name in headers)=0A=
      this.transport.setRequestHeader(name, headers[name]);=0A=
  },=0A=
=0A=
  success: function() {=0A=
    var status =3D this.getStatus();=0A=
    return !status || (status >=3D 200 && status < 300);=0A=
  },=0A=
=0A=
  getStatus: function() {=0A=
    try {=0A=
      return this.transport.status || 0;=0A=
    } catch (e) { return 0 }=0A=
  },=0A=
=0A=
  respondToReadyState: function(readyState) {=0A=
    var state =3D Ajax.Request.Events[readyState], response =3D new =
Ajax.Response(this);=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      try {=0A=
        this._complete =3D true;=0A=
        (this.options['on' + response.status]=0A=
         || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A=
         || Prototype.emptyFunction)(response, response.headerJSON);=0A=
      } catch (e) {=0A=
        this.dispatchException(e);=0A=
      }=0A=
=0A=
      var contentType =3D response.getHeader('Content-type');=0A=
      if (this.options.evalJS =3D=3D 'force'=0A=
          || (this.options.evalJS && this.isSameOrigin() && contentType=0A=
          && =
contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s=
*$/i)))=0A=
        this.evalResponse();=0A=
    }=0A=
=0A=
    try {=0A=
      (this.options['on' + state] || Prototype.emptyFunction)(response, =
response.headerJSON);=0A=
      Ajax.Responders.dispatch('on' + state, this, response, =
response.headerJSON);=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
=0A=
    if (state =3D=3D 'Complete') {=0A=
      this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A=
    }=0A=
  },=0A=
=0A=
  isSameOrigin: function() {=0A=
    var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A=
    return !m || (m[0] =3D=3D =
'#{protocol}//#{domain}#{port}'.interpolate({=0A=
      protocol: location.protocol,=0A=
      domain: document.domain,=0A=
      port: location.port ? ':' + location.port : ''=0A=
    }));=0A=
  },=0A=
=0A=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name) || null;=0A=
    } catch (e) { return null; }=0A=
  },=0A=
=0A=
  evalResponse: function() {=0A=
    try {=0A=
      return eval((this.transport.responseText || '').unfilterJSON());=0A=
    } catch (e) {=0A=
      this.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  dispatchException: function(exception) {=0A=
    (this.options.onException || Prototype.emptyFunction)(this, =
exception);=0A=
    Ajax.Responders.dispatch('onException', this, exception);=0A=
  }=0A=
});=0A=
=0A=
Ajax.Request.Events =3D=0A=
  ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
=0A=
Ajax.Response =3D Class.create({=0A=
  initialize: function(request){=0A=
    this.request =3D request;=0A=
    var transport  =3D this.transport  =3D request.transport,=0A=
        readyState =3D this.readyState =3D transport.readyState;=0A=
=0A=
    if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) =
{=0A=
      this.status       =3D this.getStatus();=0A=
      this.statusText   =3D this.getStatusText();=0A=
      this.responseText =3D String.interpret(transport.responseText);=0A=
      this.headerJSON   =3D this._getHeaderJSON();=0A=
    }=0A=
=0A=
    if(readyState =3D=3D 4) {=0A=
      var xml =3D transport.responseXML;=0A=
      this.responseXML  =3D Object.isUndefined(xml) ? null : xml;=0A=
      this.responseJSON =3D this._getResponseJSON();=0A=
    }=0A=
  },=0A=
=0A=
  status:      0,=0A=
=0A=
  statusText: '',=0A=
=0A=
  getStatus: Ajax.Request.prototype.getStatus,=0A=
=0A=
  getStatusText: function() {=0A=
    try {=0A=
      return this.transport.statusText || '';=0A=
    } catch (e) { return '' }=0A=
  },=0A=
=0A=
  getHeader: Ajax.Request.prototype.getHeader,=0A=
=0A=
  getAllHeaders: function() {=0A=
    try {=0A=
      return this.getAllResponseHeaders();=0A=
    } catch (e) { return null }=0A=
  },=0A=
=0A=
  getResponseHeader: function(name) {=0A=
    return this.transport.getResponseHeader(name);=0A=
  },=0A=
=0A=
  getAllResponseHeaders: function() {=0A=
    return this.transport.getAllResponseHeaders();=0A=
  },=0A=
=0A=
  _getHeaderJSON: function() {=0A=
    var json =3D this.getHeader('X-JSON');=0A=
    if (!json) return null;=0A=
    json =3D decodeURIComponent(escape(json));=0A=
    try {=0A=
      return json.evalJSON(this.request.options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  },=0A=
=0A=
  _getResponseJSON: function() {=0A=
    var options =3D this.request.options;=0A=
    if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A=
      !(this.getHeader('Content-type') || =
'').include('application/json')) ||=0A=
        this.responseText.blank())=0A=
          return null;=0A=
    try {=0A=
      return this.responseText.evalJSON(options.sanitizeJSON ||=0A=
        !this.request.isSameOrigin());=0A=
    } catch (e) {=0A=
      this.request.dispatchException(e);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.Updater =3D Class.create(Ajax.Request, {=0A=
  initialize: function($super, container, url, options) {=0A=
    this.container =3D {=0A=
      success: (container.success || container),=0A=
      failure: (container.failure || (container.success ? null : =
container))=0A=
    };=0A=
=0A=
    options =3D Object.clone(options);=0A=
    var onComplete =3D options.onComplete;=0A=
    options.onComplete =3D (function(response, json) {=0A=
      this.updateContent(response.responseText);=0A=
      if (Object.isFunction(onComplete)) onComplete(response, json);=0A=
    }).bind(this);=0A=
=0A=
    $super(url, options);=0A=
  },=0A=
=0A=
  updateContent: function(responseText) {=0A=
    var receiver =3D this.container[this.success() ? 'success' : =
'failure'],=0A=
        options =3D this.options;=0A=
=0A=
    if (!options.evalScripts) responseText =3D =
responseText.stripScripts();=0A=
=0A=
    if (receiver =3D $(receiver)) {=0A=
      if (options.insertion) {=0A=
        if (Object.isString(options.insertion)) {=0A=
          var insertion =3D { }; insertion[options.insertion] =3D =
responseText;=0A=
          receiver.insert(insertion);=0A=
        }=0A=
        else options.insertion(receiver, responseText);=0A=
      }=0A=
      else receiver.update(responseText);=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A=
  initialize: function($super, container, url, options) {=0A=
    $super(options);=0A=
    this.onComplete =3D this.options.onComplete;=0A=
=0A=
    this.frequency =3D (this.options.frequency || 2);=0A=
    this.decay =3D (this.options.decay || 1);=0A=
=0A=
    this.updater =3D { };=0A=
    this.container =3D container;=0A=
    this.url =3D url;=0A=
=0A=
    this.start();=0A=
  },=0A=
=0A=
  start: function() {=0A=
    this.options.onComplete =3D this.updateComplete.bind(this);=0A=
    this.onTimerEvent();=0A=
  },=0A=
=0A=
  stop: function() {=0A=
    this.updater.options.onComplete =3D undefined;=0A=
    clearTimeout(this.timer);=0A=
    (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A=
  },=0A=
=0A=
  updateComplete: function(response) {=0A=
    if (this.options.decay) {=0A=
      this.decay =3D (response.responseText =3D=3D this.lastText ?=0A=
        this.decay * this.options.decay : 1);=0A=
=0A=
      this.lastText =3D response.responseText;=0A=
    }=0A=
    this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * =
this.frequency);=0A=
  },=0A=
=0A=
  onTimerEvent: function() {=0A=
    this.updater =3D new Ajax.Updater(this.container, this.url, =
this.options);=0A=
  }=0A=
});=0A=
=0A=
=0A=
=0A=
function $(element) {=0A=
  if (arguments.length > 1) {=0A=
    for (var i =3D 0, elements =3D [], length =3D arguments.length; i < =
length; i++)=0A=
      elements.push($(arguments[i]));=0A=
    return elements;=0A=
  }=0A=
  if (Object.isString(element))=0A=
    element =3D document.getElementById(element);=0A=
  return Element.extend(element);=0A=
}=0A=
=0A=
if (Prototype.BrowserFeatures.XPath) {=0A=
  document._getElementsByXPath =3D function(expression, parentElement) {=0A=
    var results =3D [];=0A=
    var query =3D document.evaluate(expression, $(parentElement) || =
document,=0A=
      null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
    for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A=
      results.push(Element.extend(query.snapshotItem(i)));=0A=
    return results;=0A=
  };=0A=
}=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!window.Node) var Node =3D { };=0A=
=0A=
if (!Node.ELEMENT_NODE) {=0A=
  Object.extend(Node, {=0A=
    ELEMENT_NODE: 1,=0A=
    ATTRIBUTE_NODE: 2,=0A=
    TEXT_NODE: 3,=0A=
    CDATA_SECTION_NODE: 4,=0A=
    ENTITY_REFERENCE_NODE: 5,=0A=
    ENTITY_NODE: 6,=0A=
    PROCESSING_INSTRUCTION_NODE: 7,=0A=
    COMMENT_NODE: 8,=0A=
    DOCUMENT_NODE: 9,=0A=
    DOCUMENT_TYPE_NODE: 10,=0A=
    DOCUMENT_FRAGMENT_NODE: 11,=0A=
    NOTATION_NODE: 12=0A=
  });=0A=
}=0A=
=0A=
=0A=
(function(global) {=0A=
=0A=
  var SETATTRIBUTE_IGNORES_NAME =3D (function(){=0A=
    var elForm =3D document.createElement("form");=0A=
    var elInput =3D document.createElement("input");=0A=
    var root =3D document.documentElement;=0A=
    elInput.setAttribute("name", "test");=0A=
    elForm.appendChild(elInput);=0A=
    root.appendChild(elForm);=0A=
    var isBuggy =3D elForm.elements=0A=
      ? (typeof elForm.elements.test =3D=3D "undefined")=0A=
      : null;=0A=
    root.removeChild(elForm);=0A=
    elForm =3D elInput =3D null;=0A=
    return isBuggy;=0A=
  })();=0A=
=0A=
  var element =3D global.Element;=0A=
  global.Element =3D function(tagName, attributes) {=0A=
    attributes =3D attributes || { };=0A=
    tagName =3D tagName.toLowerCase();=0A=
    var cache =3D Element.cache;=0A=
    if (SETATTRIBUTE_IGNORES_NAME && attributes.name) {=0A=
      tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A=
      delete attributes.name;=0A=
      return Element.writeAttribute(document.createElement(tagName), =
attributes);=0A=
    }=0A=
    if (!cache[tagName]) cache[tagName] =3D =
Element.extend(document.createElement(tagName));=0A=
    return Element.writeAttribute(cache[tagName].cloneNode(false), =
attributes);=0A=
  };=0A=
  Object.extend(global.Element, element || { });=0A=
  if (element) global.Element.prototype =3D element.prototype;=0A=
})(this);=0A=
=0A=
Element.cache =3D { };=0A=
Element.idCounter =3D 1;=0A=
=0A=
Element.Methods =3D {=0A=
  visible: function(element) {=0A=
    return $(element).style.display !=3D 'none';=0A=
  },=0A=
=0A=
  toggle: function(element) {=0A=
    element =3D $(element);=0A=
    Element[Element.visible(element) ? 'hide' : 'show'](element);=0A=
    return element;=0A=
  },=0A=
=0A=
=0A=
  hide: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(element) {=0A=
    element =3D $(element);=0A=
    element.style.display =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  remove: function(element) {=0A=
    element =3D $(element);=0A=
    element.parentNode.removeChild(element);=0A=
    return element;=0A=
  },=0A=
=0A=
  update: (function(){=0A=
=0A=
    var SELECT_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      var el =3D document.createElement("select"),=0A=
          isBuggy =3D true;=0A=
      el.innerHTML =3D "<option value=3D\"test\">test</option>";=0A=
      if (el.options && el.options[0]) {=0A=
        isBuggy =3D el.options[0].nodeName.toUpperCase() !=3D=3D =
"OPTION";=0A=
      }=0A=
      el =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    var TABLE_ELEMENT_INNERHTML_BUGGY =3D (function(){=0A=
      try {=0A=
        var el =3D document.createElement("table");=0A=
        if (el && el.tBodies) {=0A=
          el.innerHTML =3D "<tbody><tr><td>test</td></tr></tbody>";=0A=
          var isBuggy =3D typeof el.tBodies[0] =3D=3D "undefined";=0A=
          el =3D null;=0A=
          return isBuggy;=0A=
        }=0A=
      } catch (e) {=0A=
        return true;=0A=
      }=0A=
    })();=0A=
=0A=
    var SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING =3D (function () {=0A=
      var s =3D document.createElement("script"),=0A=
          isBuggy =3D false;=0A=
      try {=0A=
        s.appendChild(document.createTextNode(""));=0A=
        isBuggy =3D !s.firstChild ||=0A=
          s.firstChild && s.firstChild.nodeType !=3D=3D 3;=0A=
      } catch (e) {=0A=
        isBuggy =3D true;=0A=
      }=0A=
      s =3D null;=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    function update(element, content) {=0A=
      element =3D $(element);=0A=
=0A=
      if (content && content.toElement)=0A=
        content =3D content.toElement();=0A=
=0A=
      if (Object.isElement(content))=0A=
        return element.update().insert(content);=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      var tagName =3D element.tagName.toUpperCase();=0A=
=0A=
      if (tagName =3D=3D=3D 'SCRIPT' && =
SCRIPT_ELEMENT_REJECTS_TEXTNODE_APPENDING) {=0A=
        element.text =3D content;=0A=
        return element;=0A=
      }=0A=
=0A=
      if (SELECT_ELEMENT_INNERHTML_BUGGY || =
TABLE_ELEMENT_INNERHTML_BUGGY) {=0A=
        if (tagName in Element._insertionTranslations.tags) {=0A=
          while (element.firstChild) {=0A=
            element.removeChild(element.firstChild);=0A=
          }=0A=
          Element._getContentFromAnonymousElement(tagName, =
content.stripScripts())=0A=
            .each(function(node) {=0A=
              element.appendChild(node)=0A=
            });=0A=
        }=0A=
        else {=0A=
          element.innerHTML =3D content.stripScripts();=0A=
        }=0A=
      }=0A=
      else {=0A=
        element.innerHTML =3D content.stripScripts();=0A=
      }=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
      return element;=0A=
    }=0A=
=0A=
    return update;=0A=
  })(),=0A=
=0A=
  replace: function(element, content) {=0A=
    element =3D $(element);=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    else if (!Object.isElement(content)) {=0A=
      content =3D Object.toHTML(content);=0A=
      var range =3D element.ownerDocument.createRange();=0A=
      range.selectNode(element);=0A=
      content.evalScripts.bind(content).defer();=0A=
      content =3D range.createContextualFragment(content.stripScripts());=0A=
    }=0A=
    element.parentNode.replaceChild(content, element);=0A=
    return element;=0A=
  },=0A=
=0A=
  insert: function(element, insertions) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A=
        Object.isElement(insertions) || (insertions && =
(insertions.toElement || insertions.toHTML)))=0A=
          insertions =3D {bottom:insertions};=0A=
=0A=
    var content, insert, tagName, childNodes;=0A=
=0A=
    for (var position in insertions) {=0A=
      content  =3D insertions[position];=0A=
      position =3D position.toLowerCase();=0A=
      insert =3D Element._insertionTranslations[position];=0A=
=0A=
      if (content && content.toElement) content =3D content.toElement();=0A=
      if (Object.isElement(content)) {=0A=
        insert(element, content);=0A=
        continue;=0A=
      }=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A=
        ? element.parentNode : element).tagName.toUpperCase();=0A=
=0A=
      childNodes =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
=0A=
      if (position =3D=3D 'top' || position =3D=3D 'after') =
childNodes.reverse();=0A=
      childNodes.each(insert.curry(element));=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  wrap: function(element, wrapper, attributes) {=0A=
    element =3D $(element);=0A=
    if (Object.isElement(wrapper))=0A=
      $(wrapper).writeAttribute(attributes || { });=0A=
    else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, =
attributes);=0A=
    else wrapper =3D new Element('div', wrapper);=0A=
    if (element.parentNode)=0A=
      element.parentNode.replaceChild(wrapper, element);=0A=
    wrapper.appendChild(element);=0A=
    return wrapper;=0A=
  },=0A=
=0A=
  inspect: function(element) {=0A=
    element =3D $(element);=0A=
    var result =3D '<' + element.tagName.toLowerCase();=0A=
    $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A=
      var property =3D pair.first(), attribute =3D pair.last();=0A=
      var value =3D (element[property] || '').toString();=0A=
      if (value) result +=3D ' ' + attribute + '=3D' + =
value.inspect(true);=0A=
    });=0A=
    return result + '>';=0A=
  },=0A=
=0A=
  recursivelyCollect: function(element, property) {=0A=
    element =3D $(element);=0A=
    var elements =3D [];=0A=
    while (element =3D element[property])=0A=
      if (element.nodeType =3D=3D 1)=0A=
        elements.push(Element.extend(element));=0A=
    return elements;=0A=
  },=0A=
=0A=
  ancestors: function(element) {=0A=
    return Element.recursivelyCollect(element, 'parentNode');=0A=
  },=0A=
=0A=
  descendants: function(element) {=0A=
    return Element.select(element, "*");=0A=
  },=0A=
=0A=
  firstDescendant: function(element) {=0A=
    element =3D $(element).firstChild;=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    return $(element);=0A=
  },=0A=
=0A=
  immediateDescendants: function(element) {=0A=
    if (!(element =3D $(element).firstChild)) return [];=0A=
    while (element && element.nodeType !=3D 1) element =3D =
element.nextSibling;=0A=
    if (element) return [element].concat($(element).nextSiblings());=0A=
    return [];=0A=
  },=0A=
=0A=
  previousSiblings: function(element) {=0A=
    return Element.recursivelyCollect(element, 'previousSibling');=0A=
  },=0A=
=0A=
  nextSiblings: function(element) {=0A=
    return Element.recursivelyCollect(element, 'nextSibling');=0A=
  },=0A=
=0A=
  siblings: function(element) {=0A=
    element =3D $(element);=0A=
    return Element.previousSiblings(element).reverse()=0A=
      .concat(Element.nextSiblings(element));=0A=
  },=0A=
=0A=
  match: function(element, selector) {=0A=
    if (Object.isString(selector))=0A=
      selector =3D new Selector(selector);=0A=
    return selector.match($(element));=0A=
  },=0A=
=0A=
  up: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return $(element.parentNode);=0A=
    var ancestors =3D Element.ancestors(element);=0A=
    return Object.isNumber(expression) ? ancestors[expression] :=0A=
      Selector.findElement(ancestors, expression, index);=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
Element.firstDescendant(element);=0A=
    return Object.isNumber(expression) ? =
Element.descendants(element)[expression] :=0A=
      Element.select(element, expression)[index || 0];=0A=
  },=0A=
=0A=
  previous: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.previousElementSibling(element));=0A=
    var previousSiblings =3D Element.previousSiblings(element);=0A=
    return Object.isNumber(expression) ? previousSiblings[expression] :=0A=
      Selector.findElement(previousSiblings, expression, index);=0A=
  },=0A=
=0A=
  next: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return =
$(Selector.handlers.nextElementSibling(element));=0A=
    var nextSiblings =3D Element.nextSiblings(element);=0A=
    return Object.isNumber(expression) ? nextSiblings[expression] :=0A=
      Selector.findElement(nextSiblings, expression, index);=0A=
  },=0A=
=0A=
=0A=
  select: function(element) {=0A=
    var args =3D Array.prototype.slice.call(arguments, 1);=0A=
    return Selector.findChildElements(element, args);=0A=
  },=0A=
=0A=
  adjacent: function(element) {=0A=
    var args =3D Array.prototype.slice.call(arguments, 1);=0A=
    return Selector.findChildElements(element.parentNode, =
args).without(element);=0A=
  },=0A=
=0A=
  identify: function(element) {=0A=
    element =3D $(element);=0A=
    var id =3D Element.readAttribute(element, 'id');=0A=
    if (id) return id;=0A=
    do { id =3D 'anonymous_element_' + Element.idCounter++ } while =
($(id));=0A=
    Element.writeAttribute(element, 'id', id);=0A=
    return id;=0A=
  },=0A=
=0A=
  readAttribute: function(element, name) {=0A=
    element =3D $(element);=0A=
    if (Prototype.Browser.IE) {=0A=
      var t =3D Element._attributeTranslations.read;=0A=
      if (t.values[name]) return t.values[name](element, name);=0A=
      if (t.names[name]) name =3D t.names[name];=0A=
      if (name.include(':')) {=0A=
        return (!element.attributes || !element.attributes[name]) ? null =
:=0A=
         element.attributes[name].value;=0A=
      }=0A=
    }=0A=
    return element.getAttribute(name);=0A=
  },=0A=
=0A=
  writeAttribute: function(element, name, value) {=0A=
    element =3D $(element);=0A=
    var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A=
=0A=
    if (typeof name =3D=3D 'object') attributes =3D name;=0A=
    else attributes[name] =3D Object.isUndefined(value) ? true : value;=0A=
=0A=
    for (var attr in attributes) {=0A=
      name =3D t.names[attr] || attr;=0A=
      value =3D attributes[attr];=0A=
      if (t.values[attr]) name =3D t.values[attr](element, value);=0A=
      if (value =3D=3D=3D false || value =3D=3D=3D null)=0A=
        element.removeAttribute(name);=0A=
      else if (value =3D=3D=3D true)=0A=
        element.setAttribute(name, name);=0A=
      else element.setAttribute(name, value);=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  getHeight: function(element) {=0A=
    return Element.getDimensions(element).height;=0A=
  },=0A=
=0A=
  getWidth: function(element) {=0A=
    return Element.getDimensions(element).width;=0A=
  },=0A=
=0A=
  classNames: function(element) {=0A=
    return new Element.ClassNames(element);=0A=
  },=0A=
=0A=
  hasClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var elementClassName =3D element.className;=0A=
    return (elementClassName.length > 0 && (elementClassName =3D=3D =
className ||=0A=
      new RegExp("(^|\\s)" + className + =
"(\\s|$)").test(elementClassName)));=0A=
  },=0A=
=0A=
  addClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    if (!Element.hasClassName(element, className))=0A=
      element.className +=3D (element.className ? ' ' : '') + className;=0A=
    return element;=0A=
  },=0A=
=0A=
  removeClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    element.className =3D element.className.replace(=0A=
      new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A=
    return element;=0A=
  },=0A=
=0A=
  toggleClassName: function(element, className) {=0A=
    if (!(element =3D $(element))) return;=0A=
    return Element[Element.hasClassName(element, className) ?=0A=
      'removeClassName' : 'addClassName'](element, className);=0A=
  },=0A=
=0A=
  cleanWhitespace: function(element) {=0A=
    element =3D $(element);=0A=
    var node =3D element.firstChild;=0A=
    while (node) {=0A=
      var nextNode =3D node.nextSibling;=0A=
      if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A=
        element.removeChild(node);=0A=
      node =3D nextNode;=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  empty: function(element) {=0A=
    return $(element).innerHTML.blank();=0A=
  },=0A=
=0A=
  descendantOf: function(element, ancestor) {=0A=
    element =3D $(element), ancestor =3D $(ancestor);=0A=
=0A=
    if (element.compareDocumentPosition)=0A=
      return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A=
=0A=
    if (ancestor.contains)=0A=
      return ancestor.contains(element) && ancestor !=3D=3D element;=0A=
=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=0A=
=0A=
    return false;=0A=
  },=0A=
=0A=
  scrollTo: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.cumulativeOffset(element);=0A=
    window.scrollTo(pos[0], pos[1]);=0A=
    return element;=0A=
  },=0A=
=0A=
  getStyle: function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value || value =3D=3D 'auto') {=0A=
      var css =3D document.defaultView.getComputedStyle(element, null);=0A=
      value =3D css ? css[style] : null;=0A=
    }=0A=
    if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A=
    return value =3D=3D 'auto' ? null : value;=0A=
  },=0A=
=0A=
  getOpacity: function(element) {=0A=
    return $(element).getStyle('opacity');=0A=
  },=0A=
=0A=
  setStyle: function(element, styles) {=0A=
    element =3D $(element);=0A=
    var elementStyle =3D element.style, match;=0A=
    if (Object.isString(styles)) {=0A=
      element.style.cssText +=3D ';' + styles;=0A=
      return styles.include('opacity') ?=0A=
        element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : =
element;=0A=
    }=0A=
    for (var property in styles)=0A=
      if (property =3D=3D 'opacity') =
element.setOpacity(styles[property]);=0A=
      else=0A=
        elementStyle[(property =3D=3D 'float' || property =3D=3D =
'cssFloat') ?=0A=
          (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : =
'styleFloat') :=0A=
            property] =3D styles[property];=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  setOpacity: function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  },=0A=
=0A=
  getDimensions: function(element) {=0A=
    element =3D $(element);=0A=
    var display =3D Element.getStyle(element, 'display');=0A=
    if (display !=3D 'none' && display !=3D null) // Safari bug=0A=
      return {width: element.offsetWidth, height: element.offsetHeight};=0A=
=0A=
    var els =3D element.style;=0A=
    var originalVisibility =3D els.visibility;=0A=
    var originalPosition =3D els.position;=0A=
    var originalDisplay =3D els.display;=0A=
    els.visibility =3D 'hidden';=0A=
    if (originalPosition !=3D 'fixed') // Switching fixed to absolute =
causes issues in Safari=0A=
      els.position =3D 'absolute';=0A=
    els.display =3D 'block';=0A=
    var originalWidth =3D element.clientWidth;=0A=
    var originalHeight =3D element.clientHeight;=0A=
    els.display =3D originalDisplay;=0A=
    els.position =3D originalPosition;=0A=
    els.visibility =3D originalVisibility;=0A=
    return {width: originalWidth, height: originalHeight};=0A=
  },=0A=
=0A=
  makePositioned: function(element) {=0A=
    element =3D $(element);=0A=
    var pos =3D Element.getStyle(element, 'position');=0A=
    if (pos =3D=3D 'static' || !pos) {=0A=
      element._madePositioned =3D true;=0A=
      element.style.position =3D 'relative';=0A=
      if (Prototype.Browser.Opera) {=0A=
        element.style.top =3D 0;=0A=
        element.style.left =3D 0;=0A=
      }=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  undoPositioned: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._madePositioned) {=0A=
      element._madePositioned =3D undefined;=0A=
      element.style.position =3D=0A=
        element.style.top =3D=0A=
        element.style.left =3D=0A=
        element.style.bottom =3D=0A=
        element.style.right =3D '';=0A=
    }=0A=
    return element;=0A=
  },=0A=
=0A=
  makeClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (element._overflow) return element;=0A=
    element._overflow =3D Element.getStyle(element, 'overflow') || =
'auto';=0A=
    if (element._overflow !=3D=3D 'hidden')=0A=
      element.style.overflow =3D 'hidden';=0A=
    return element;=0A=
  },=0A=
=0A=
  undoClipping: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element._overflow) return element;=0A=
    element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : =
element._overflow;=0A=
    element._overflow =3D null;=0A=
    return element;=0A=
  },=0A=
=0A=
  cumulativeOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  positionedOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      element =3D element.offsetParent;=0A=
      if (element) {=0A=
        if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p !=3D=3D 'static') break;=0A=
      }=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  absolutize: function(element) {=0A=
    element =3D $(element);=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') return =
element;=0A=
=0A=
    var offsets =3D Element.positionedOffset(element);=0A=
    var top     =3D offsets[1];=0A=
    var left    =3D offsets[0];=0A=
    var width   =3D element.clientWidth;=0A=
    var height  =3D element.clientHeight;=0A=
=0A=
    element._originalLeft   =3D left - parseFloat(element.style.left  || =
0);=0A=
    element._originalTop    =3D top  - parseFloat(element.style.top || =
0);=0A=
    element._originalWidth  =3D element.style.width;=0A=
    element._originalHeight =3D element.style.height;=0A=
=0A=
    element.style.position =3D 'absolute';=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.width  =3D width + 'px';=0A=
    element.style.height =3D height + 'px';=0A=
    return element;=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    element =3D $(element);=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'relative') return =
element;=0A=
=0A=
    element.style.position =3D 'relative';=0A=
    var top  =3D parseFloat(element.style.top  || 0) - =
(element._originalTop || 0);=0A=
    var left =3D parseFloat(element.style.left || 0) - =
(element._originalLeft || 0);=0A=
=0A=
    element.style.top    =3D top + 'px';=0A=
    element.style.left   =3D left + 'px';=0A=
    element.style.height =3D element._originalHeight;=0A=
    element.style.width  =3D element._originalWidth;=0A=
    return element;=0A=
  },=0A=
=0A=
  cumulativeScrollOffset: function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.scrollTop  || 0;=0A=
      valueL +=3D element.scrollLeft || 0;=0A=
      element =3D element.parentNode;=0A=
    } while (element);=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  getOffsetParent: function(element) {=0A=
    if (element.offsetParent) return $(element.offsetParent);=0A=
    if (element =3D=3D document.body) return $(element);=0A=
=0A=
    while ((element =3D element.parentNode) && element !=3D =
document.body)=0A=
      if (Element.getStyle(element, 'position') !=3D 'static')=0A=
        return $(element);=0A=
=0A=
    return $(document.body);=0A=
  },=0A=
=0A=
  viewportOffset: function(forElement) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
=0A=
    var element =3D forElement;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
=0A=
      if (element.offsetParent =3D=3D document.body &&=0A=
        Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A=
=0A=
    } while (element =3D element.offsetParent);=0A=
=0A=
    element =3D forElement;=0A=
    do {=0A=
      if (!Prototype.Browser.Opera || (element.tagName && =
(element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A=
        valueT -=3D element.scrollTop  || 0;=0A=
        valueL -=3D element.scrollLeft || 0;=0A=
      }=0A=
    } while (element =3D element.parentNode);=0A=
=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  },=0A=
=0A=
  clonePosition: function(element, source) {=0A=
    var options =3D Object.extend({=0A=
      setLeft:    true,=0A=
      setTop:     true,=0A=
      setWidth:   true,=0A=
      setHeight:  true,=0A=
      offsetTop:  0,=0A=
      offsetLeft: 0=0A=
    }, arguments[2] || { });=0A=
=0A=
    source =3D $(source);=0A=
    var p =3D Element.viewportOffset(source);=0A=
=0A=
    element =3D $(element);=0A=
    var delta =3D [0, 0];=0A=
    var parent =3D null;=0A=
    if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A=
      parent =3D Element.getOffsetParent(element);=0A=
      delta =3D Element.viewportOffset(parent);=0A=
    }=0A=
=0A=
    if (parent =3D=3D document.body) {=0A=
      delta[0] -=3D document.body.offsetLeft;=0A=
      delta[1] -=3D document.body.offsetTop;=0A=
    }=0A=
=0A=
    if (options.setLeft)   element.style.left  =3D (p[0] - delta[0] + =
options.offsetLeft) + 'px';=0A=
    if (options.setTop)    element.style.top   =3D (p[1] - delta[1] + =
options.offsetTop) + 'px';=0A=
    if (options.setWidth)  element.style.width =3D source.offsetWidth + =
'px';=0A=
    if (options.setHeight) element.style.height =3D source.offsetHeight =
+ 'px';=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.Methods, {=0A=
  getElementsBySelector: Element.Methods.select,=0A=
=0A=
  childElements: Element.Methods.immediateDescendants=0A=
});=0A=
=0A=
Element._attributeTranslations =3D {=0A=
  write: {=0A=
    names: {=0A=
      className: 'class',=0A=
      htmlFor:   'for'=0A=
    },=0A=
    values: { }=0A=
  }=0A=
};=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A=
    function(proceed, element, style) {=0A=
      switch (style) {=0A=
        case 'left': case 'top': case 'right': case 'bottom':=0A=
          if (proceed(element, 'position') =3D=3D=3D 'static') return =
null;=0A=
        case 'height': case 'width':=0A=
          if (!Element.visible(element)) return null;=0A=
=0A=
          var dim =3D parseInt(proceed(element, style), 10);=0A=
=0A=
          if (dim !=3D=3D element['offset' + style.capitalize()])=0A=
            return dim + 'px';=0A=
=0A=
          var properties;=0A=
          if (style =3D=3D=3D 'height') {=0A=
            properties =3D ['border-top-width', 'padding-top',=0A=
             'padding-bottom', 'border-bottom-width'];=0A=
          }=0A=
          else {=0A=
            properties =3D ['border-left-width', 'padding-left',=0A=
             'padding-right', 'border-right-width'];=0A=
          }=0A=
          return properties.inject(dim, function(memo, property) {=0A=
            var val =3D proceed(element, property);=0A=
            return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A=
          }) + 'px';=0A=
        default: return proceed(element, style);=0A=
      }=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A=
    function(proceed, element, attribute) {=0A=
      if (attribute =3D=3D=3D 'title') return element.title;=0A=
      return proceed(element, attribute);=0A=
    }=0A=
  );=0A=
}=0A=
=0A=
else if (Prototype.Browser.IE) {=0A=
  Element.Methods.getOffsetParent =3D =
Element.Methods.getOffsetParent.wrap(=0A=
    function(proceed, element) {=0A=
      element =3D $(element);=0A=
      try { element.offsetParent }=0A=
      catch(e) { return $(document.body) }=0A=
      var position =3D element.getStyle('position');=0A=
      if (position !=3D=3D 'static') return proceed(element);=0A=
      element.setStyle({ position: 'relative' });=0A=
      var value =3D proceed(element);=0A=
      element.setStyle({ position: position });=0A=
      return value;=0A=
    }=0A=
  );=0A=
=0A=
  $w('positionedOffset viewportOffset').each(function(method) {=0A=
    Element.Methods[method] =3D Element.Methods[method].wrap(=0A=
      function(proceed, element) {=0A=
        element =3D $(element);=0A=
        try { element.offsetParent }=0A=
        catch(e) { return Element._returnOffset(0,0) }=0A=
        var position =3D element.getStyle('position');=0A=
        if (position !=3D=3D 'static') return proceed(element);=0A=
        var offsetParent =3D element.getOffsetParent();=0A=
        if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D =
'fixed')=0A=
          offsetParent.setStyle({ zoom: 1 });=0A=
        element.setStyle({ position: 'relative' });=0A=
        var value =3D proceed(element);=0A=
        element.setStyle({ position: position });=0A=
        return value;=0A=
      }=0A=
    );=0A=
  });=0A=
=0A=
  Element.Methods.cumulativeOffset =3D =
Element.Methods.cumulativeOffset.wrap(=0A=
    function(proceed, element) {=0A=
      try { element.offsetParent }=0A=
      catch(e) { return Element._returnOffset(0,0) }=0A=
      return proceed(element);=0A=
    }=0A=
  );=0A=
=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    element =3D $(element);=0A=
    style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? =
'styleFloat' : style.camelize();=0A=
    var value =3D element.style[style];=0A=
    if (!value && element.currentStyle) value =3D =
element.currentStyle[style];=0A=
=0A=
    if (style =3D=3D 'opacity') {=0A=
      if (value =3D (element.getStyle('filter') || =
'').match(/alpha\(opacity=3D(.*)\)/))=0A=
        if (value[1]) return parseFloat(value[1]) / 100;=0A=
      return 1.0;=0A=
    }=0A=
=0A=
    if (value =3D=3D 'auto') {=0A=
      if ((style =3D=3D 'width' || style =3D=3D 'height') && =
(element.getStyle('display') !=3D 'none'))=0A=
        return element['offset' + style.capitalize()] + 'px';=0A=
      return null;=0A=
    }=0A=
    return value;=0A=
  };=0A=
=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    function stripAlpha(filter){=0A=
      return filter.replace(/alpha\([^\)]*\)/gi,'');=0A=
    }=0A=
    element =3D $(element);=0A=
    var currentStyle =3D element.currentStyle;=0A=
    if ((currentStyle && !currentStyle.hasLayout) ||=0A=
      (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A=
        element.style.zoom =3D 1;=0A=
=0A=
    var filter =3D element.getStyle('filter'), style =3D element.style;=0A=
    if (value =3D=3D 1 || value =3D=3D=3D '') {=0A=
      (filter =3D stripAlpha(filter)) ?=0A=
        style.filter =3D filter : style.removeAttribute('filter');=0A=
      return element;=0A=
    } else if (value < 0.00001) value =3D 0;=0A=
    style.filter =3D stripAlpha(filter) +=0A=
      'alpha(opacity=3D' + (value * 100) + ')';=0A=
    return element;=0A=
  };=0A=
=0A=
  Element._attributeTranslations =3D (function(){=0A=
=0A=
    var classProp =3D 'className';=0A=
    var forProp =3D 'for';=0A=
=0A=
    var el =3D document.createElement('div');=0A=
=0A=
    el.setAttribute(classProp, 'x');=0A=
=0A=
    if (el.className !=3D=3D 'x') {=0A=
      el.setAttribute('class', 'x');=0A=
      if (el.className =3D=3D=3D 'x') {=0A=
        classProp =3D 'class';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    el =3D document.createElement('label');=0A=
    el.setAttribute(forProp, 'x');=0A=
    if (el.htmlFor !=3D=3D 'x') {=0A=
      el.setAttribute('htmlFor', 'x');=0A=
      if (el.htmlFor =3D=3D=3D 'x') {=0A=
        forProp =3D 'htmlFor';=0A=
      }=0A=
    }=0A=
    el =3D null;=0A=
=0A=
    return {=0A=
      read: {=0A=
        names: {=0A=
          'class':      classProp,=0A=
          'className':  classProp,=0A=
          'for':        forProp,=0A=
          'htmlFor':    forProp=0A=
        },=0A=
        values: {=0A=
          _getAttr: function(element, attribute) {=0A=
            return element.getAttribute(attribute);=0A=
          },=0A=
          _getAttr2: function(element, attribute) {=0A=
            return element.getAttribute(attribute, 2);=0A=
          },=0A=
          _getAttrNode: function(element, attribute) {=0A=
            var node =3D element.getAttributeNode(attribute);=0A=
            return node ? node.value : "";=0A=
          },=0A=
          _getEv: (function(){=0A=
=0A=
            var el =3D document.createElement('div');=0A=
            el.onclick =3D Prototype.emptyFunction;=0A=
            var value =3D el.getAttribute('onclick');=0A=
            var f;=0A=
=0A=
            if (String(value).indexOf('{') > -1) {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                attribute =3D attribute.toString();=0A=
                attribute =3D attribute.split('{')[1];=0A=
                attribute =3D attribute.split('}')[0];=0A=
                return attribute.strip();=0A=
              };=0A=
            }=0A=
            else if (value =3D=3D=3D '') {=0A=
              f =3D function(element, attribute) {=0A=
                attribute =3D element.getAttribute(attribute);=0A=
                if (!attribute) return null;=0A=
                return attribute.strip();=0A=
              };=0A=
            }=0A=
            el =3D null;=0A=
            return f;=0A=
          })(),=0A=
          _flag: function(element, attribute) {=0A=
            return $(element).hasAttribute(attribute) ? attribute : null;=0A=
          },=0A=
          style: function(element) {=0A=
            return element.style.cssText.toLowerCase();=0A=
          },=0A=
          title: function(element) {=0A=
            return element.title;=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
  })();=0A=
=0A=
  Element._attributeTranslations.write =3D {=0A=
    names: Object.extend({=0A=
      cellpadding: 'cellPadding',=0A=
      cellspacing: 'cellSpacing'=0A=
    }, Element._attributeTranslations.read.names),=0A=
    values: {=0A=
      checked: function(element, value) {=0A=
        element.checked =3D !!value;=0A=
      },=0A=
=0A=
      style: function(element, value) {=0A=
        element.style.cssText =3D value ? value : '';=0A=
      }=0A=
    }=0A=
  };=0A=
=0A=
  Element._attributeTranslations.has =3D {};=0A=
=0A=
  $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A=
      'encType maxLength readOnly longDesc =
frameBorder').each(function(attr) {=0A=
    Element._attributeTranslations.write.names[attr.toLowerCase()] =3D =
attr;=0A=
    Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A=
  });=0A=
=0A=
  (function(v) {=0A=
    Object.extend(v, {=0A=
      href:        v._getAttr2,=0A=
      src:         v._getAttr2,=0A=
      type:        v._getAttr,=0A=
      action:      v._getAttrNode,=0A=
      disabled:    v._flag,=0A=
      checked:     v._flag,=0A=
      readonly:    v._flag,=0A=
      multiple:    v._flag,=0A=
      onload:      v._getEv,=0A=
      onunload:    v._getEv,=0A=
      onclick:     v._getEv,=0A=
      ondblclick:  v._getEv,=0A=
      onmousedown: v._getEv,=0A=
      onmouseup:   v._getEv,=0A=
      onmouseover: v._getEv,=0A=
      onmousemove: v._getEv,=0A=
      onmouseout:  v._getEv,=0A=
      onfocus:     v._getEv,=0A=
      onblur:      v._getEv,=0A=
      onkeypress:  v._getEv,=0A=
      onkeydown:   v._getEv,=0A=
      onkeyup:     v._getEv,=0A=
      onsubmit:    v._getEv,=0A=
      onreset:     v._getEv,=0A=
      onselect:    v._getEv,=0A=
      onchange:    v._getEv=0A=
    });=0A=
  })(Element._attributeTranslations.read.values);=0A=
=0A=
  if (Prototype.BrowserFeatures.ElementExtensions) {=0A=
    (function() {=0A=
      function _descendants(element) {=0A=
        var nodes =3D element.getElementsByTagName('*'), results =3D [];=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName !=3D=3D "!") // Filter out comment nodes.=0A=
            results.push(node);=0A=
        return results;=0A=
      }=0A=
=0A=
      Element.Methods.down =3D function(element, expression, index) {=0A=
        element =3D $(element);=0A=
        if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
        return Object.isNumber(expression) ? =
_descendants(element)[expression] :=0A=
          Element.select(element, expression)[index || 0];=0A=
      }=0A=
    })();=0A=
  }=0A=
=0A=
}=0A=
=0A=
else if (Prototype.Browser.Gecko && =
/rv:1\.8\.0/.test(navigator.userAgent)) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A=
      (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
else if (Prototype.Browser.WebKit) {=0A=
  Element.Methods.setOpacity =3D function(element, value) {=0A=
    element =3D $(element);=0A=
    element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? =
'' :=0A=
      (value < 0.00001) ? 0 : value;=0A=
=0A=
    if (value =3D=3D 1)=0A=
      if(element.tagName.toUpperCase() =3D=3D 'IMG' && element.width) {=0A=
        element.width++; element.width--;=0A=
      } else try {=0A=
        var n =3D document.createTextNode(' ');=0A=
        element.appendChild(n);=0A=
        element.removeChild(n);=0A=
      } catch (e) { }=0A=
=0A=
    return element;=0A=
  };=0A=
=0A=
  Element.Methods.cumulativeOffset =3D function(element) {=0A=
    var valueT =3D 0, valueL =3D 0;=0A=
    do {=0A=
      valueT +=3D element.offsetTop  || 0;=0A=
      valueL +=3D element.offsetLeft || 0;=0A=
      if (element.offsetParent =3D=3D document.body)=0A=
        if (Element.getStyle(element, 'position') =3D=3D 'absolute') =
break;=0A=
=0A=
      element =3D element.offsetParent;=0A=
    } while (element);=0A=
=0A=
    return Element._returnOffset(valueL, valueT);=0A=
  };=0A=
}=0A=
=0A=
if ('outerHTML' in document.documentElement) {=0A=
  Element.Methods.replace =3D function(element, content) {=0A=
    element =3D $(element);=0A=
=0A=
    if (content && content.toElement) content =3D content.toElement();=0A=
    if (Object.isElement(content)) {=0A=
      element.parentNode.replaceChild(content, element);=0A=
      return element;=0A=
    }=0A=
=0A=
    content =3D Object.toHTML(content);=0A=
    var parent =3D element.parentNode, tagName =3D =
parent.tagName.toUpperCase();=0A=
=0A=
    if (Element._insertionTranslations.tags[tagName]) {=0A=
      var nextSibling =3D element.next();=0A=
      var fragments =3D Element._getContentFromAnonymousElement(tagName, =
content.stripScripts());=0A=
      parent.removeChild(element);=0A=
      if (nextSibling)=0A=
        fragments.each(function(node) { parent.insertBefore(node, =
nextSibling) });=0A=
      else=0A=
        fragments.each(function(node) { parent.appendChild(node) });=0A=
    }=0A=
    else element.outerHTML =3D content.stripScripts();=0A=
=0A=
    content.evalScripts.bind(content).defer();=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
Element._returnOffset =3D function(l, t) {=0A=
  var result =3D [l, t];=0A=
  result.left =3D l;=0A=
  result.top =3D t;=0A=
  return result;=0A=
};=0A=
=0A=
Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A=
  var div =3D new Element('div'), t =3D =
Element._insertionTranslations.tags[tagName];=0A=
  if (t) {=0A=
    div.innerHTML =3D t[0] + html + t[1];=0A=
    t[2].times(function() { div =3D div.firstChild });=0A=
  } else div.innerHTML =3D html;=0A=
  return $A(div.childNodes);=0A=
};=0A=
=0A=
Element._insertionTranslations =3D {=0A=
  before: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element);=0A=
  },=0A=
  top: function(element, node) {=0A=
    element.insertBefore(node, element.firstChild);=0A=
  },=0A=
  bottom: function(element, node) {=0A=
    element.appendChild(node);=0A=
  },=0A=
  after: function(element, node) {=0A=
    element.parentNode.insertBefore(node, element.nextSibling);=0A=
  },=0A=
  tags: {=0A=
    TABLE:  ['<table>',                '</table>',                   1],=0A=
    TBODY:  ['<table><tbody>',         '</tbody></table>',           2],=0A=
    TR:     ['<table><tbody><tr>',     '</tr></tbody></table>',      3],=0A=
    TD:     ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],=0A=
    SELECT: ['<select>',               '</select>',                  1]=0A=
  }=0A=
};=0A=
=0A=
(function() {=0A=
  var tags =3D Element._insertionTranslations.tags;=0A=
  Object.extend(tags, {=0A=
    THEAD: tags.TBODY,=0A=
    TFOOT: tags.TBODY,=0A=
    TH:    tags.TD=0A=
  });=0A=
})();=0A=
=0A=
Element.Methods.Simulated =3D {=0A=
  hasAttribute: function(element, attribute) {=0A=
    attribute =3D Element._attributeTranslations.has[attribute] || =
attribute;=0A=
    var node =3D $(element).getAttributeNode(attribute);=0A=
    return !!(node && node.specified);=0A=
  }=0A=
};=0A=
=0A=
Element.Methods.ByTag =3D { };=0A=
=0A=
Object.extend(Element, Element.Methods);=0A=
=0A=
(function(div) {=0A=
=0A=
  if (!Prototype.BrowserFeatures.ElementExtensions && div['__proto__']) {=0A=
    window.HTMLElement =3D { };=0A=
    window.HTMLElement.prototype =3D div['__proto__'];=0A=
    Prototype.BrowserFeatures.ElementExtensions =3D true;=0A=
  }=0A=
=0A=
  div =3D null;=0A=
=0A=
})(document.createElement('div'))=0A=
=0A=
Element.extend =3D (function() {=0A=
=0A=
  function checkDeficiency(tagName) {=0A=
    if (typeof window.Element !=3D 'undefined') {=0A=
      var proto =3D window.Element.prototype;=0A=
      if (proto) {=0A=
        var id =3D '_' + (Math.random()+'').slice(2);=0A=
        var el =3D document.createElement(tagName);=0A=
        proto[id] =3D 'x';=0A=
        var isBuggy =3D (el[id] !=3D=3D 'x');=0A=
        delete proto[id];=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      }=0A=
    }=0A=
    return false;=0A=
  }=0A=
=0A=
  function extendElementWith(element, methods) {=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (Object.isFunction(value) && !(property in element))=0A=
        element[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  var HTMLOBJECTELEMENT_PROTOTYPE_BUGGY =3D checkDeficiency('object');=0A=
=0A=
  if (Prototype.BrowserFeatures.SpecificElementExtensions) {=0A=
    if (HTMLOBJECTELEMENT_PROTOTYPE_BUGGY) {=0A=
      return function(element) {=0A=
        if (element && typeof element._extendedByPrototype =3D=3D =
'undefined') {=0A=
          var t =3D element.tagName;=0A=
          if (t && (/^(?:object|applet|embed)$/i.test(t))) {=0A=
            extendElementWith(element, Element.Methods);=0A=
            extendElementWith(element, Element.Methods.Simulated);=0A=
            extendElementWith(element, =
Element.Methods.ByTag[t.toUpperCase()]);=0A=
          }=0A=
        }=0A=
        return element;=0A=
      }=0A=
    }=0A=
    return Prototype.K;=0A=
  }=0A=
=0A=
  var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A=
=0A=
  var extend =3D Object.extend(function(element) {=0A=
    if (!element || typeof element._extendedByPrototype !=3D 'undefined' =
||=0A=
        element.nodeType !=3D 1 || element =3D=3D window) return element;=0A=
=0A=
    var methods =3D Object.clone(Methods),=0A=
        tagName =3D element.tagName.toUpperCase();=0A=
=0A=
    if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A=
=0A=
    extendElementWith(element, methods);=0A=
=0A=
    element._extendedByPrototype =3D Prototype.emptyFunction;=0A=
    return element;=0A=
=0A=
  }, {=0A=
    refresh: function() {=0A=
      if (!Prototype.BrowserFeatures.ElementExtensions) {=0A=
        Object.extend(Methods, Element.Methods);=0A=
        Object.extend(Methods, Element.Methods.Simulated);=0A=
      }=0A=
    }=0A=
  });=0A=
=0A=
  extend.refresh();=0A=
  return extend;=0A=
})();=0A=
=0A=
Element.hasAttribute =3D function(element, attribute) {=0A=
  if (element.hasAttribute) return element.hasAttribute(attribute);=0A=
  return Element.Methods.Simulated.hasAttribute(element, attribute);=0A=
};=0A=
=0A=
Element.addMethods =3D function(methods) {=0A=
  var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A=
=0A=
  if (!methods) {=0A=
    Object.extend(Form, Form.Methods);=0A=
    Object.extend(Form.Element, Form.Element.Methods);=0A=
    Object.extend(Element.Methods.ByTag, {=0A=
      "FORM":     Object.clone(Form.Methods),=0A=
      "INPUT":    Object.clone(Form.Element.Methods),=0A=
      "SELECT":   Object.clone(Form.Element.Methods),=0A=
      "TEXTAREA": Object.clone(Form.Element.Methods)=0A=
    });=0A=
  }=0A=
=0A=
  if (arguments.length =3D=3D 2) {=0A=
    var tagName =3D methods;=0A=
    methods =3D arguments[1];=0A=
  }=0A=
=0A=
  if (!tagName) Object.extend(Element.Methods, methods || { });=0A=
  else {=0A=
    if (Object.isArray(tagName)) tagName.each(extend);=0A=
    else extend(tagName);=0A=
  }=0A=
=0A=
  function extend(tagName) {=0A=
    tagName =3D tagName.toUpperCase();=0A=
    if (!Element.Methods.ByTag[tagName])=0A=
      Element.Methods.ByTag[tagName] =3D { };=0A=
    Object.extend(Element.Methods.ByTag[tagName], methods);=0A=
  }=0A=
=0A=
  function copy(methods, destination, onlyIfAbsent) {=0A=
    onlyIfAbsent =3D onlyIfAbsent || false;=0A=
    for (var property in methods) {=0A=
      var value =3D methods[property];=0A=
      if (!Object.isFunction(value)) continue;=0A=
      if (!onlyIfAbsent || !(property in destination))=0A=
        destination[property] =3D value.methodize();=0A=
    }=0A=
  }=0A=
=0A=
  function findDOMClass(tagName) {=0A=
    var klass;=0A=
    var trans =3D {=0A=
      "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A=
      "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": =
"DList",=0A=
      "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": =
"Heading",=0A=
      "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A=
      "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", =
"CAPTION":=0A=
      "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A=
      "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", =
"TR":=0A=
      "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A=
      "FrameSet", "IFRAME": "IFrame"=0A=
    };=0A=
    if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
    klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A=
    if (window[klass]) return window[klass];=0A=
=0A=
    var element =3D document.createElement(tagName);=0A=
    var proto =3D element['__proto__'] || element.constructor.prototype;=0A=
    element =3D null;=0A=
    return proto;=0A=
  }=0A=
=0A=
  var elementPrototype =3D window.HTMLElement ? HTMLElement.prototype :=0A=
   Element.prototype;=0A=
=0A=
  if (F.ElementExtensions) {=0A=
    copy(Element.Methods, elementPrototype);=0A=
    copy(Element.Methods.Simulated, elementPrototype, true);=0A=
  }=0A=
=0A=
  if (F.SpecificElementExtensions) {=0A=
    for (var tag in Element.Methods.ByTag) {=0A=
      var klass =3D findDOMClass(tag);=0A=
      if (Object.isUndefined(klass)) continue;=0A=
      copy(T[tag], klass.prototype);=0A=
    }=0A=
  }=0A=
=0A=
  Object.extend(Element, Element.Methods);=0A=
  delete Element.ByTag;=0A=
=0A=
  if (Element.extend.refresh) Element.extend.refresh();=0A=
  Element.cache =3D { };=0A=
};=0A=
=0A=
=0A=
document.viewport =3D {=0A=
=0A=
  getDimensions: function() {=0A=
    return { width: this.getWidth(), height: this.getHeight() };=0A=
  },=0A=
=0A=
  getScrollOffsets: function() {=0A=
    return Element._returnOffset(=0A=
      window.pageXOffset || document.documentElement.scrollLeft || =
document.body.scrollLeft,=0A=
      window.pageYOffset || document.documentElement.scrollTop  || =
document.body.scrollTop);=0A=
  }=0A=
};=0A=
=0A=
(function(viewport) {=0A=
  var B =3D Prototype.Browser, doc =3D document, element, property =3D =
{};=0A=
=0A=
  function getRootElement() {=0A=
    if (B.WebKit && !doc.evaluate)=0A=
      return document;=0A=
=0A=
    if (B.Opera && window.parseFloat(window.opera.version()) < 9.5)=0A=
      return document.body;=0A=
=0A=
    return document.documentElement;=0A=
  }=0A=
=0A=
  function define(D) {=0A=
    if (!element) element =3D getRootElement();=0A=
=0A=
    property[D] =3D 'client' + D;=0A=
=0A=
    viewport['get' + D] =3D function() { return element[property[D]] };=0A=
    return viewport['get' + D]();=0A=
  }=0A=
=0A=
  viewport.getWidth  =3D define.curry('Width');=0A=
=0A=
  viewport.getHeight =3D define.curry('Height');=0A=
})(document.viewport);=0A=
=0A=
=0A=
Element.Storage =3D {=0A=
  UID: 1=0A=
};=0A=
=0A=
Element.addMethods({=0A=
  getStorage: function(element) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    var uid;=0A=
    if (element =3D=3D=3D window) {=0A=
      uid =3D 0;=0A=
    } else {=0A=
      if (typeof element._prototypeUID =3D=3D=3D "undefined")=0A=
        element._prototypeUID =3D [Element.Storage.UID++];=0A=
      uid =3D element._prototypeUID[0];=0A=
    }=0A=
=0A=
    if (!Element.Storage[uid])=0A=
      Element.Storage[uid] =3D $H();=0A=
=0A=
    return Element.Storage[uid];=0A=
  },=0A=
=0A=
  store: function(element, key, value) {=0A=
    if (!(element =3D $(element))) return;=0A=
=0A=
    if (arguments.length =3D=3D=3D 2) {=0A=
      Element.getStorage(element).update(key);=0A=
    } else {=0A=
      Element.getStorage(element).set(key, value);=0A=
    }=0A=
=0A=
    return element;=0A=
  },=0A=
=0A=
  retrieve: function(element, key, defaultValue) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var hash =3D Element.getStorage(element), value =3D hash.get(key);=0A=
=0A=
    if (Object.isUndefined(value)) {=0A=
      hash.set(key, defaultValue);=0A=
      value =3D defaultValue;=0A=
    }=0A=
=0A=
    return value;=0A=
  },=0A=
=0A=
  clone: function(element, deep) {=0A=
    if (!(element =3D $(element))) return;=0A=
    var clone =3D element.cloneNode(deep);=0A=
    clone._prototypeUID =3D void 0;=0A=
    if (deep) {=0A=
      var descendants =3D Element.select(clone, '*'),=0A=
          i =3D descendants.length;=0A=
      while (i--) {=0A=
        descendants[i]._prototypeUID =3D void 0;=0A=
      }=0A=
    }=0A=
    return Element.extend(clone);=0A=
  }=0A=
});=0A=
/* Portions of the Selector class are derived from Jack Slocum's =
DomQuery,=0A=
 * part of YUI-Ext version 0.40, distributed under the terms of an =
MIT-style=0A=
 * license.  Please see http://www.yui-ext.com/ for more information. */=0A=
=0A=
var Selector =3D Class.create({=0A=
  initialize: function(expression) {=0A=
    this.expression =3D expression.strip();=0A=
=0A=
    if (this.shouldUseSelectorsAPI()) {=0A=
      this.mode =3D 'selectorsAPI';=0A=
    } else if (this.shouldUseXPath()) {=0A=
      this.mode =3D 'xpath';=0A=
      this.compileXPathMatcher();=0A=
    } else {=0A=
      this.mode =3D "normal";=0A=
      this.compileMatcher();=0A=
    }=0A=
=0A=
  },=0A=
=0A=
  shouldUseXPath: (function() {=0A=
=0A=
    var IS_DESCENDANT_SELECTOR_BUGGY =3D (function(){=0A=
      var isBuggy =3D false;=0A=
      if (document.evaluate && window.XPathResult) {=0A=
        var el =3D document.createElement('div');=0A=
        el.innerHTML =3D =
'<ul><li></li></ul><div><ul><li></li></ul></div>';=0A=
=0A=
        var xpath =3D ".//*[local-name()=3D'ul' or local-name()=3D'UL']" =
+=0A=
          "//*[local-name()=3D'li' or local-name()=3D'LI']";=0A=
=0A=
        var result =3D document.evaluate(xpath, el, null,=0A=
          XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A=
=0A=
        isBuggy =3D (result.snapshotLength !=3D=3D 2);=0A=
        el =3D null;=0A=
      }=0A=
      return isBuggy;=0A=
    })();=0A=
=0A=
    return function() {=0A=
      if (!Prototype.BrowserFeatures.XPath) return false;=0A=
=0A=
      var e =3D this.expression;=0A=
=0A=
      if (Prototype.Browser.WebKit &&=0A=
       (e.include("-of-type") || e.include(":empty")))=0A=
        return false;=0A=
=0A=
      if ((/(\[[\w-]*?:|:checked)/).test(e))=0A=
        return false;=0A=
=0A=
      if (IS_DESCENDANT_SELECTOR_BUGGY) return false;=0A=
=0A=
      return true;=0A=
    }=0A=
=0A=
  })(),=0A=
=0A=
  shouldUseSelectorsAPI: function() {=0A=
    if (!Prototype.BrowserFeatures.SelectorsAPI) return false;=0A=
=0A=
    if (Selector.CASE_INSENSITIVE_CLASS_NAMES) return false;=0A=
=0A=
    if (!Selector._div) Selector._div =3D new Element('div');=0A=
=0A=
    try {=0A=
      Selector._div.querySelector(this.expression);=0A=
    } catch(e) {=0A=
      return false;=0A=
    }=0A=
=0A=
    return true;=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns, h =3D =
Selector.handlers,=0A=
        c =3D Selector.criteria, le, p, m, len =3D ps.length, name;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.matcher =3D Selector._cache[e];=0A=
      return;=0A=
    }=0A=
=0A=
    this.matcher =3D ["this.matcher =3D function(root) {",=0A=
                    "var r =3D root, h =3D Selector.handlers, c =3D =
false, n;"];=0A=
=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        p =3D ps[i].re;=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(p)) {=0A=
          this.matcher.push(Object.isFunction(c[name]) ? c[name](m) :=0A=
            new Template(c[name]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.matcher.push("return h.unique(n);\n}");=0A=
    eval(this.matcher.join('\n'));=0A=
    Selector._cache[this.expression] =3D this.matcher;=0A=
  },=0A=
=0A=
  compileXPathMatcher: function() {=0A=
    var e =3D this.expression, ps =3D Selector.patterns,=0A=
        x =3D Selector.xpath, le, m, len =3D ps.length, name;=0A=
=0A=
    if (Selector._cache[e]) {=0A=
      this.xpath =3D Selector._cache[e]; return;=0A=
    }=0A=
=0A=
    this.matcher =3D ['.//*'];=0A=
    while (e && le !=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(ps[i].re)) {=0A=
          this.matcher.push(Object.isFunction(x[name]) ? x[name](m) :=0A=
            new Template(x[name]).evaluate(m));=0A=
          e =3D e.replace(m[0], '');=0A=
          break;=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    this.xpath =3D this.matcher.join('');=0A=
    Selector._cache[this.expression] =3D this.xpath;=0A=
  },=0A=
=0A=
  findElements: function(root) {=0A=
    root =3D root || document;=0A=
    var e =3D this.expression, results;=0A=
=0A=
    switch (this.mode) {=0A=
      case 'selectorsAPI':=0A=
        if (root !=3D=3D document) {=0A=
          var oldId =3D root.id, id =3D $(root).identify();=0A=
          id =3D id.replace(/([\.:])/g, "\\$1");=0A=
          e =3D "#" + id + " " + e;=0A=
        }=0A=
=0A=
        results =3D $A(root.querySelectorAll(e)).map(Element.extend);=0A=
        root.id =3D oldId;=0A=
=0A=
        return results;=0A=
      case 'xpath':=0A=
        return document._getElementsByXPath(this.xpath, root);=0A=
      default:=0A=
       return this.matcher(root);=0A=
    }=0A=
  },=0A=
=0A=
  match: function(element) {=0A=
    this.tokens =3D [];=0A=
=0A=
    var e =3D this.expression, ps =3D Selector.patterns, as =3D =
Selector.assertions;=0A=
    var le, p, m, len =3D ps.length, name;=0A=
=0A=
    while (e && le !=3D=3D e && (/\S/).test(e)) {=0A=
      le =3D e;=0A=
      for (var i =3D 0; i<len; i++) {=0A=
        p =3D ps[i].re;=0A=
        name =3D ps[i].name;=0A=
        if (m =3D e.match(p)) {=0A=
          if (as[name]) {=0A=
            this.tokens.push([name, Object.clone(m)]);=0A=
            e =3D e.replace(m[0], '');=0A=
          } else {=0A=
            return this.findElements(document).include(element);=0A=
          }=0A=
        }=0A=
      }=0A=
    }=0A=
=0A=
    var match =3D true, name, matches;=0A=
    for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A=
      name =3D token[0], matches =3D token[1];=0A=
      if (!Selector.assertions[name](element, matches)) {=0A=
        match =3D false; break;=0A=
      }=0A=
    }=0A=
=0A=
    return match;=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return this.expression;=0A=
  },=0A=
=0A=
  inspect: function() {=0A=
    return "#<Selector:" + this.expression.inspect() + ">";=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.BrowserFeatures.SelectorsAPI &&=0A=
 document.compatMode =3D=3D=3D 'BackCompat') {=0A=
  Selector.CASE_INSENSITIVE_CLASS_NAMES =3D (function(){=0A=
    var div =3D document.createElement('div'),=0A=
     span =3D document.createElement('span');=0A=
=0A=
    div.id =3D "prototype_test_id";=0A=
    span.className =3D 'Test';=0A=
    div.appendChild(span);=0A=
    var isIgnored =3D (div.querySelector('#prototype_test_id .test') =
!=3D=3D null);=0A=
    div =3D span =3D null;=0A=
    return isIgnored;=0A=
  })();=0A=
}=0A=
=0A=
Object.extend(Selector, {=0A=
  _cache: { },=0A=
=0A=
  xpath: {=0A=
    descendant:   "//*",=0A=
    child:        "/*",=0A=
    adjacent:     "/following-sibling::*[1]",=0A=
    laterSibling: '/following-sibling::*',=0A=
    tagName:      function(m) {=0A=
      if (m[1] =3D=3D '*') return '';=0A=
      return "[local-name()=3D'" + m[1].toLowerCase() +=0A=
             "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A=
    },=0A=
    className:    "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A=
    id:           "[@id=3D'#{1}']",=0A=
    attrPresence: function(m) {=0A=
      m[1] =3D m[1].toLowerCase();=0A=
      return new Template("[@#{1}]").evaluate(m);=0A=
    },=0A=
    attr: function(m) {=0A=
      m[1] =3D m[1].toLowerCase();=0A=
      m[3] =3D m[5] || m[6];=0A=
      return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      var h =3D Selector.xpath.pseudos[m[1]];=0A=
      if (!h) return '';=0A=
      if (Object.isFunction(h)) return h(m);=0A=
      return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A=
    },=0A=
    operators: {=0A=
      '=3D':  "[@#{1}=3D'#{3}']",=0A=
      '!=3D': "[@#{1}!=3D'#{3}']",=0A=
      '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A=
      '$=3D': "[substring(@#{1}, (string-length(@#{1}) - =
string-length('#{3}') + 1))=3D'#{3}']",=0A=
      '*=3D': "[contains(@#{1}, '#{3}')]",=0A=
      '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A=
      '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A=
    },=0A=
    pseudos: {=0A=
      'first-child': '[not(preceding-sibling::*)]',=0A=
      'last-child':  '[not(following-sibling::*)]',=0A=
      'only-child':  '[not(preceding-sibling::* or =
following-sibling::*)]',=0A=
      'empty':       "[count(*) =3D 0 and (count(text()) =3D 0)]",=0A=
      'checked':     "[@checked]",=0A=
      'disabled':    "[(@disabled) and (@type!=3D'hidden')]",=0A=
      'enabled':     "[not(@disabled) and (@type!=3D'hidden')]",=0A=
      'not': function(m) {=0A=
        var e =3D m[6], p =3D Selector.patterns,=0A=
            x =3D Selector.xpath, le, v, len =3D p.length, name;=0A=
=0A=
        var exclusion =3D [];=0A=
        while (e && le !=3D e && (/\S/).test(e)) {=0A=
          le =3D e;=0A=
          for (var i =3D 0; i<len; i++) {=0A=
            name =3D p[i].name=0A=
            if (m =3D e.match(p[i].re)) {=0A=
              v =3D Object.isFunction(x[name]) ? x[name](m) : new =
Template(x[name]).evaluate(m);=0A=
              exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A=
              e =3D e.replace(m[0], '');=0A=
              break;=0A=
            }=0A=
          }=0A=
        }=0A=
        return "[not(" + exclusion.join(" and ") + ")]";=0A=
      },=0A=
      'nth-child':      function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-last-child': function(m) {=0A=
        return =
Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A=
      },=0A=
      'nth-of-type':    function(m) {=0A=
        return Selector.xpath.pseudos.nth("position() ", m);=0A=
      },=0A=
      'nth-last-of-type': function(m) {=0A=
        return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", =
m);=0A=
      },=0A=
      'first-of-type':  function(m) {=0A=
        m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A=
      },=0A=
      'last-of-type':   function(m) {=0A=
        m[6] =3D "1"; return =
Selector.xpath.pseudos['nth-last-of-type'](m);=0A=
      },=0A=
      'only-of-type':   function(m) {=0A=
        var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + =
p['last-of-type'](m);=0A=
      },=0A=
      nth: function(fragment, m) {=0A=
        var mm, formula =3D m[6], predicate;=0A=
        if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
        if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
        if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A=
          return '[' + fragment + "=3D " + mm[1] + ']';=0A=
        if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A=
          if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A=
          var a =3D mm[1] ? Number(mm[1]) : 1;=0A=
          var b =3D mm[2] ? Number(mm[2]) : 0;=0A=
          predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A=
          "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A=
          return new Template(predicate).evaluate({=0A=
            fragment: fragment, a: a, b: b });=0A=
        }=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  criteria: {=0A=
    tagName:      'n =3D h.tagName(n, r, "#{1}", c);      c =3D false;',=0A=
    className:    'n =3D h.className(n, r, "#{1}", c);    c =3D false;',=0A=
    id:           'n =3D h.id(n, r, "#{1}", c);           c =3D false;',=0A=
    attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D false;',=0A=
    attr: function(m) {=0A=
      m[3] =3D (m[5] || m[6]);=0A=
      return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", =
c); c =3D false;').evaluate(m);=0A=
    },=0A=
    pseudo: function(m) {=0A=
      if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A=
      return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c =
=3D false;').evaluate(m);=0A=
    },=0A=
    descendant:   'c =3D "descendant";',=0A=
    child:        'c =3D "child";',=0A=
    adjacent:     'c =3D "adjacent";',=0A=
    laterSibling: 'c =3D "laterSibling";'=0A=
  },=0A=
=0A=
  patterns: [=0A=
    { name: 'laterSibling', re: /^\s*~\s*/ },=0A=
    { name: 'child',        re: /^\s*>\s*/ },=0A=
    { name: 'adjacent',     re: /^\s*\+\s*/ },=0A=
    { name: 'descendant',   re: /^\s/ },=0A=
=0A=
    { name: 'tagName',      re: /^\s*(\*|[\w\-]+)(\b|$)?/ },=0A=
    { name: 'id',           re: /^#([\w\-\*]+)(\b|$)/ },=0A=
    { name: 'className',    re: /^\.([\w\-\*]+)(\b|$)/ },=0A=
    { name: 'pseudo',       re: =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/ },=0A=
    { name: 'attrPresence', re: /^\[((?:[\w-]+:)?[\w-]+)\]/ },=0A=
    { name: 'attr',         re: =
/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^=
\]]*?)))?\]/ }=0A=
  ],=0A=
=0A=
  assertions: {=0A=
    tagName: function(element, matches) {=0A=
      return matches[1].toUpperCase() =3D=3D =
element.tagName.toUpperCase();=0A=
    },=0A=
=0A=
    className: function(element, matches) {=0A=
      return Element.hasClassName(element, matches[1]);=0A=
    },=0A=
=0A=
    id: function(element, matches) {=0A=
      return element.id =3D=3D=3D matches[1];=0A=
    },=0A=
=0A=
    attrPresence: function(element, matches) {=0A=
      return Element.hasAttribute(element, matches[1]);=0A=
    },=0A=
=0A=
    attr: function(element, matches) {=0A=
      var nodeValue =3D Element.readAttribute(element, matches[1]);=0A=
      return nodeValue && Selector.operators[matches[2]](nodeValue, =
matches[5] || matches[6]);=0A=
    }=0A=
  },=0A=
=0A=
  handlers: {=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        a.push(node);=0A=
      return a;=0A=
    },=0A=
=0A=
    mark: function(nodes) {=0A=
      var _true =3D Prototype.emptyFunction;=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._countedByPrototype =3D _true;=0A=
      return nodes;=0A=
    },=0A=
=0A=
    unmark: (function(){=0A=
=0A=
      var PROPERTIES_ATTRIBUTES_MAP =3D (function(){=0A=
        var el =3D document.createElement('div'),=0A=
            isBuggy =3D false,=0A=
            propName =3D '_countedByPrototype',=0A=
            value =3D 'x'=0A=
        el[propName] =3D value;=0A=
        isBuggy =3D (el.getAttribute(propName) =3D=3D=3D value);=0A=
        el =3D null;=0A=
        return isBuggy;=0A=
      })();=0A=
=0A=
      return PROPERTIES_ATTRIBUTES_MAP ?=0A=
        function(nodes) {=0A=
          for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
            node.removeAttribute('_countedByPrototype');=0A=
          return nodes;=0A=
        } :=0A=
        function(nodes) {=0A=
          for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
            node._countedByPrototype =3D void 0;=0A=
          return nodes;=0A=
        }=0A=
    })(),=0A=
=0A=
    index: function(parentNode, reverse, ofType) {=0A=
      parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A=
      if (reverse) {=0A=
        for (var nodes =3D parentNode.childNodes, i =3D nodes.length - =
1, j =3D 1; i >=3D 0; i--) {=0A=
          var node =3D nodes[i];=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
        }=0A=
      } else {=0A=
        for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node =
=3D nodes[i]; i++)=0A=
          if (node.nodeType =3D=3D 1 && (!ofType || =
node._countedByPrototype)) node.nodeIndex =3D j++;=0A=
      }=0A=
    },=0A=
=0A=
    unique: function(nodes) {=0A=
      if (nodes.length =3D=3D 0) return nodes;=0A=
      var results =3D [], n;=0A=
      for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A=
        if (typeof (n =3D nodes[i])._countedByPrototype =3D=3D =
'undefined') {=0A=
          n._countedByPrototype =3D Prototype.emptyFunction;=0A=
          results.push(Element.extend(n));=0A=
        }=0A=
      return Selector.handlers.unmark(results);=0A=
    },=0A=
=0A=
    descendant: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, node.getElementsByTagName('*'));=0A=
      return results;=0A=
    },=0A=
=0A=
    child: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        for (var j =3D 0, child; child =3D node.childNodes[j]; j++)=0A=
          if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') =
results.push(child);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    adjacent: function(nodes) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        var next =3D this.nextElementSibling(node);=0A=
        if (next) results.push(next);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    laterSibling: function(nodes) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        h.concat(results, Element.nextSiblings(node));=0A=
      return results;=0A=
    },=0A=
=0A=
    nextElementSibling: function(node) {=0A=
      while (node =3D node.nextSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    previousElementSibling: function(node) {=0A=
      while (node =3D node.previousSibling)=0A=
        if (node.nodeType =3D=3D 1) return node;=0A=
      return null;=0A=
    },=0A=
=0A=
    tagName: function(nodes, root, tagName, combinator) {=0A=
      var uTagName =3D tagName.toUpperCase();=0A=
      var results =3D [], h =3D Selector.handlers;=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D "descendant") {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              h.concat(results, node.getElementsByTagName(tagName));=0A=
            return results;=0A=
          } else nodes =3D this[combinator](nodes);=0A=
          if (tagName =3D=3D "*") return nodes;=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.tagName.toUpperCase() =3D=3D=3D uTagName) =
results.push(node);=0A=
        return results;=0A=
      } else return root.getElementsByTagName(tagName);=0A=
    },=0A=
=0A=
    id: function(nodes, root, id, combinator) {=0A=
      var targetNode =3D $(id), h =3D Selector.handlers;=0A=
=0A=
      if (root =3D=3D document) {=0A=
        if (!targetNode) return [];=0A=
        if (!nodes) return [targetNode];=0A=
      } else {=0A=
        if (!root.sourceIndex || root.sourceIndex < 1) {=0A=
          var nodes =3D root.getElementsByTagName('*');=0A=
          for (var j =3D 0, node; node =3D nodes[j]; j++) {=0A=
            if (node.id =3D=3D=3D id) return [node];=0A=
          }=0A=
        }=0A=
      }=0A=
=0A=
      if (nodes) {=0A=
        if (combinator) {=0A=
          if (combinator =3D=3D 'child') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (targetNode.parentNode =3D=3D node) return [targetNode];=0A=
          } else if (combinator =3D=3D 'descendant') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Element.descendantOf(targetNode, node)) return =
[targetNode];=0A=
          } else if (combinator =3D=3D 'adjacent') {=0A=
            for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
              if (Selector.handlers.previousElementSibling(targetNode) =
=3D=3D node)=0A=
                return [targetNode];=0A=
          } else nodes =3D h[combinator](nodes);=0A=
        }=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node =3D=3D targetNode) return [targetNode];=0A=
        return [];=0A=
      }=0A=
      return (targetNode && Element.descendantOf(targetNode, root)) ? =
[targetNode] : [];=0A=
    },=0A=
=0A=
    className: function(nodes, root, className, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      return Selector.handlers.byClassName(nodes, root, className);=0A=
    },=0A=
=0A=
    byClassName: function(nodes, root, className) {=0A=
      if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A=
      var needle =3D ' ' + className + ' ';=0A=
      for (var i =3D 0, results =3D [], node, nodeClassName; node =3D =
nodes[i]; i++) {=0A=
        nodeClassName =3D node.className;=0A=
        if (nodeClassName.length =3D=3D 0) continue;=0A=
        if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' =
').include(needle))=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    attrPresence: function(nodes, root, attr, combinator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      var results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        if (Element.hasAttribute(node, attr)) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    attr: function(nodes, root, attr, value, operator, combinator) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      var handler =3D Selector.operators[operator], results =3D [];=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        var nodeValue =3D Element.readAttribute(node, attr);=0A=
        if (nodeValue =3D=3D=3D null) continue;=0A=
        if (handler(nodeValue, value)) results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    pseudo: function(nodes, name, value, root, combinator) {=0A=
      if (nodes && combinator) nodes =3D this[combinator](nodes);=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=0A=
      return Selector.pseudos[name](nodes, value, root);=0A=
    }=0A=
  },=0A=
=0A=
  pseudos: {=0A=
    'first-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.previousElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'last-child': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (Selector.handlers.nextElementSibling(node)) continue;=0A=
          results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
    'only-child': function(nodes, value, root) {=0A=
      var h =3D Selector.handlers;=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!h.previousElementSibling(node) && =
!h.nextElementSibling(node))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
    'nth-child':        function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root);=0A=
    },=0A=
    'nth-last-child':   function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true);=0A=
    },=0A=
    'nth-of-type':      function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, false, true);=0A=
    },=0A=
    'nth-last-of-type': function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, formula, root, true, true);=0A=
    },=0A=
    'first-of-type':    function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, false, true);=0A=
    },=0A=
    'last-of-type':     function(nodes, formula, root) {=0A=
      return Selector.pseudos.nth(nodes, "1", root, true, true);=0A=
    },=0A=
    'only-of-type':     function(nodes, formula, root) {=0A=
      var p =3D Selector.pseudos;=0A=
      return p['last-of-type'](p['first-of-type'](nodes, formula, root), =
formula, root);=0A=
    },=0A=
=0A=
    getIndices: function(a, b, total) {=0A=
      if (a =3D=3D 0) return b > 0 ? [b] : [];=0A=
      return $R(1, total).inject([], function(memo, i) {=0A=
        if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A=
        return memo;=0A=
      });=0A=
    },=0A=
=0A=
    nth: function(nodes, formula, root, reverse, ofType) {=0A=
      if (nodes.length =3D=3D 0) return [];=0A=
      if (formula =3D=3D 'even') formula =3D '2n+0';=0A=
      if (formula =3D=3D 'odd')  formula =3D '2n+1';=0A=
      var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A=
      h.mark(nodes);=0A=
      for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A=
        if (!node.parentNode._countedByPrototype) {=0A=
          h.index(node.parentNode, reverse, ofType);=0A=
          indexed.push(node.parentNode);=0A=
        }=0A=
      }=0A=
      if (formula.match(/^\d+$/)) { // just a number=0A=
        formula =3D Number(formula);=0A=
        for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
          if (node.nodeIndex =3D=3D formula) results.push(node);=0A=
      } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // =
an+b=0A=
        if (m[1] =3D=3D "-") m[1] =3D -1;=0A=
        var a =3D m[1] ? Number(m[1]) : 1;=0A=
        var b =3D m[2] ? Number(m[2]) : 0;=0A=
        var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A=
        for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; =
i++) {=0A=
          for (var j =3D 0; j < l; j++)=0A=
            if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A=
        }=0A=
      }=0A=
      h.unmark(nodes);=0A=
      h.unmark(indexed);=0A=
      return results;=0A=
    },=0A=
=0A=
    'empty': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A=
        if (node.tagName =3D=3D '!' || node.firstChild) continue;=0A=
        results.push(node);=0A=
      }=0A=
      return results;=0A=
    },=0A=
=0A=
    'not': function(nodes, selector, root) {=0A=
      var h =3D Selector.handlers, selectorType, m;=0A=
      var exclusions =3D new Selector(selector).findElements(root);=0A=
      h.mark(exclusions);=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node._countedByPrototype) results.push(node);=0A=
      h.unmark(exclusions);=0A=
      return results;=0A=
    },=0A=
=0A=
    'enabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (!node.disabled && (!node.type || node.type !=3D=3D 'hidden'))=0A=
          results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'disabled': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.disabled) results.push(node);=0A=
      return results;=0A=
    },=0A=
=0A=
    'checked': function(nodes, value, root) {=0A=
      for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A=
        if (node.checked) results.push(node);=0A=
      return results;=0A=
    }=0A=
  },=0A=
=0A=
  operators: {=0A=
    '=3D':  function(nv, v) { return nv =3D=3D v; },=0A=
    '!=3D': function(nv, v) { return nv !=3D v; },=0A=
    '^=3D': function(nv, v) { return nv =3D=3D v || nv && =
nv.startsWith(v); },=0A=
    '$=3D': function(nv, v) { return nv =3D=3D v || nv && =
nv.endsWith(v); },=0A=
    '*=3D': function(nv, v) { return nv =3D=3D v || nv && nv.include(v); =
},=0A=
    '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + =
' '); },=0A=
    '|=3D': function(nv, v) { return ('-' + (nv || "").toUpperCase() +=0A=
     '-').include('-' + (v || "").toUpperCase() + '-'); }=0A=
  },=0A=
=0A=
  split: function(expression) {=0A=
    var expressions =3D [];=0A=
    expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, =
function(m) {=0A=
      expressions.push(m[1].strip());=0A=
    });=0A=
    return expressions;=0A=
  },=0A=
=0A=
  matchElements: function(elements, expression) {=0A=
    var matches =3D $$(expression), h =3D Selector.handlers;=0A=
    h.mark(matches);=0A=
    for (var i =3D 0, results =3D [], element; element =3D elements[i]; =
i++)=0A=
      if (element._countedByPrototype) results.push(element);=0A=
    h.unmark(matches);=0A=
    return results;=0A=
  },=0A=
=0A=
  findElement: function(elements, expression, index) {=0A=
    if (Object.isNumber(expression)) {=0A=
      index =3D expression; expression =3D false;=0A=
    }=0A=
    return Selector.matchElements(elements, expression || '*')[index || =
0];=0A=
  },=0A=
=0A=
  findChildElements: function(element, expressions) {=0A=
    expressions =3D Selector.split(expressions.join(','));=0A=
    var results =3D [], h =3D Selector.handlers;=0A=
    for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A=
      selector =3D new Selector(expressions[i].strip());=0A=
      h.concat(results, selector.findElements(element));=0A=
    }=0A=
    return (l > 1) ? h.unique(results) : results;=0A=
  }=0A=
});=0A=
=0A=
if (Prototype.Browser.IE) {=0A=
  Object.extend(Selector.handlers, {=0A=
    concat: function(a, b) {=0A=
      for (var i =3D 0, node; node =3D b[i]; i++)=0A=
        if (node.tagName !=3D=3D "!") a.push(node);=0A=
      return a;=0A=
    }=0A=
  });=0A=
}=0A=
=0A=
function $$() {=0A=
  return Selector.findChildElements(document, $A(arguments));=0A=
}=0A=
=0A=
var Form =3D {=0A=
  reset: function(form) {=0A=
    form =3D $(form);=0A=
    form.reset();=0A=
    return form;=0A=
  },=0A=
=0A=
  serializeElements: function(elements, options) {=0A=
    if (typeof options !=3D 'object') options =3D { hash: !!options };=0A=
    else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A=
    var key, value, submitted =3D false, submit =3D options.submit;=0A=
=0A=
    var data =3D elements.inject({ }, function(result, element) {=0A=
      if (!element.disabled && element.name) {=0A=
        key =3D element.name; value =3D $(element).getValue();=0A=
        if (value !=3D null && element.type !=3D 'file' && (element.type =
!=3D 'submit' || (!submitted &&=0A=
            submit !=3D=3D false && (!submit || key =3D=3D submit) && =
(submitted =3D true)))) {=0A=
          if (key in result) {=0A=
            if (!Object.isArray(result[key])) result[key] =3D =
[result[key]];=0A=
            result[key].push(value);=0A=
          }=0A=
          else result[key] =3D value;=0A=
        }=0A=
      }=0A=
      return result;=0A=
    });=0A=
=0A=
    return options.hash ? data : Object.toQueryString(data);=0A=
  }=0A=
};=0A=
=0A=
Form.Methods =3D {=0A=
  serialize: function(form, options) {=0A=
    return Form.serializeElements(Form.getElements(form), options);=0A=
  },=0A=
=0A=
  getElements: function(form) {=0A=
    var elements =3D $(form).getElementsByTagName('*'),=0A=
        element,=0A=
        arr =3D [ ],=0A=
        serializers =3D Form.Element.Serializers;=0A=
    for (var i =3D 0; element =3D elements[i]; i++) {=0A=
      arr.push(element);=0A=
    }=0A=
    return arr.inject([], function(elements, child) {=0A=
      if (serializers[child.tagName.toLowerCase()])=0A=
        elements.push(Element.extend(child));=0A=
      return elements;=0A=
    })=0A=
  },=0A=
=0A=
  getInputs: function(form, typeName, name) {=0A=
    form =3D $(form);=0A=
    var inputs =3D form.getElementsByTagName('input');=0A=
=0A=
    if (!typeName && !name) return $A(inputs).map(Element.extend);=0A=
=0A=
    for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i =
< length; i++) {=0A=
      var input =3D inputs[i];=0A=
      if ((typeName && input.type !=3D typeName) || (name && input.name =
!=3D name))=0A=
        continue;=0A=
      matchingInputs.push(Element.extend(input));=0A=
    }=0A=
=0A=
    return matchingInputs;=0A=
  },=0A=
=0A=
  disable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('disable');=0A=
    return form;=0A=
  },=0A=
=0A=
  enable: function(form) {=0A=
    form =3D $(form);=0A=
    Form.getElements(form).invoke('enable');=0A=
    return form;=0A=
  },=0A=
=0A=
  findFirstElement: function(form) {=0A=
    var elements =3D $(form).getElements().findAll(function(element) {=0A=
      return 'hidden' !=3D element.type && !element.disabled;=0A=
    });=0A=
    var firstByIndex =3D elements.findAll(function(element) {=0A=
      return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A=
    }).sortBy(function(element) { return element.tabIndex }).first();=0A=
=0A=
    return firstByIndex ? firstByIndex : elements.find(function(element) =
{=0A=
      return /^(?:input|select|textarea)$/i.test(element.tagName);=0A=
    });=0A=
  },=0A=
=0A=
  focusFirstElement: function(form) {=0A=
    form =3D $(form);=0A=
    form.findFirstElement().activate();=0A=
    return form;=0A=
  },=0A=
=0A=
  request: function(form, options) {=0A=
    form =3D $(form), options =3D Object.clone(options || { });=0A=
=0A=
    var params =3D options.parameters, action =3D =
form.readAttribute('action') || '';=0A=
    if (action.blank()) action =3D window.location.href;=0A=
    options.parameters =3D form.serialize(true);=0A=
=0A=
    if (params) {=0A=
      if (Object.isString(params)) params =3D params.toQueryParams();=0A=
      Object.extend(options.parameters, params);=0A=
    }=0A=
=0A=
    if (form.hasAttribute('method') && !options.method)=0A=
      options.method =3D form.method;=0A=
=0A=
    return new Ajax.Request(action, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Form.Element =3D {=0A=
  focus: function(element) {=0A=
    $(element).focus();=0A=
    return element;=0A=
  },=0A=
=0A=
  select: function(element) {=0A=
    $(element).select();=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
Form.Element.Methods =3D {=0A=
=0A=
  serialize: function(element) {=0A=
    element =3D $(element);=0A=
    if (!element.disabled && element.name) {=0A=
      var value =3D element.getValue();=0A=
      if (value !=3D undefined) {=0A=
        var pair =3D { };=0A=
        pair[element.name] =3D value;=0A=
        return Object.toQueryString(pair);=0A=
      }=0A=
    }=0A=
    return '';=0A=
  },=0A=
=0A=
  getValue: function(element) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    return Form.Element.Serializers[method](element);=0A=
  },=0A=
=0A=
  setValue: function(element, value) {=0A=
    element =3D $(element);=0A=
    var method =3D element.tagName.toLowerCase();=0A=
    Form.Element.Serializers[method](element, value);=0A=
    return element;=0A=
  },=0A=
=0A=
  clear: function(element) {=0A=
    $(element).value =3D '';=0A=
    return element;=0A=
  },=0A=
=0A=
  present: function(element) {=0A=
    return $(element).value !=3D '';=0A=
  },=0A=
=0A=
  activate: function(element) {=0A=
    element =3D $(element);=0A=
    try {=0A=
      element.focus();=0A=
      if (element.select && (element.tagName.toLowerCase() !=3D 'input' =
||=0A=
          !(/^(?:button|reset|submit)$/i.test(element.type))))=0A=
        element.select();=0A=
    } catch (e) { }=0A=
    return element;=0A=
  },=0A=
=0A=
  disable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D true;=0A=
    return element;=0A=
  },=0A=
=0A=
  enable: function(element) {=0A=
    element =3D $(element);=0A=
    element.disabled =3D false;=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Field =3D Form.Element;=0A=
=0A=
var $F =3D Form.Element.Methods.getValue;=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Form.Element.Serializers =3D {=0A=
  input: function(element, value) {=0A=
    switch (element.type.toLowerCase()) {=0A=
      case 'checkbox':=0A=
      case 'radio':=0A=
        return Form.Element.Serializers.inputSelector(element, value);=0A=
      default:=0A=
        return Form.Element.Serializers.textarea(element, value);=0A=
    }=0A=
  },=0A=
=0A=
  inputSelector: function(element, value) {=0A=
    if (Object.isUndefined(value)) return element.checked ? =
element.value : null;=0A=
    else element.checked =3D !!value;=0A=
  },=0A=
=0A=
  textarea: function(element, value) {=0A=
    if (Object.isUndefined(value)) return element.value;=0A=
    else element.value =3D value;=0A=
  },=0A=
=0A=
  select: function(element, value) {=0A=
    if (Object.isUndefined(value))=0A=
      return this[element.type =3D=3D 'select-one' ?=0A=
        'selectOne' : 'selectMany'](element);=0A=
    else {=0A=
      var opt, currentValue, single =3D !Object.isArray(value);=0A=
      for (var i =3D 0, length =3D element.length; i < length; i++) {=0A=
        opt =3D element.options[i];=0A=
        currentValue =3D this.optionValue(opt);=0A=
        if (single) {=0A=
          if (currentValue =3D=3D value) {=0A=
            opt.selected =3D true;=0A=
            return;=0A=
          }=0A=
        }=0A=
        else opt.selected =3D value.include(currentValue);=0A=
      }=0A=
    }=0A=
  },=0A=
=0A=
  selectOne: function(element) {=0A=
    var index =3D element.selectedIndex;=0A=
    return index >=3D 0 ? this.optionValue(element.options[index]) : =
null;=0A=
  },=0A=
=0A=
  selectMany: function(element) {=0A=
    var values, length =3D element.length;=0A=
    if (!length) return null;=0A=
=0A=
    for (var i =3D 0, values =3D []; i < length; i++) {=0A=
      var opt =3D element.options[i];=0A=
      if (opt.selected) values.push(this.optionValue(opt));=0A=
    }=0A=
    return values;=0A=
  },=0A=
=0A=
  optionValue: function(opt) {=0A=
    return Element.extend(opt).hasAttribute('value') ? opt.value : =
opt.text;=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
=0A=
Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A=
  initialize: function($super, element, frequency, callback) {=0A=
    $super(callback, frequency);=0A=
    this.element   =3D $(element);=0A=
    this.lastValue =3D this.getValue();=0A=
  },=0A=
=0A=
  execute: function() {=0A=
    var value =3D this.getValue();=0A=
    if (Object.isString(this.lastValue) && Object.isString(value) ?=0A=
        this.lastValue !=3D value : String(this.lastValue) !=3D =
String(value)) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Abstract.EventObserver =3D Class.create({=0A=
  initialize: function(element, callback) {=0A=
    this.element  =3D $(element);=0A=
    this.callback =3D callback;=0A=
=0A=
    this.lastValue =3D this.getValue();=0A=
    if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A=
      this.registerFormCallbacks();=0A=
    else=0A=
      this.registerCallback(this.element);=0A=
  },=0A=
=0A=
  onElementEvent: function() {=0A=
    var value =3D this.getValue();=0A=
    if (this.lastValue !=3D value) {=0A=
      this.callback(this.element, value);=0A=
      this.lastValue =3D value;=0A=
    }=0A=
  },=0A=
=0A=
  registerFormCallbacks: function() {=0A=
    Form.getElements(this.element).each(this.registerCallback, this);=0A=
  },=0A=
=0A=
  registerCallback: function(element) {=0A=
    if (element.type) {=0A=
      switch (element.type.toLowerCase()) {=0A=
        case 'checkbox':=0A=
        case 'radio':=0A=
          Event.observe(element, 'click', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
        default:=0A=
          Event.observe(element, 'change', =
this.onElementEvent.bind(this));=0A=
          break;=0A=
      }=0A=
    }=0A=
  }=0A=
});=0A=
=0A=
Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.Element.getValue(this.element);=0A=
  }=0A=
});=0A=
=0A=
Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A=
  getValue: function() {=0A=
    return Form.serialize(this.element);=0A=
  }=0A=
});=0A=
(function() {=0A=
=0A=
  var Event =3D {=0A=
    KEY_BACKSPACE: 8,=0A=
    KEY_TAB:       9,=0A=
    KEY_RETURN:   13,=0A=
    KEY_ESC:      27,=0A=
    KEY_LEFT:     37,=0A=
    KEY_UP:       38,=0A=
    KEY_RIGHT:    39,=0A=
    KEY_DOWN:     40,=0A=
    KEY_DELETE:   46,=0A=
    KEY_HOME:     36,=0A=
    KEY_END:      35,=0A=
    KEY_PAGEUP:   33,=0A=
    KEY_PAGEDOWN: 34,=0A=
    KEY_INSERT:   45,=0A=
=0A=
    cache: {}=0A=
  };=0A=
=0A=
  var docEl =3D document.documentElement;=0A=
  var MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED =3D 'onmouseenter' in docEl=0A=
    && 'onmouseleave' in docEl;=0A=
=0A=
  var _isButton;=0A=
  if (Prototype.Browser.IE) {=0A=
    var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A=
    _isButton =3D function(event, code) {=0A=
      return event.button =3D=3D=3D buttonMap[code];=0A=
    };=0A=
  } else if (Prototype.Browser.WebKit) {=0A=
    _isButton =3D function(event, code) {=0A=
      switch (code) {=0A=
        case 0: return event.which =3D=3D 1 && !event.metaKey;=0A=
        case 1: return event.which =3D=3D 1 && event.metaKey;=0A=
        default: return false;=0A=
      }=0A=
    };=0A=
  } else {=0A=
    _isButton =3D function(event, code) {=0A=
      return event.which ? (event.which =3D=3D=3D code + 1) : =
(event.button =3D=3D=3D code);=0A=
    };=0A=
  }=0A=
=0A=
  function isLeftClick(event)   { return _isButton(event, 0) }=0A=
=0A=
  function isMiddleClick(event) { return _isButton(event, 1) }=0A=
=0A=
  function isRightClick(event)  { return _isButton(event, 2) }=0A=
=0A=
  function element(event) {=0A=
    event =3D Event.extend(event);=0A=
=0A=
    var node =3D event.target, type =3D event.type,=0A=
     currentTarget =3D event.currentTarget;=0A=
=0A=
    if (currentTarget && currentTarget.tagName) {=0A=
      if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A=
        (type =3D=3D=3D 'click' && currentTarget.tagName.toLowerCase() =
=3D=3D=3D 'input'=0A=
          && currentTarget.type =3D=3D=3D 'radio'))=0A=
            node =3D currentTarget;=0A=
    }=0A=
=0A=
    if (node.nodeType =3D=3D Node.TEXT_NODE)=0A=
      node =3D node.parentNode;=0A=
=0A=
    return Element.extend(node);=0A=
  }=0A=
=0A=
  function findElement(event, expression) {=0A=
    var element =3D Event.element(event);=0A=
    if (!expression) return element;=0A=
    var elements =3D [element].concat(element.ancestors());=0A=
    return Selector.findElement(elements, expression, 0);=0A=
  }=0A=
=0A=
  function pointer(event) {=0A=
    return { x: pointerX(event), y: pointerY(event) };=0A=
  }=0A=
=0A=
  function pointerX(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollLeft: 0 };=0A=
=0A=
    return event.pageX || (event.clientX +=0A=
      (docElement.scrollLeft || body.scrollLeft) -=0A=
      (docElement.clientLeft || 0));=0A=
  }=0A=
=0A=
  function pointerY(event) {=0A=
    var docElement =3D document.documentElement,=0A=
     body =3D document.body || { scrollTop: 0 };=0A=
=0A=
    return  event.pageY || (event.clientY +=0A=
       (docElement.scrollTop || body.scrollTop) -=0A=
       (docElement.clientTop || 0));=0A=
  }=0A=
=0A=
=0A=
  function stop(event) {=0A=
    Event.extend(event);=0A=
    event.preventDefault();=0A=
    event.stopPropagation();=0A=
=0A=
    event.stopped =3D true;=0A=
  }=0A=
=0A=
  Event.Methods =3D {=0A=
    isLeftClick: isLeftClick,=0A=
    isMiddleClick: isMiddleClick,=0A=
    isRightClick: isRightClick,=0A=
=0A=
    element: element,=0A=
    findElement: findElement,=0A=
=0A=
    pointer: pointer,=0A=
    pointerX: pointerX,=0A=
    pointerY: pointerY,=0A=
=0A=
    stop: stop=0A=
  };=0A=
=0A=
=0A=
  var methods =3D Object.keys(Event.Methods).inject({ }, function(m, =
name) {=0A=
    m[name] =3D Event.Methods[name].methodize();=0A=
    return m;=0A=
  });=0A=
=0A=
  if (Prototype.Browser.IE) {=0A=
    function _relatedTarget(event) {=0A=
      var element;=0A=
      switch (event.type) {=0A=
        case 'mouseover': element =3D event.fromElement; break;=0A=
        case 'mouseout':  element =3D event.toElement;   break;=0A=
        default: return null;=0A=
      }=0A=
      return Element.extend(element);=0A=
    }=0A=
=0A=
    Object.extend(methods, {=0A=
      stopPropagation: function() { this.cancelBubble =3D true },=0A=
      preventDefault:  function() { this.returnValue =3D false },=0A=
      inspect: function() { return '[object Event]' }=0A=
    });=0A=
=0A=
    Event.extend =3D function(event, element) {=0A=
      if (!event) return false;=0A=
      if (event._extendedByPrototype) return event;=0A=
=0A=
      event._extendedByPrototype =3D Prototype.emptyFunction;=0A=
      var pointer =3D Event.pointer(event);=0A=
=0A=
      Object.extend(event, {=0A=
        target: event.srcElement || element,=0A=
        relatedTarget: _relatedTarget(event),=0A=
        pageX:  pointer.x,=0A=
        pageY:  pointer.y=0A=
      });=0A=
=0A=
      return Object.extend(event, methods);=0A=
    };=0A=
  } else {=0A=
    Event.prototype =3D window.Event.prototype || =
document.createEvent('HTMLEvents').__proto__;=0A=
    Object.extend(Event.prototype, methods);=0A=
    Event.extend =3D Prototype.K;=0A=
  }=0A=
=0A=
  function _createResponder(element, eventName, handler) {=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) {=0A=
      CACHE.push(element);=0A=
      registry =3D Element.retrieve(element, 'prototype_event_registry', =
$H());=0A=
    }=0A=
=0A=
    var respondersForEvent =3D registry.get(eventName);=0A=
    if (Object.isUndefined(respondersForEvent)) {=0A=
      respondersForEvent =3D [];=0A=
      registry.set(eventName, respondersForEvent);=0A=
    }=0A=
=0A=
    if (respondersForEvent.pluck('handler').include(handler)) return =
false;=0A=
=0A=
    var responder;=0A=
    if (eventName.include(":")) {=0A=
      responder =3D function(event) {=0A=
        if (Object.isUndefined(event.eventName))=0A=
          return false;=0A=
=0A=
        if (event.eventName !=3D=3D eventName)=0A=
          return false;=0A=
=0A=
        Event.extend(event, element);=0A=
        handler.call(element, event);=0A=
      };=0A=
    } else {=0A=
      if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED &&=0A=
       (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave")) {=0A=
        if (eventName =3D=3D=3D "mouseenter" || eventName =3D=3D=3D =
"mouseleave") {=0A=
          responder =3D function(event) {=0A=
            Event.extend(event, element);=0A=
=0A=
            var parent =3D event.relatedTarget;=0A=
            while (parent && parent !=3D=3D element) {=0A=
              try { parent =3D parent.parentNode; }=0A=
              catch(e) { parent =3D element; }=0A=
            }=0A=
=0A=
            if (parent =3D=3D=3D element) return;=0A=
=0A=
            handler.call(element, event);=0A=
          };=0A=
        }=0A=
      } else {=0A=
        responder =3D function(event) {=0A=
          Event.extend(event, element);=0A=
          handler.call(element, event);=0A=
        };=0A=
      }=0A=
    }=0A=
=0A=
    responder.handler =3D handler;=0A=
    respondersForEvent.push(responder);=0A=
    return responder;=0A=
  }=0A=
=0A=
  function _destroyCache() {=0A=
    for (var i =3D 0, length =3D CACHE.length; i < length; i++) {=0A=
      Event.stopObserving(CACHE[i]);=0A=
      CACHE[i] =3D null;=0A=
    }=0A=
  }=0A=
=0A=
  var CACHE =3D [];=0A=
=0A=
  if (Prototype.Browser.IE)=0A=
    window.attachEvent('onunload', _destroyCache);=0A=
=0A=
  if (Prototype.Browser.WebKit)=0A=
    window.addEventListener('unload', Prototype.emptyFunction, false);=0A=
=0A=
=0A=
  var _getDOMEventName =3D Prototype.K;=0A=
=0A=
  if (!MOUSEENTER_MOUSELEAVE_EVENTS_SUPPORTED) {=0A=
    _getDOMEventName =3D function(eventName) {=0A=
      var translations =3D { mouseenter: "mouseover", mouseleave: =
"mouseout" };=0A=
      return eventName in translations ? translations[eventName] : =
eventName;=0A=
    };=0A=
  }=0A=
=0A=
  function observe(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var responder =3D _createResponder(element, eventName, handler);=0A=
=0A=
    if (!responder) return element;=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.addEventListener)=0A=
        element.addEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.attachEvent("ondataavailable", responder);=0A=
        element.attachEvent("onfilterchange", responder);=0A=
      }=0A=
    } else {=0A=
      var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
      if (element.addEventListener)=0A=
        element.addEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.attachEvent("on" + actualEventName, responder);=0A=
    }=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function stopObserving(element, eventName, handler) {=0A=
    element =3D $(element);=0A=
=0A=
    var registry =3D Element.retrieve(element, =
'prototype_event_registry');=0A=
=0A=
    if (Object.isUndefined(registry)) return element;=0A=
=0A=
    if (eventName && !handler) {=0A=
      var responders =3D registry.get(eventName);=0A=
=0A=
      if (Object.isUndefined(responders)) return element;=0A=
=0A=
      responders.each( function(r) {=0A=
        Element.stopObserving(element, eventName, r.handler);=0A=
      });=0A=
      return element;=0A=
    } else if (!eventName) {=0A=
      registry.each( function(pair) {=0A=
        var eventName =3D pair.key, responders =3D pair.value;=0A=
=0A=
        responders.each( function(r) {=0A=
          Element.stopObserving(element, eventName, r.handler);=0A=
        });=0A=
      });=0A=
      return element;=0A=
    }=0A=
=0A=
    var responders =3D registry.get(eventName);=0A=
=0A=
    if (!responders) return;=0A=
=0A=
    var responder =3D responders.find( function(r) { return r.handler =
=3D=3D=3D handler; });=0A=
    if (!responder) return element;=0A=
=0A=
    var actualEventName =3D _getDOMEventName(eventName);=0A=
=0A=
    if (eventName.include(':')) {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener("dataavailable", responder, false);=0A=
      else {=0A=
        element.detachEvent("ondataavailable", responder);=0A=
        element.detachEvent("onfilterchange",  responder);=0A=
      }=0A=
    } else {=0A=
      if (element.removeEventListener)=0A=
        element.removeEventListener(actualEventName, responder, false);=0A=
      else=0A=
        element.detachEvent('on' + actualEventName, responder);=0A=
    }=0A=
=0A=
    registry.set(eventName, responders.without(responder));=0A=
=0A=
    return element;=0A=
  }=0A=
=0A=
  function fire(element, eventName, memo, bubble) {=0A=
    element =3D $(element);=0A=
=0A=
    if (Object.isUndefined(bubble))=0A=
      bubble =3D true;=0A=
=0A=
    if (element =3D=3D document && document.createEvent && =
!element.dispatchEvent)=0A=
      element =3D document.documentElement;=0A=
=0A=
    var event;=0A=
    if (document.createEvent) {=0A=
      event =3D document.createEvent('HTMLEvents');=0A=
      event.initEvent('dataavailable', true, true);=0A=
    } else {=0A=
      event =3D document.createEventObject();=0A=
      event.eventType =3D bubble ? 'ondataavailable' : 'onfilterchange';=0A=
    }=0A=
=0A=
    event.eventName =3D eventName;=0A=
    event.memo =3D memo || { };=0A=
=0A=
    if (document.createEvent)=0A=
      element.dispatchEvent(event);=0A=
    else=0A=
      element.fireEvent(event.eventType, event);=0A=
=0A=
    return Event.extend(event);=0A=
  }=0A=
=0A=
=0A=
  Object.extend(Event, Event.Methods);=0A=
=0A=
  Object.extend(Event, {=0A=
    fire:          fire,=0A=
    observe:       observe,=0A=
    stopObserving: stopObserving=0A=
  });=0A=
=0A=
  Element.addMethods({=0A=
    fire:          fire,=0A=
=0A=
    observe:       observe,=0A=
=0A=
    stopObserving: stopObserving=0A=
  });=0A=
=0A=
  Object.extend(document, {=0A=
    fire:          fire.methodize(),=0A=
=0A=
    observe:       observe.methodize(),=0A=
=0A=
    stopObserving: stopObserving.methodize(),=0A=
=0A=
    loaded:        false=0A=
  });=0A=
=0A=
  if (window.Event) Object.extend(window.Event, Event);=0A=
  else window.Event =3D Event;=0A=
})();=0A=
=0A=
(function() {=0A=
  /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A=
     Matthias Miller, Dean Edwards, John Resig, and Diego Perini. */=0A=
=0A=
  var timer;=0A=
=0A=
  function fireContentLoadedEvent() {=0A=
    if (document.loaded) return;=0A=
    if (timer) window.clearTimeout(timer);=0A=
    document.loaded =3D true;=0A=
    document.fire('dom:loaded');=0A=
  }=0A=
=0A=
  function checkReadyState() {=0A=
    if (document.readyState =3D=3D=3D 'complete') {=0A=
      document.stopObserving('readystatechange', checkReadyState);=0A=
      fireContentLoadedEvent();=0A=
    }=0A=
  }=0A=
=0A=
  function pollDoScroll() {=0A=
    try { document.documentElement.doScroll('left'); }=0A=
    catch(e) {=0A=
      timer =3D pollDoScroll.defer();=0A=
      return;=0A=
    }=0A=
    fireContentLoadedEvent();=0A=
  }=0A=
=0A=
  if (document.addEventListener) {=0A=
    document.addEventListener('DOMContentLoaded', =
fireContentLoadedEvent, false);=0A=
  } else {=0A=
    document.observe('readystatechange', checkReadyState);=0A=
    if (window =3D=3D top)=0A=
      timer =3D pollDoScroll.defer();=0A=
  }=0A=
=0A=
  Event.observe(window, 'load', fireContentLoadedEvent);=0A=
})();=0A=
=0A=
Element.addMethods();=0A=
=0A=
/*------------------------------- DEPRECATED =
-------------------------------*/=0A=
=0A=
Hash.toQueryString =3D Object.toQueryString;=0A=
=0A=
var Toggle =3D { display: Element.toggle };=0A=
=0A=
Element.Methods.childOf =3D Element.Methods.descendantOf;=0A=
=0A=
var Insertion =3D {=0A=
  Before: function(element, content) {=0A=
    return Element.insert(element, {before:content});=0A=
  },=0A=
=0A=
  Top: function(element, content) {=0A=
    return Element.insert(element, {top:content});=0A=
  },=0A=
=0A=
  Bottom: function(element, content) {=0A=
    return Element.insert(element, {bottom:content});=0A=
  },=0A=
=0A=
  After: function(element, content) {=0A=
    return Element.insert(element, {after:content});=0A=
  }=0A=
};=0A=
=0A=
var $continue =3D new Error('"throw $continue" is deprecated, use =
"return" instead');=0A=
=0A=
var Position =3D {=0A=
  includeScrollOffsets: false,=0A=
=0A=
  prepare: function() {=0A=
    this.deltaX =3D  window.pageXOffset=0A=
                || document.documentElement.scrollLeft=0A=
                || document.body.scrollLeft=0A=
                || 0;=0A=
    this.deltaY =3D  window.pageYOffset=0A=
                || document.documentElement.scrollTop=0A=
                || document.body.scrollTop=0A=
                || 0;=0A=
  },=0A=
=0A=
  within: function(element, x, y) {=0A=
    if (this.includeScrollOffsets)=0A=
      return this.withinIncludingScrolloffsets(element, x, y);=0A=
    this.xcomp =3D x;=0A=
    this.ycomp =3D y;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (y >=3D this.offset[1] &&=0A=
            y <  this.offset[1] + element.offsetHeight &&=0A=
            x >=3D this.offset[0] &&=0A=
            x <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  withinIncludingScrolloffsets: function(element, x, y) {=0A=
    var offsetcache =3D Element.cumulativeScrollOffset(element);=0A=
=0A=
    this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A=
    this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A=
    this.offset =3D Element.cumulativeOffset(element);=0A=
=0A=
    return (this.ycomp >=3D this.offset[1] &&=0A=
            this.ycomp <  this.offset[1] + element.offsetHeight &&=0A=
            this.xcomp >=3D this.offset[0] &&=0A=
            this.xcomp <  this.offset[0] + element.offsetWidth);=0A=
  },=0A=
=0A=
  overlap: function(mode, element) {=0A=
    if (!mode) return 0;=0A=
    if (mode =3D=3D 'vertical')=0A=
      return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A=
        element.offsetHeight;=0A=
    if (mode =3D=3D 'horizontal')=0A=
      return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A=
        element.offsetWidth;=0A=
  },=0A=
=0A=
=0A=
  cumulativeOffset: Element.Methods.cumulativeOffset,=0A=
=0A=
  positionedOffset: Element.Methods.positionedOffset,=0A=
=0A=
  absolutize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.absolutize(element);=0A=
  },=0A=
=0A=
  relativize: function(element) {=0A=
    Position.prepare();=0A=
    return Element.relativize(element);=0A=
  },=0A=
=0A=
  realOffset: Element.Methods.cumulativeScrollOffset,=0A=
=0A=
  offsetParent: Element.Methods.getOffsetParent,=0A=
=0A=
  page: Element.Methods.viewportOffset,=0A=
=0A=
  clone: function(source, target, options) {=0A=
    options =3D options || { };=0A=
    return Element.clonePosition(target, source, options);=0A=
  }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
if (!document.getElementsByClassName) document.getElementsByClassName =
=3D function(instanceMethods){=0A=
  function iter(name) {=0A=
    return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' =
" + name + " ')]";=0A=
  }=0A=
=0A=
  instanceMethods.getElementsByClassName =3D =
Prototype.BrowserFeatures.XPath ?=0A=
  function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') =
: iter(className);=0A=
    return cond ? document._getElementsByXPath('.//*' + cond, element) : =
[];=0A=
  } : function(element, className) {=0A=
    className =3D className.toString().strip();=0A=
    var elements =3D [], classNames =3D (/\s/.test(className) ? =
$w(className) : null);=0A=
    if (!classNames && !className) return elements;=0A=
=0A=
    var nodes =3D $(element).getElementsByTagName('*');=0A=
    className =3D ' ' + className + ' ';=0A=
=0A=
    for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A=
      if (child.className && (cn =3D ' ' + child.className + ' ') && =
(cn.include(className) ||=0A=
          (classNames && classNames.all(function(name) {=0A=
            return !name.toString().blank() && cn.include(' ' + name + ' =
');=0A=
          }))))=0A=
        elements.push(Element.extend(child));=0A=
    }=0A=
    return elements;=0A=
  };=0A=
=0A=
  return function(className, parentElement) {=0A=
    return $(parentElement || =
document.body).getElementsByClassName(className);=0A=
  };=0A=
}(Element.Methods);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.ClassNames =3D Class.create();=0A=
Element.ClassNames.prototype =3D {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
  },=0A=
=0A=
  _each: function(iterator) {=0A=
    this.element.className.split(/\s+/).select(function(name) {=0A=
      return name.length > 0;=0A=
    })._each(iterator);=0A=
  },=0A=
=0A=
  set: function(className) {=0A=
    this.element.className =3D className;=0A=
  },=0A=
=0A=
  add: function(classNameToAdd) {=0A=
    if (this.include(classNameToAdd)) return;=0A=
    this.set($A(this).concat(classNameToAdd).join(' '));=0A=
  },=0A=
=0A=
  remove: function(classNameToRemove) {=0A=
    if (!this.include(classNameToRemove)) return;=0A=
    this.set($A(this).without(classNameToRemove).join(' '));=0A=
  },=0A=
=0A=
  toString: function() {=0A=
    return $A(this).join(' ');=0A=
  }=0A=
};=0A=
=0A=
Object.extend(Element.ClassNames.prototype, Enumerable);=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/js/scriptaculous.js

// script.aculo.us scriptaculous.js v1.8.3, Thu Oct 08 11:23:33 +0200 =
2009=0A=
=0A=
// Copyright (c) 2005-2009 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
//=0A=
// Permission is hereby granted, free of charge, to any person obtaining=0A=
// a copy of this software and associated documentation files (the=0A=
// "Software"), to deal in the Software without restriction, including=0A=
// without limitation the rights to use, copy, modify, merge, publish,=0A=
// distribute, sublicense, and/or sell copies of the Software, and to=0A=
// permit persons to whom the Software is furnished to do so, subject to=0A=
// the following conditions:=0A=
//=0A=
// The above copyright notice and this permission notice shall be=0A=
// included in all copies or substantial portions of the Software.=0A=
//=0A=
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A=
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A=
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A=
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A=
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A=
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A=
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A=
//=0A=
// For details, see the script.aculo.us web site: http://script.aculo.us/=0A=
=0A=
var Scriptaculous =3D {=0A=
  Version: '1.8.3',=0A=
  require: function(libraryName) {=0A=
    try{=0A=
      // inserting via DOM fails in Safari 2.0, so brute force approach=0A=
      document.write('<script type=3D"text/javascript" =
src=3D"'+libraryName+'"><\/script>');=0A=
    } catch(e) {=0A=
      // for xhtml+xml served content, fall back to DOM methods=0A=
      var script =3D document.createElement('script');=0A=
      script.type =3D 'text/javascript';=0A=
      script.src =3D libraryName;=0A=
      document.getElementsByTagName('head')[0].appendChild(script);=0A=
    }=0A=
  },=0A=
  REQUIRED_PROTOTYPE: '1.6.0.3',=0A=
  load: function() {=0A=
    function convertVersionString(versionString) {=0A=
      var v =3D versionString.replace(/_.*|\./g, '');=0A=
      v =3D parseInt(v + '0'.times(4-v.length));=0A=
      return versionString.indexOf('_') > -1 ? v-1 : v;=0A=
    }=0A=
=0A=
    if((typeof Prototype=3D=3D'undefined') ||=0A=
       (typeof Element =3D=3D 'undefined') ||=0A=
       (typeof Element.Methods=3D=3D'undefined') ||=0A=
       (convertVersionString(Prototype.Version) <=0A=
        convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))=0A=
       throw("script.aculo.us requires the Prototype JavaScript =
framework >=3D " +=0A=
        Scriptaculous.REQUIRED_PROTOTYPE);=0A=
=0A=
    var js =3D /scriptaculous\.js(\?.*)?$/;=0A=
    $$('head script[src]').findAll(function(s) {=0A=
      return s.src.match(js);=0A=
    }).each(function(s) {=0A=
      var path =3D s.src.replace(js, ''),=0A=
      includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A=
      (includes ? includes[1] : =
'builder,effects,dragdrop,controls,slider,sound').split(',').each(=0A=
       function(include) { Scriptaculous.require(path+include+'.js') });=0A=
    });=0A=
  }=0A=
};=0A=
=0A=
Scriptaculous.load();
------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/widgets/slider/js/jquery.min.js

/*!=0A=
 * jQuery JavaScript Library v1.4.2=0A=
 * http://jquery.com/=0A=
 *=0A=
 * Copyright 2010, John Resig=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * Includes Sizzle.js=0A=
 * http://sizzlejs.com/=0A=
 * Copyright 2010, The Dojo Foundation=0A=
 * Released under the MIT, BSD, and GPL Licenses.=0A=
 *=0A=
 * Date: Sat Feb 13 22:33:48 2010 -0500=0A=
 */=0A=
(function(A,w){function =
ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTi=
meout(ma,1);return}c.ready()}}function =
Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalE=
val(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.re=
moveChild(b)}function X(a,b,d,f,e,j){var i=3Da.length;if(typeof =
b=3D=3D=3D"object"){for(var o in b)X(a,o,b[o],f,e,d);return =
a}if(d!=3D=3Dw){f=3D!j&&f&&c.isFunction(d);for(o=3D0;o<i;o++)e(a[o],b,f?d=
.call(a[o],o,e(a[o],b)):d,j);return a}return i?=0A=
e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return =
false}function Z(){return true}function na(a,b,d){d[0].type=3Da;return =
c.event.handle.apply(b,d)}function oa(a){var =
b,d=3D[],f=3D[],e=3Darguments,j,i,o,k,n,r;i=3Dc.data(this,"events");if(!(=
a.liveFired=3D=3D=3Dthis||!i||!i.live||a.button&&a.type=3D=3D=3D"click"))=
{a.liveFired=3Dthis;var =
u=3Di.live.slice(0);for(k=3D0;k<u.length;k++){i=3Du[k];i.origType.replace=
(O,"")=3D=3D=3Da.type?f.push(i.selector):u.splice(k--,1)}j=3Dc(a.target).=
closest(f,a.currentTarget);n=3D0;for(r=3D=0A=
j.length;n<r;n++)for(k=3D0;k<u.length;k++){i=3Du[k];if(j[n].selector=3D=3D=
=3Di.selector){o=3Dj[n].elem;f=3Dnull;if(i.preType=3D=3D=3D"mouseenter"||=
i.preType=3D=3D=3D"mouseleave")f=3Dc(a.relatedTarget).closest(i.selector)=
[0];if(!f||f!=3D=3Do)d.push({elem:o,handleObj:i})}}n=3D0;for(r=3Dd.length=
;n<r;n++){j=3Dd[n];a.currentTarget=3Dj.elem;a.data=3Dj.handleObj.data;a.h=
andleObj=3Dj.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)=3D=3D=3D=
false){b=3Dfalse;break}}return b}}function =
pa(a,b){return"live."+(a&&a!=3D=3D"*"?a+".":"")+b.replace(/\./g,"`").repl=
ace(/ /g,=0A=
"&")}function =
qa(a){return!a||!a.parentNode||a.parentNode.nodeType=3D=3D=3D11}function =
ra(a,b){var =
d=3D0;b.each(function(){if(this.nodeName=3D=3D=3D(a[d]&&a[d].nodeName)){v=
ar f=3Dc.data(a[d++]),e=3Dc.data(this,f);if(f=3Df&&f.events){delete =
e.handle;e.events=3D{};for(var j in f)for(var i in =
f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var =
f,e,j;b=3Db&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length=3D=3D=3D1&&typeo=
f =
a[0]=3D=3D=3D"string"&&a[0].length<512&&b=3D=3D=3Ds&&!ta.test(a[0])&&(c.s=
upport.checkClone||!ua.test(a[0]))){e=3D=0A=
true;if(j=3Dc.fragments[a[0]])if(j!=3D=3D1)f=3Dj}if(!f){f=3Db.createDocum=
entFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=3Dj?f:1;return{frag=
ment:f,cacheable:e}}function K(a,b){var =
d=3D{};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=3Da});=
return d}function wa(a){return"scrollTo"in =
a&&a.document?a:a.nodeType=3D=3D=3D9?a.defaultView||a.parentWindow:false}=
var c=3Dfunction(a,b){return new =
c.fn.init(a,b)},Ra=3DA.jQuery,Sa=3DA.$,s=3DA.document,T,Ta=3D/^[^<]*(<[\w=
\W]+>)[^>]*$|^#([\w-]+)$/,Ua=3D/^.[^:#\[\.,]*$/,Va=3D/\S/,=0A=
Wa=3D/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=3D/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=3D=
navigator.userAgent,xa=3Dfalse,Q=3D[],L,$=3DObject.prototype.toString,aa=3D=
Object.prototype.hasOwnProperty,ba=3DArray.prototype.push,R=3DArray.proto=
type.slice,ya=3DArray.prototype.indexOf;c.fn=3Dc.prototype=3D{init:functi=
on(a,b){var d,f;if(!a)return =
this;if(a.nodeType){this.context=3Dthis[0]=3Da;this.length=3D1;return =
this}if(a=3D=3D=3D"body"&&!b){this.context=3Ds;this[0]=3Ds.body;this.sele=
ctor=3D"body";this.length=3D1;return this}if(typeof =
a=3D=3D=3D"string")if((d=3DTa.exec(a))&&=0A=
(d[1]||!b))if(d[1]){f=3Db?b.ownerDocument||b:s;if(a=3DXa.exec(a))if(c.isP=
lainObject(b)){a=3D[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else =
a=3D[f.createElement(a[1])];else{a=3Dsa([d[1]],[f]);a=3D(a.cacheable?a.fr=
agment.cloneNode(true):a.fragment).childNodes}return =
c.merge(this,a)}else{if(b=3Ds.getElementById(d[2])){if(b.id!=3D=3Dd[2])re=
turn =
T.find(a);this.length=3D1;this[0]=3Db}this.context=3Ds;this.selector=3Da;=
return this}else =
if(!b&&/^\w+$/.test(a)){this.selector=3Da;this.context=3Ds;a=3Ds.getEleme=
ntsByTagName(a);return c.merge(this,=0A=
a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else =
if(c.isFunction(a))return =
T.ready(a);if(a.selector!=3D=3Dw){this.selector=3Da.selector;this.context=
=3Da.context}return =
c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){=
return this.length},toArray:function(){return =
R.call(this,0)},get:function(a){return =
a=3D=3Dnull?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:functi=
on(a,b,d){var =
f=3Dc();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=3Dthis;f.con=
text=3Dthis.context;if(b=3D=3D=3D=0A=
"find")f.selector=3Dthis.selector+(this.selector?" ":"")+d;else =
if(b)f.selector=3Dthis.selector+"."+b+"("+d+")";return =
f},each:function(a,b){return =
c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c=
);else Q&&Q.push(a);return this},eq:function(a){return =
a=3D=3D=3D-1?this.slice(a):this.slice(a,+a+1)},first:function(){return =
this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return =
this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","=
))},map:function(a){return this.pushStack(c.map(this,=0A=
function(b,d){return a.call(b,d,b)}))},end:function(){return =
this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.ini=
t.prototype=3Dc.fn;c.extend=3Dc.fn.extend=3Dfunction(){var =
a=3Darguments[0]||{},b=3D1,d=3Darguments.length,f=3Dfalse,e,j,i,o;if(type=
of a=3D=3D=3D"boolean"){f=3Da;a=3Darguments[1]||{};b=3D2}if(typeof =
a!=3D=3D"object"&&!c.isFunction(a))a=3D{};if(d=3D=3D=3Db){a=3Dthis;--b}fo=
r(;b<d;b++)if((e=3Darguments[b])!=3Dnull)for(j in =
e){i=3Da[j];o=3De[j];if(a!=3D=3Do)if(f&&o&&(c.isPlainObject(o)||c.isArray=
(o))){i=3Di&&(c.isPlainObject(i)||=0A=
c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=3Dc.extend(f,i,o)}else =
if(o!=3D=3Dw)a[j]=3Do}return =
a};c.extend({noConflict:function(a){A.$=3DSa;if(a)A.jQuery=3DRa;return =
c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return =
setTimeout(c.ready,13);c.isReady=3Dtrue;if(Q){for(var =
a,b=3D0;a=3DQ[b++];)a.call(s,c);Q=3Dnull}c.fn.triggerHandler&&c(s).trigge=
rHandler("ready")}},bindReady:function(){if(!xa){xa=3Dtrue;if(s.readyStat=
e=3D=3D=3D"complete")return =
c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",=0A=
L,false);A.addEventListener("load",c.ready,false)}else =
if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("on=
load",c.ready);var =
a=3Dfalse;try{a=3DA.frameElement=3D=3Dnull}catch(b){}s.documentElement.do=
Scroll&&a&&ma()}}},isFunction:function(a){return =
$.call(a)=3D=3D=3D"[object Function]"},isArray:function(a){return =
$.call(a)=3D=3D=3D"[object =
Array]"},isPlainObject:function(a){if(!a||$.call(a)!=3D=3D"[object =
Object]"||a.nodeType||a.setInterval)return =
false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor=
.prototype,=0A=
"isPrototypeOf"))return false;var b;for(b in a);return =
b=3D=3D=3Dw||aa.call(a,b)},isEmptyObject:function(a){for(var b in =
a)return false;return true},error:function(a){throw =
a;},parseJSON:function(a){if(typeof a!=3D=3D"string"||!a)return =
null;a=3Dc.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u=
[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\=
d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return =
A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+=0A=
a))();else c.error("Invalid JSON: =
"+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var =
b=3Ds.getElementsByTagName("head")[0]||s.documentElement,d=3Ds.createElem=
ent("script");d.type=3D"text/javascript";if(c.support.scriptEval)d.append=
Child(s.createTextNode(a));else =
d.text=3Da;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:fun=
ction(a,b){return =
a.nodeName&&a.nodeName.toUpperCase()=3D=3D=3Db.toUpperCase()},each:functi=
on(a,b,d){var =
f,e=3D0,j=3Da.length,i=3Dj=3D=3D=3Dw||c.isFunction(a);if(d)if(i)for(f in =
a){if(b.apply(a[f],=0A=
d)=3D=3D=3Dfalse)break}else =
for(;e<j;){if(b.apply(a[e++],d)=3D=3D=3Dfalse)break}else if(i)for(f in =
a){if(b.call(a[f],f,a[f])=3D=3D=3Dfalse)break}else =
for(d=3Da[0];e<j&&b.call(d,e,d)!=3D=3Dfalse;d=3Da[++e]);return =
a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b)=
{b=3Db||[];if(a!=3Dnull)a.length=3D=3Dnull||typeof =
a=3D=3D=3D"string"||c.isFunction(a)||typeof =
a!=3D=3D"function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return =
b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var =
d=3D0,f=3Db.length;d<f;d++)if(b[d]=3D=3D=3D=0A=
a)return d;return-1},merge:function(a,b){var =
d=3Da.length,f=3D0;if(typeof b.length=3D=3D=3D"number")for(var =
e=3Db.length;f<e;f++)a[d++]=3Db[f];else =
for(;b[f]!=3D=3Dw;)a[d++]=3Db[f++];a.length=3Dd;return =
a},grep:function(a,b,d){for(var =
f=3D[],e=3D0,j=3Da.length;e<j;e++)!d!=3D=3D!b(a[e],e)&&f.push(a[e]);retur=
n f},map:function(a,b,d){for(var =
f=3D[],e,j=3D0,i=3Da.length;j<i;j++){e=3Db(a[j],j,d);if(e!=3Dnull)f[f.len=
gth]=3De}return =
f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length=3D=
=3D=3D2)if(typeof b=3D=3D=3D"string"){d=3Da;a=3Dd[b];b=3Dw}else if(b&&=0A=
!c.isFunction(b)){d=3Db;b=3Dw}if(!b&&a)b=3Dfunction(){return =
a.apply(d||this,arguments)};if(a)b.guid=3Da.guid=3Da.guid||b.guid||c.guid=
++;return b},uaMatch:function(a){a=3Da.toLowerCase();a=3D/(webkit)[ =
\/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ =
\/]([\w.]+)/.exec(a)||/(msie) =
([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? =
rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},br=
owser:{}});P=3Dc.uaMatch(P);if(P.browser){c.browser[P.browser]=3Dtrue;c.b=
rowser.version=3DP.version}if(c.browser.webkit)c.browser.safari=3D=0A=
true;if(ya)c.inArray=3Dfunction(a,b){return =
ya.call(b,a)};T=3Dc(s);if(s.addEventListener)L=3Dfunction(){s.removeEvent=
Listener("DOMContentLoaded",L,false);c.ready()};else =
if(s.attachEvent)L=3Dfunction(){if(s.readyState=3D=3D=3D"complete"){s.det=
achEvent("onreadystatechange",L);c.ready()}};(function(){c.support=3D{};v=
ar =
a=3Ds.documentElement,b=3Ds.createElement("script"),d=3Ds.createElement("=
div"),f=3D"script"+J();d.style.display=3D"none";d.innerHTML=3D"   =
<link/><table></table><a href=3D'/a' =
style=3D'color:red;float:left;opacity:.55;'>a</a><input =
type=3D'checkbox'/>";=0A=
var =
e=3Dd.getElementsByTagName("*"),j=3Dd.getElementsByTagName("a")[0];if(!(!=
e||!e.length||!j)){c.support=3D{leadingWhitespace:d.firstChild.nodeType=3D=
=3D=3D3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.g=
etElementsByTagName("link").length,style:/red/.test(j.getAttribute("style=
")),hrefNormalized:j.getAttribute("href")=3D=3D=3D"/a",opacity:/^0.55$/.t=
est(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByT=
agName("input")[0].value=3D=3D=3D"on",optSelected:s.createElement("select=
").appendChild(s.createElement("option")).selected,=0A=
parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNod=
e=3D=3D=3Dnull,deleteExpando:true,checkClone:false,scriptEval:false,noClo=
neEvent:true,boxModel:null};b.type=3D"text/javascript";try{b.appendChild(=
s.createTextNode("window."+f+"=3D1;"))}catch(i){}a.insertBefore(b,a.first=
Child);if(A[f]){c.support.scriptEval=3Dtrue;delete A[f]}try{delete =
b.test}catch(o){c.support.deleteExpando=3Dfalse}a.removeChild(b);if(d.att=
achEvent&&d.fireEvent){d.attachEvent("onclick",function =
k(){c.support.noCloneEvent=3D=0A=
false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")=
}d=3Ds.createElement("div");d.innerHTML=3D"<input type=3D'radio' =
name=3D'radiotest' =
checked=3D'checked'/>";a=3Ds.createDocumentFragment();a.appendChild(d.fir=
stChild);c.support.checkClone=3Da.cloneNode(true).cloneNode(true).lastChi=
ld.checked;c(function(){var =
k=3Ds.createElement("div");k.style.width=3Dk.style.paddingLeft=3D"1px";s.=
body.appendChild(k);c.boxModel=3Dc.support.boxModel=3Dk.offsetWidth=3D=3D=
=3D2;s.body.removeChild(k).style.display=3D"none"});a=3Dfunction(k){var =
n=3D=0A=
s.createElement("div");k=3D"on"+k;var r=3Dk in =
n;if(!r){n.setAttribute(k,"return;");r=3Dtypeof =
n[k]=3D=3D=3D"function"}return =
r};c.support.submitBubbles=3Da("submit");c.support.changeBubbles=3Da("cha=
nge");a=3Db=3Dd=3De=3Dj=3Dnull}})();c.props=3D{"for":"htmlFor","class":"c=
lassName",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpac=
ing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useM=
ap",frameborder:"frameBorder"};var =
G=3D"jQuery"+J(),Ya=3D0,za=3D{};c.extend({cache:{},expando:G,noData:{embe=
d:true,object:true,=0A=
applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.to=
LowerCase()])){a=3Da=3D=3DA?za:a;var f=3Da[G],e=3Dc.cache;if(!f&&typeof =
b=3D=3D=3D"string"&&d=3D=3D=3Dw)return null;f||(f=3D++Ya);if(typeof =
b=3D=3D=3D"object"){a[G]=3Df;e[f]=3Dc.extend(true,{},b)}else =
if(!e[f]){a[G]=3Df;e[f]=3D{}}a=3De[f];if(d!=3D=3Dw)a[b]=3Dd;return =
typeof =
b=3D=3D=3D"string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.n=
oData[a.nodeName.toLowerCase()])){a=3Da=3D=3DA?za:a;var =
d=3Da[G],f=3Dc.cache,e=3Df[d];if(b){if(e){delete =
e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando=
)delete a[c.expando];=0A=
else a.removeAttribute&&a.removeAttribute(c.expando);delete =
f[d]}}}});c.fn.extend({data:function(a,b){if(typeof =
a=3D=3D=3D"undefined"&&this.length)return c.data(this[0]);else if(typeof =
a=3D=3D=3D"object")return this.each(function(){c.data(this,a)});var =
d=3Da.split(".");d[1]=3Dd[1]?"."+d[1]:"";if(b=3D=3D=3Dw){var =
f=3Dthis.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f=3D=3D=3Dw&&this.l=
ength)f=3Dc.data(this[0],a);return =
f=3D=3D=3Dw&&d[1]?this.data(d[0]):f}else return =
this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,=0A=
a,b)})},removeData:function(a){return =
this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a=
,b,d){if(a){b=3D(b||"fx")+"queue";var f=3Dc.data(a,b);if(!d)return =
f||[];if(!f||c.isArray(d))f=3Dc.data(a,b,c.makeArray(d));else =
f.push(d);return f}},dequeue:function(a,b){b=3Db||"fx";var =
d=3Dc.queue(a,b),f=3Dd.shift();if(f=3D=3D=3D"inprogress")f=3Dd.shift();if=
(f){b=3D=3D=3D"fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue=
(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof =
a!=3D=3D"string"){b=3Da;a=3D"fx"}if(b=3D=3D=3D=0A=
w)return c.queue(this[0],a);return this.each(function(){var =
d=3Dc.queue(this,a,b);a=3D=3D=3D"fx"&&d[0]!=3D=3D"inprogress"&&c.dequeue(=
this,a)})},dequeue:function(a){return =
this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=3Dc.fx?c.=
fx.speeds[a]||a:a;b=3Db||"fx";return this.queue(b,function(){var =
d=3Dthis;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(=
a){return this.queue(a||"fx",[])}});var =
Aa=3D/[\n\t]/g,ca=3D/\s+/,Za=3D/\r/g,$a=3D/href|src|style/,ab=3D/(button|=
input)/i,bb=3D/(button|input|object|select|textarea)/i,=0A=
cb=3D/^(a|area)$/i,Ba=3D/radio|checkbox/;c.fn.extend({attr:function(a,b){=
return X(this,a,b,true,c.attr)},removeAttr:function(a){return =
this.each(function(){c.attr(this,a,"");this.nodeType=3D=3D=3D1&&this.remo=
veAttribute(a)})},addClass:function(a){if(c.isFunction(a))return =
this.each(function(n){var =
r=3Dc(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof =
a=3D=3D=3D"string")for(var =
b=3D(a||"").split(ca),d=3D0,f=3Dthis.length;d<f;d++){var =
e=3Dthis[d];if(e.nodeType=3D=3D=3D1)if(e.className){for(var j=3D" =
"+e.className+" ",=0A=
i=3De.className,o=3D0,k=3Db.length;o<k;o++)if(j.indexOf(" "+b[o]+" =
")<0)i+=3D" "+b[o];e.className=3Dc.trim(i)}else e.className=3Da}return =
this},removeClass:function(a){if(c.isFunction(a))return =
this.each(function(k){var =
n=3Dc(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof =
a=3D=3D=3D"string"||a=3D=3D=3Dw)for(var =
b=3D(a||"").split(ca),d=3D0,f=3Dthis.length;d<f;d++){var =
e=3Dthis[d];if(e.nodeType=3D=3D=3D1&&e.className)if(a){for(var j=3D(" =
"+e.className+" ").replace(Aa," =
"),i=3D0,o=3Db.length;i<o;i++)j=3Dj.replace(" "+b[i]+" ",=0A=
" ");e.className=3Dc.trim(j)}else e.className=3D""}return =
this},toggleClass:function(a,b){var d=3Dtypeof a,f=3Dtypeof =
b=3D=3D=3D"boolean";if(c.isFunction(a))return this.each(function(e){var =
j=3Dc(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return =
this.each(function(){if(d=3D=3D=3D"string")for(var =
e,j=3D0,i=3Dc(this),o=3Db,k=3Da.split(ca);e=3Dk[j++];){o=3Df?o:!i.hasClas=
s(e);i[o?"addClass":"removeClass"](e)}else =
if(d=3D=3D=3D"undefined"||d=3D=3D=3D"boolean"){this.className&&c.data(thi=
s,"__className__",this.className);this.className=3D=0A=
this.className||a=3D=3D=3Dfalse?"":c.data(this,"__className__")||""}})},h=
asClass:function(a){a=3D" "+a+" ";for(var =
b=3D0,d=3Dthis.length;b<d;b++)if((" "+this[b].className+" =
").replace(Aa," ").indexOf(a)>-1)return true;return =
false},val:function(a){if(a=3D=3D=3Dw){var =
b=3Dthis[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}=
).specified?b.value:b.text;if(c.nodeName(b,"select")){var =
d=3Db.selectedIndex,f=3D[],e=3Db.options;b=3Db.type=3D=3D=3D"select-one";=
if(d<0)return null;var j=3Db?d:0;for(d=3Db?d+1:e.length;j<d;j++){var i=3D=0A=
e[j];if(i.selected){a=3Dc(i).val();if(b)return a;f.push(a)}}return =
f}if(Ba.test(b.type)&&!c.support.checkOn)return =
b.getAttribute("value")=3D=3D=3Dnull?"on":b.value;return(b.value||"").rep=
lace(Za,"")}return w}var o=3Dc.isFunction(a);return =
this.each(function(k){var =
n=3Dc(this),r=3Da;if(this.nodeType=3D=3D=3D1){if(o)r=3Da.call(this,k,n.va=
l());if(typeof =
r=3D=3D=3D"number")r+=3D"";if(c.isArray(r)&&Ba.test(this.type))this.check=
ed=3Dc.inArray(n.val(),r)>=3D0;else if(c.nodeName(this,"select")){var =
u=3Dc.makeArray(r);c("option",this).each(function(){this.selected=3D=0A=
c.inArray(c(this).val(),u)>=3D0});if(!u.length)this.selectedIndex=3D-1}el=
se =
this.value=3Dr}})}});c.extend({attrFn:{val:true,css:true,html:true,text:t=
rue,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){=
if(!a||a.nodeType=3D=3D=3D3||a.nodeType=3D=3D=3D8)return w;if(f&&b in =
c.attrFn)return c(a)[b](d);f=3Da.nodeType!=3D=3D1||!c.isXMLDoc(a);var =
e=3Dd!=3D=3Dw;b=3Df&&c.props[b]||b;if(a.nodeType=3D=3D=3D1){var =
j=3D$a.test(b);if(b in =
a&&f&&!j){if(e){b=3D=3D=3D"type"&&ab.test(a.nodeName)&&a.parentNode&&c.er=
ror("type property can't be changed");=0A=
a[b]=3Dd}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return =
a.getAttributeNode(b).nodeValue;if(b=3D=3D=3D"tabIndex")return(b=3Da.getA=
ttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.te=
st(a.nodeName)&&a.href?0:w;return =
a[b]}if(!c.support.style&&f&&b=3D=3D=3D"style"){if(e)a.style.cssText=3D""=
+d;return =
a.style.cssText}e&&a.setAttribute(b,""+d);a=3D!c.support.hrefNormalized&&=
f&&j?a.getAttribute(b,2):a.getAttribute(b);return =
a=3D=3D=3Dnull?w:a}return c.style(a,b,d)}});var =
O=3D/\.(.*)$/,db=3Dfunction(a){return a.replace(/[^\w\s\.\|`]/g,=0A=
function(b){return"\\"+b})};c.event=3D{add:function(a,b,d,f){if(!(a.nodeT=
ype=3D=3D=3D3||a.nodeType=3D=3D=3D8)){if(a.setInterval&&a!=3D=3DA&&!a.fra=
meElement)a=3DA;var =
e,j;if(d.handler){e=3Dd;d=3De.handler}if(!d.guid)d.guid=3Dc.guid++;if(j=3D=
c.data(a)){var =
i=3Dj.events=3Dj.events||{},o=3Dj.handle;if(!o)j.handle=3Do=3Dfunction(){=
return typeof =
c!=3D=3D"undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,argum=
ents):w};o.elem=3Da;b=3Db.split(" ");for(var =
k,n=3D0,r;k=3Db[n++];){j=3De?c.extend({},e):{handler:d,data:f};if(k.index=
Of(".")>-1){r=3Dk.split(".");=0A=
k=3Dr.shift();j.namespace=3Dr.slice(0).sort().join(".")}else{r=3D[];j.nam=
espace=3D""}j.type=3Dk;j.guid=3Dd.guid;var =
u=3Di[k],z=3Dc.event.special[k]||{};if(!u){u=3Di[k]=3D[];if(!z.setup||z.s=
etup.call(a,f,r,o)=3D=3D=3Dfalse)if(a.addEventListener)a.addEventListener=
(k,o,false);else =
a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.ha=
ndler.guid)j.handler.guid=3Dd.guid}u.push(j);c.event.global[k]=3Dtrue}a=3D=
null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType=3D=3D=3D3||a.n=
odeType=3D=3D=3D8)){var e,j=3D0,i,o,k,n,r,u,z=3Dc.data(a),=0A=
C=3Dz&&z.events;if(z&&C){if(b&&b.type){d=3Db.handler;b=3Db.type}if(!b||ty=
peof b=3D=3D=3D"string"&&b.charAt(0)=3D=3D=3D"."){b=3Db||"";for(e in =
C)c.event.remove(a,e+b)}else{for(b=3Db.split(" =
");e=3Db[j++];){n=3De;i=3De.indexOf(".")<0;o=3D[];if(!i){o=3De.split(".")=
;e=3Do.shift();k=3Dnew =
RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|=
$)")}if(r=3DC[e])if(d){n=3Dc.event.special[e]||{};for(B=3Df||0;B<r.length=
;B++){u=3Dr[B];if(d.guid=3D=3D=3Du.guid){if(i||k.test(u.namespace)){f=3D=3D=
null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=3D=0A=
null)break}}if(r.length=3D=3D=3D0||f!=3Dnull&&r.length=3D=3D=3D1){if(!n.t=
eardown||n.teardown.call(a,o)=3D=3D=3Dfalse)Ca(a,e,z.handle);delete =
C[e]}}else for(var =
B=3D0;B<r.length;B++){u=3Dr[B];if(i||k.test(u.namespace)){c.event.remove(=
a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=3Dz.handle=
)b.elem=3Dnull;delete z.events;delete =
z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,=
f){var e=3Da.type||a;if(!f){a=3Dtypeof =
a=3D=3D=3D"object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf(=
"!")>=3D0){a.type=3D=0A=
e=3De.slice(0,-1);a.exclusive=3Dtrue}if(!d){a.stopPropagation();c.event.g=
lobal[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.=
trigger(a,b,this.handle.elem)})}if(!d||d.nodeType=3D=3D=3D3||d.nodeType=3D=
=3D=3D8)return =
w;a.result=3Dw;a.target=3Dd;b=3Dc.makeArray(b);b.unshift(a)}a.currentTarg=
et=3Dd;(f=3Dc.data(d,"handle"))&&f.apply(d,b);f=3Dd.parentNode||d.ownerDo=
cument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["=
on"+e]&&d["on"+e].apply(d,b)=3D=3D=3Dfalse)a.result=3Dfalse}catch(j){}if(=
!a.isPropagationStopped()&&=0A=
f)c.event.trigger(a,b,f,true);else =
if(!a.isDefaultPrevented()){f=3Da.target;var =
i,o=3Dc.nodeName(f,"a")&&e=3D=3D=3D"click",k=3Dc.event.special[e]||{};if(=
(!k._default||k._default.call(d,a)=3D=3D=3Dfalse)&&!o&&!(f&&f.nodeName&&c=
.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=3Df["on"+e])f["on"+=
e]=3Dnull;c.event.triggered=3Dtrue;f[e]()}}catch(n){}if(i)f["on"+e]=3Di;c=
.event.triggered=3Dfalse}}},handle:function(a){var =
b,d,f,e;a=3Darguments[0]=3Dc.event.fix(a||A.event);a.currentTarget=3Dthis=
;b=3Da.type.indexOf(".")<0&&!a.exclusive;=0A=
if(!b){d=3Da.type.split(".");a.type=3Dd.shift();f=3Dnew =
RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=3Dc=
.data(this,"events");d=3De[a.type];if(e&&d){d=3Dd.slice(0);e=3D0;for(var =
j=3Dd.length;e<j;e++){var =
i=3Dd[e];if(b||f.test(i.namespace)){a.handler=3Di.handler;a.data=3Di.data=
;a.handleObj=3Di;i=3Di.handler.apply(this,arguments);if(i!=3D=3Dw){a.resu=
lt=3Di;if(i=3D=3D=3Dfalse){a.preventDefault();a.stopPropagation()}}if(a.i=
sImmediatePropagationStopped())break}}}return a.result},props:"altKey =
attrChange attrName bubbles button cancelable charCode clientX clientY =
ctrlKey currentTarget data detail eventPhase fromElement handler keyCode =
layerX layerY metaKey newValue offsetX offsetY originalTarget pageX =
pageY prevValue relatedNode relatedTarget screenX screenY shiftKey =
srcElement target toElement view wheelDelta which".split(" "),=0A=
fix:function(a){if(a[G])return a;var b=3Da;a=3Dc.Event(b);for(var =
d=3Dthis.props.length,f;d;){f=3Dthis.props[--d];a[f]=3Db[f]}if(!a.target)=
a.target=3Da.srcElement||s;if(a.target.nodeType=3D=3D=3D3)a.target=3Da.ta=
rget.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=3Da.fr=
omElement=3D=3D=3Da.target?a.toElement:a.fromElement;if(a.pageX=3D=3Dnull=
&&a.clientX!=3Dnull){b=3Ds.documentElement;d=3Ds.body;a.pageX=3Da.clientX=
+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft|=
|0);a.pageY=3Da.clientY+(b&&b.scrollTop||=0A=
d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.ch=
arCode||a.charCode=3D=3D=3D0?a.charCode:a.keyCode))a.which=3Da.charCode||=
a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=3Da.ctrlKey;if(!a.which&&a.b=
utton!=3D=3Dw)a.which=3Da.button&1?1:a.button&2?3:a.button&4?2:0;return =
a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.no=
op},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{hand=
ler:oa}))},remove:function(a){var =
b=3Dtrue,d=3Da.origType.replace(O,"");c.each(c.data(this,=0A=
"events").live||[],function(){if(d=3D=3D=3Dthis.origType.replace(O,""))re=
turn =
b=3Dfalse});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:f=
unction(a,b,d){if(this.setInterval)this.onbeforeunload=3Dd;return =
false},teardown:function(a,b){if(this.onbeforeunload=3D=3D=3Db)this.onbef=
oreunload=3Dnull}}}};var =
Ca=3Ds.removeEventListener?function(a,b,d){a.removeEventListener(b,d,fals=
e)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=3Dfunction(a){if(!th=
is.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=3D=0A=
a;this.type=3Da.type}else =
this.type=3Da;this.timeStamp=3DJ();this[G]=3Dtrue};c.Event.prototype=3D{p=
reventDefault:function(){this.isDefaultPrevented=3DZ;var =
a=3Dthis.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.retur=
nValue=3Dfalse}},stopPropagation:function(){this.isPropagationStopped=3DZ=
;var =
a=3Dthis.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.can=
celBubble=3Dtrue}},stopImmediatePropagation:function(){this.isImmediatePr=
opagationStopped=3DZ;this.stopPropagation()},isDefaultPrevented:Y,isPropa=
gationStopped:Y,=0A=
isImmediatePropagationStopped:Y};var Da=3Dfunction(a){var =
b=3Da.relatedTarget;try{for(;b&&b!=3D=3Dthis;)b=3Db.parentNode;if(b!=3D=3D=
this){a.type=3Da.data;c.event.handle.apply(this,arguments)}}catch(d){}},E=
a=3Dfunction(a){a.type=3Da.data;c.event.handle.apply(this,arguments)};c.e=
ach({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.=
special[a]=3D{setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)=
},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(=
!c.support.submitBubbles)c.event.special.submit=3D=0A=
{setup:function(){if(this.nodeName.toLowerCase()!=3D=3D"form"){c.event.ad=
d(this,"click.specialSubmit",function(a){var =
b=3Da.target,d=3Db.type;if((d=3D=3D=3D"submit"||d=3D=3D=3D"image")&&c(b).=
closest("form").length)return =
na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",f=
unction(a){var =
b=3Da.target,d=3Db.type;if((d=3D=3D=3D"text"||d=3D=3D=3D"password")&&c(b)=
.closest("form").length&&a.keyCode=3D=3D=3D13)return =
na("submit",this,arguments)})}else return =
false},teardown:function(){c.event.remove(this,".specialSubmit")}};=0A=
if(!c.support.changeBubbles){var =
da=3D/textarea|input|select/i,ea,Fa=3Dfunction(a){var =
b=3Da.type,d=3Da.value;if(b=3D=3D=3D"radio"||b=3D=3D=3D"checkbox")d=3Da.c=
hecked;else =
if(b=3D=3D=3D"select-multiple")d=3Da.selectedIndex>-1?c.map(a.options,fun=
ction(f){return f.selected}).join("-"):"";else =
if(a.nodeName.toLowerCase()=3D=3D=3D"select")d=3Da.selectedIndex;return =
d},fa=3Dfunction(a,b){var =
d=3Da.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=3Dc.data(d,"_c=
hange_data");e=3DFa(d);if(a.type!=3D=3D"focusout"||d.type!=3D=3D"radio")c=
.data(d,"_change_data",=0A=
e);if(!(f=3D=3D=3Dw||e=3D=3D=3Df))if(f!=3Dnull||e){a.type=3D"change";retu=
rn =
c.event.trigger(a,b,d)}}};c.event.special.change=3D{filters:{focusout:fa,=
click:function(a){var =
b=3Da.target,d=3Db.type;if(d=3D=3D=3D"radio"||d=3D=3D=3D"checkbox"||b.nod=
eName.toLowerCase()=3D=3D=3D"select")return =
fa.call(this,a)},keydown:function(a){var =
b=3Da.target,d=3Db.type;if(a.keyCode=3D=3D=3D13&&b.nodeName.toLowerCase()=
!=3D=3D"textarea"||a.keyCode=3D=3D=3D32&&(d=3D=3D=3D"checkbox"||d=3D=3D=3D=
"radio")||d=3D=3D=3D"select-multiple")return =
fa.call(this,a)},beforeactivate:function(a){a=3Da.target;c.data(a,=0A=
"_change_data",Fa(a))}},setup:function(){if(this.type=3D=3D=3D"file")retu=
rn false;for(var a in =
ea)c.event.add(this,a+".specialChange",ea[a]);return =
da.test(this.nodeName)},teardown:function(){c.event.remove(this,".special=
Change");return =
da.test(this.nodeName)}};ea=3Dc.event.special.change.filters}s.addEventLi=
stener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function =
d(f){f=3Dc.event.fix(f);f.type=3Db;return =
c.event.handle.call(this,f)}c.event.special[b]=3D{setup:function(){this.a=
ddEventListener(a,=0A=
d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.eac=
h(["bind","one"],function(a,b){c.fn[b]=3Dfunction(d,f,e){if(typeof =
d=3D=3D=3D"object"){for(var j in d)this[b](j,f,d[j],e);return =
this}if(c.isFunction(f)){e=3Df;f=3Dw}var =
i=3Db=3D=3D=3D"one"?c.proxy(e,function(k){c(this).unbind(k,i);return =
e.apply(this,arguments)}):e;if(d=3D=3D=3D"unload"&&b!=3D=3D"one")this.one=
(d,f,e);else{j=3D0;for(var =
o=3Dthis.length;j<o;j++)c.event.add(this[j],d,i,f)}return =
this}});c.fn.extend({unbind:function(a,b){if(typeof a=3D=3D=3D"object"&&=0A=
!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=3D0;for(var =
f=3Dthis.length;d<f;d++)c.event.remove(this[d],a,b)}return =
this},delegate:function(a,b,d,f){return =
this.live(b,d,f,a)},undelegate:function(a,b,d){return =
arguments.length=3D=3D=3D0?this.unbind("live"):this.die(b,null,d,a)},trig=
ger:function(a,b){return =
this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function=
(a,b){if(this[0]){a=3Dc.Event(a);a.preventDefault();a.stopPropagation();c=
.event.trigger(a,b,this[0]);return a.result}},=0A=
toggle:function(a){for(var =
b=3Darguments,d=3D1;d<b.length;)c.proxy(a,b[d++]);return =
this.click(c.proxy(a,function(f){var =
e=3D(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.gu=
id,e+1);f.preventDefault();return =
b[e].apply(this,arguments)||false}))},hover:function(a,b){return =
this.mouseenter(a).mouseleave(b||a)}});var =
Ga=3D{focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"=
mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=3Dfunction(d,f,e,j=
){var i,o=3D0,k,n,r=3Dj||this.selector,=0A=
u=3Dj?this:c(this.context);if(c.isFunction(f)){e=3Df;f=3Dw}for(d=3D(d||""=
).split(" =
");(i=3Dd[o++])!=3Dnull;){j=3DO.exec(i);k=3D"";if(j){k=3Dj[0];i=3Di.repla=
ce(O,"")}if(i=3D=3D=3D"hover")d.push("mouseenter"+k,"mouseleave"+k);else{=
n=3Di;if(i=3D=3D=3D"focus"||i=3D=3D=3D"blur"){d.push(Ga[i]+k);i+=3Dk}else=
 =
i=3D(Ga[i]||i)+k;b=3D=3D=3D"live"?u.each(function(){c.event.add(this,pa(i=
,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u=
.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout =
load resize scroll unload click dblclick mousedown mouseup mousemove =
mouseover mouseout mouseenter mouseleave change select submit keydown =
keypress keyup error".split(" "),=0A=
function(a,b){c.fn[b]=3Dfunction(d){return =
d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=3Dtrue});A.atta=
chEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var=
 a in =
c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}c=
atch(b){}});(function(){function a(g){for(var =
h=3D"",l,m=3D0;g[m];m++){l=3Dg[m];if(l.nodeType=3D=3D=3D3||l.nodeType=3D=3D=
=3D4)h+=3Dl.nodeValue;else =
if(l.nodeType!=3D=3D8)h+=3Da(l.childNodes)}return h}function =
b(g,h,l,m,q,p){q=3D0;for(var v=3Dm.length;q<v;q++){var t=3Dm[q];=0A=
if(t){t=3Dt[g];for(var =
y=3Dfalse;t;){if(t.sizcache=3D=3D=3Dl){y=3Dm[t.sizset];break}if(t.nodeTyp=
e=3D=3D=3D1&&!p){t.sizcache=3Dl;t.sizset=3Dq}if(t.nodeName.toLowerCase()=3D=
=3D=3Dh){y=3Dt;break}t=3Dt[g]}m[q]=3Dy}}}function =
d(g,h,l,m,q,p){q=3D0;for(var v=3Dm.length;q<v;q++){var =
t=3Dm[q];if(t){t=3Dt[g];for(var =
y=3Dfalse;t;){if(t.sizcache=3D=3D=3Dl){y=3Dm[t.sizset];break}if(t.nodeTyp=
e=3D=3D=3D1){if(!p){t.sizcache=3Dl;t.sizset=3Dq}if(typeof =
h!=3D=3D"string"){if(t=3D=3D=3Dh){y=3Dtrue;break}}else =
if(k.filter(h,[t]).length>0){y=3Dt;break}}t=3Dt[g]}m[q]=3Dy}}}var =
f=3D/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]=
'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,=0A=
e=3D0,j=3DObject.prototype.toString,i=3Dfalse,o=3Dtrue;[0,0].sort(functio=
n(){o=3Dfalse;return 0});var k=3Dfunction(g,h,l,m){l=3Dl||[];var =
q=3Dh=3Dh||s;if(h.nodeType!=3D=3D1&&h.nodeType!=3D=3D9)return[];if(!g||ty=
peof g!=3D=3D"string")return l;for(var =
p=3D[],v,t,y,S,H=3Dtrue,M=3Dx(h),I=3Dg;(f.exec(""),v=3Df.exec(I))!=3D=3Dn=
ull;){I=3Dv[3];p.push(v[1]);if(v[2]){S=3Dv[3];break}}if(p.length>1&&r.exe=
c(g))if(p.length=3D=3D=3D2&&n.relative[p[0]])t=3Dga(p[0]+p[1],h);else =
for(t=3Dn.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=3Dp.shift();if(n=
.relative[g])g+=3Dp.shift();=0A=
t=3Dga(g,t)}else{if(!m&&p.length>1&&h.nodeType=3D=3D=3D9&&!M&&n.match.ID.=
test(p[0])&&!n.match.ID.test(p[p.length-1])){v=3Dk.find(p.shift(),h,M);h=3D=
v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=3Dm?{expr:p.pop(),set:z=
(m)}:k.find(p.pop(),p.length=3D=3D=3D1&&(p[0]=3D=3D=3D"~"||p[0]=3D=3D=3D"=
+")&&h.parentNode?h.parentNode:h,M);t=3Dv.expr?k.filter(v.expr,v.set):v.s=
et;if(p.length>0)y=3Dz(t);else H=3Dfalse;for(;p.length;){var =
D=3Dp.pop();v=3DD;if(n.relative[D])v=3Dp.pop();else =
D=3D"";if(v=3D=3Dnull)v=3Dh;n.relative[D](y,v,M)}}else =
y=3D[]}y||(y=3Dt);y||k.error(D||=0A=
g);if(j.call(y)=3D=3D=3D"[object =
Array]")if(H)if(h&&h.nodeType=3D=3D=3D1)for(g=3D0;y[g]!=3Dnull;g++){if(y[=
g]&&(y[g]=3D=3D=3Dtrue||y[g].nodeType=3D=3D=3D1&&E(h,y[g])))l.push(t[g])}=
else =
for(g=3D0;y[g]!=3Dnull;g++)y[g]&&y[g].nodeType=3D=3D=3D1&&l.push(t[g]);el=
se l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return =
l};k.uniqueSort=3Dfunction(g){if(B){i=3Do;g.sort(B);if(i)for(var =
h=3D1;h<g.length;h++)g[h]=3D=3D=3Dg[h-1]&&g.splice(h--,1)}return =
g};k.matches=3Dfunction(g,h){return =
k(g,null,null,h)};k.find=3Dfunction(g,h,l){var m,q;if(!g)return[];=0A=
for(var p=3D0,v=3Dn.order.length;p<v;p++){var =
t=3Dn.order[p];if(q=3Dn.leftMatch[t].exec(g)){var =
y=3Dq[1];q.splice(1,1);if(y.substr(y.length-1)!=3D=3D"\\"){q[1]=3D(q[1]||=
"").replace(/\\/g,"");m=3Dn.find[t](q,h,l);if(m!=3Dnull){g=3Dg.replace(n.=
match[t],"");break}}}}m||(m=3Dh.getElementsByTagName("*"));return{set:m,e=
xpr:g}};k.filter=3Dfunction(g,h,l,m){for(var =
q=3Dg,p=3D[],v=3Dh,t,y,S=3Dh&&h[0]&&x(h[0]);g&&h.length;){for(var H in =
n.filter)if((t=3Dn.leftMatch[H].exec(g))!=3Dnull&&t[2]){var =
M=3Dn.filter[H],I,D;D=3Dt[1];y=3Dfalse;t.splice(1,1);if(D.substr(D.length=
-=0A=
1)!=3D=3D"\\"){if(v=3D=3D=3Dp)p=3D[];if(n.preFilter[H])if(t=3Dn.preFilter=
[H](t,v,l,p,m,S)){if(t=3D=3D=3Dtrue)continue}else =
y=3DI=3Dtrue;if(t)for(var =
U=3D0;(D=3Dv[U])!=3Dnull;U++)if(D){I=3DM(D,t,U,v);var =
Ha=3Dm^!!I;if(l&&I!=3Dnull)if(Ha)y=3Dtrue;else v[U]=3Dfalse;else =
if(Ha){p.push(D);y=3Dtrue}}if(I!=3D=3Dw){l||(v=3Dp);g=3Dg.replace(n.match=
[H],"");if(!y)return[];break}}}if(g=3D=3D=3Dq)if(y=3D=3Dnull)k.error(g);e=
lse break;q=3Dg}return v};k.error=3Dfunction(g){throw"Syntax error, =
unrecognized expression: "+g;};var =
n=3Dk.selectors=3D{order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\u=
FFFF-]|\\.)+)/,=0A=
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\*-]|\\.)+)/,CH=
ILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth=
|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,PSEUDO:/:((?:[\=
w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},lef=
tMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:=
function(g){return g.getAttribute("href")}},=0A=
relative:{"+":function(g,h){var l=3Dtypeof =
h=3D=3D=3D"string",m=3Dl&&!/\W/.test(h);l=3Dl&&!m;if(m)h=3Dh.toLowerCase(=
);m=3D0;for(var =
q=3Dg.length,p;m<q;m++)if(p=3Dg[m]){for(;(p=3Dp.previousSibling)&&p.nodeT=
ype!=3D=3D1;);g[m]=3Dl||p&&p.nodeName.toLowerCase()=3D=3D=3Dh?p||false:p=3D=
=3D=3Dh}l&&k.filter(h,g,true)},">":function(g,h){var l=3Dtypeof =
h=3D=3D=3D"string";if(l&&!/\W/.test(h)){h=3Dh.toLowerCase();for(var =
m=3D0,q=3Dg.length;m<q;m++){var =
p=3Dg[m];if(p){l=3Dp.parentNode;g[m]=3Dl.nodeName.toLowerCase()=3D=3D=3Dh=
?l:false}}}else{m=3D0;for(q=3Dg.length;m<q;m++)if(p=3Dg[m])g[m]=3D=0A=
l?p.parentNode:p.parentNode=3D=3D=3Dh;l&&k.filter(h,g,true)}},"":function=
(g,h,l){var m=3De++,q=3Dd;if(typeof =
h=3D=3D=3D"string"&&!/\W/.test(h)){var =
p=3Dh=3Dh.toLowerCase();q=3Db}q("parentNode",h,m,g,p,l)},"~":function(g,h=
,l){var m=3De++,q=3Dd;if(typeof h=3D=3D=3D"string"&&!/\W/.test(h)){var =
p=3Dh=3Dh.toLowerCase();q=3Db}q("previousSibling",h,m,g,p,l)}},find:{ID:f=
unction(g,h,l){if(typeof =
h.getElementById!=3D=3D"undefined"&&!l)return(g=3Dh.getElementById(g[1]))=
?[g]:[]},NAME:function(g,h){if(typeof =
h.getElementsByName!=3D=3D"undefined"){var l=3D[];=0A=
h=3Dh.getElementsByName(g[1]);for(var =
m=3D0,q=3Dh.length;m<q;m++)h[m].getAttribute("name")=3D=3D=3Dg[1]&&l.push=
(h[m]);return l.length=3D=3D=3D0?null:l}},TAG:function(g,h){return =
h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=3D=
" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=3D0;for(var =
v;(v=3Dh[p])!=3Dnull;p++)if(v)if(q^(v.className&&(" "+v.className+" =
").replace(/[\t\n]/g," ").indexOf(g)>=3D0))l||m.push(v);else =
if(l)h[p]=3Dfalse;return false},ID:function(g){return =
g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},=0A=
CHILD:function(g){if(g[1]=3D=3D=3D"nth"){var =
h=3D/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]=3D=3D=3D"even"&&"2n"||g[2]=3D=3D=
=3D"odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=3Dh[1]+(h[2]||=
1)-0;g[3]=3Dh[3]-0}g[0]=3De++;return =
g},ATTR:function(g,h,l,m,q,p){h=3Dg[1].replace(/\\/g,"");if(!p&&n.attrMap=
[h])g[1]=3Dn.attrMap[h];if(g[2]=3D=3D=3D"~=3D")g[4]=3D" "+g[4]+" =
";return =
g},PSEUDO:function(g,h,l,m,q){if(g[1]=3D=3D=3D"not")if((f.exec(g[3])||"")=
.length>1||/^\w/.test(g[3]))g[3]=3Dk(g[3],null,null,h);else{g=3Dk.filter(=
g[3],h,l,true^q);l||m.push.apply(m,=0A=
g);return false}else =
if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return =
g},POS:function(g){g.unshift(true);return =
g}},filters:{enabled:function(g){return =
g.disabled=3D=3D=3Dfalse&&g.type!=3D=3D"hidden"},disabled:function(g){ret=
urn g.disabled=3D=3D=3Dtrue},checked:function(g){return =
g.checked=3D=3D=3Dtrue},selected:function(g){return =
g.selected=3D=3D=3Dtrue},parent:function(g){return!!g.firstChild},empty:f=
unction(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).len=
gth},header:function(g){return/h\d/i.test(g.nodeName)},=0A=
text:function(g){return"text"=3D=3D=3Dg.type},radio:function(g){return"ra=
dio"=3D=3D=3Dg.type},checkbox:function(g){return"checkbox"=3D=3D=3Dg.type=
},file:function(g){return"file"=3D=3D=3Dg.type},password:function(g){retu=
rn"password"=3D=3D=3Dg.type},submit:function(g){return"submit"=3D=3D=3Dg.=
type},image:function(g){return"image"=3D=3D=3Dg.type},reset:function(g){r=
eturn"reset"=3D=3D=3Dg.type},button:function(g){return"button"=3D=3D=3Dg.=
type||g.nodeName.toLowerCase()=3D=3D=3D"button"},input:function(g){return=
/input|select|textarea|button/i.test(g.nodeName)}},=0A=
setFilters:{first:function(g,h){return =
h=3D=3D=3D0},last:function(g,h,l,m){return =
h=3D=3D=3Dm.length-1},even:function(g,h){return =
h%2=3D=3D=3D0},odd:function(g,h){return =
h%2=3D=3D=3D1},lt:function(g,h,l){return =
h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return =
l[3]-0=3D=3D=3Dh},eq:function(g,h,l){return =
l[3]-0=3D=3D=3Dh}},filter:{PSEUDO:function(g,h,l,m){var =
q=3Dh[1],p=3Dn.filters[q];if(p)return p(g,l,h,m);else =
if(q=3D=3D=3D"contains")return(g.textContent||g.innerText||a([g])||"").in=
dexOf(h[3])>=3D0;else if(q=3D=3D=3D"not"){h=3D=0A=
h[3];l=3D0;for(m=3Dh.length;l<m;l++)if(h[l]=3D=3D=3Dg)return =
false;return true}else k.error("Syntax error, unrecognized expression: =
"+q)},CHILD:function(g,h){var l=3Dh[1],m=3Dg;switch(l){case "only":case =
"first":for(;m=3Dm.previousSibling;)if(m.nodeType=3D=3D=3D1)return =
false;if(l=3D=3D=3D"first")return true;m=3Dg;case =
"last":for(;m=3Dm.nextSibling;)if(m.nodeType=3D=3D=3D1)return =
false;return true;case "nth":l=3Dh[2];var =
q=3Dh[3];if(l=3D=3D=3D1&&q=3D=3D=3D0)return true;h=3Dh[0];var =
p=3Dg.parentNode;if(p&&(p.sizcache!=3D=3Dh||!g.nodeIndex)){var =
v=3D0;for(m=3Dp.firstChild;m;m=3D=0A=
m.nextSibling)if(m.nodeType=3D=3D=3D1)m.nodeIndex=3D++v;p.sizcache=3Dh}g=3D=
g.nodeIndex-q;return =
l=3D=3D=3D0?g=3D=3D=3D0:g%l=3D=3D=3D0&&g/l>=3D0}},ID:function(g,h){return=
 =
g.nodeType=3D=3D=3D1&&g.getAttribute("id")=3D=3D=3Dh},TAG:function(g,h){r=
eturn =
h=3D=3D=3D"*"&&g.nodeType=3D=3D=3D1||g.nodeName.toLowerCase()=3D=3D=3Dh},=
CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" =
").indexOf(h)>-1},ATTR:function(g,h){var =
l=3Dh[1];g=3Dn.attrHandle[l]?n.attrHandle[l](g):g[l]!=3Dnull?g[l]:g.getAt=
tribute(l);l=3Dg+"";var m=3Dh[2];h=3Dh[4];return =
g=3D=3Dnull?m=3D=3D=3D"!=3D":m=3D=3D=3D=0A=
"=3D"?l=3D=3D=3Dh:m=3D=3D=3D"*=3D"?l.indexOf(h)>=3D0:m=3D=3D=3D"~=3D"?(" =
"+l+" =
").indexOf(h)>=3D0:!h?l&&g!=3D=3Dfalse:m=3D=3D=3D"!=3D"?l!=3D=3Dh:m=3D=3D=
=3D"^=3D"?l.indexOf(h)=3D=3D=3D0:m=3D=3D=3D"$=3D"?l.substr(l.length-h.len=
gth)=3D=3D=3Dh:m=3D=3D=3D"|=3D"?l=3D=3D=3Dh||l.substr(0,h.length+1)=3D=3D=
=3Dh+"-":false},POS:function(g,h,l,m){var =
q=3Dn.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=3Dn.match.POS;for(var =
u in n.match){n.match[u]=3Dnew =
RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u=
]=3Dnew =
RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,fun=
ction(g,=0A=
h){return"\\"+(h-0+1)}))}var =
z=3Dfunction(g,h){g=3DArray.prototype.slice.call(g,0);if(h){h.push.apply(=
h,g);return h}return =
g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C=
){z=3Dfunction(g,h){h=3Dh||[];if(j.call(g)=3D=3D=3D"[object =
Array]")Array.prototype.push.apply(h,g);else if(typeof =
g.length=3D=3D=3D"number")for(var =
l=3D0,m=3Dg.length;l<m;l++)h.push(g[l]);else =
for(l=3D0;g[l];l++)h.push(g[l]);return h}}var =
B;if(s.documentElement.compareDocumentPosition)B=3Dfunction(g,h){if(!g.co=
mpareDocumentPosition||=0A=
!h.compareDocumentPosition){if(g=3D=3Dh)i=3Dtrue;return =
g.compareDocumentPosition?-1:1}g=3Dg.compareDocumentPosition(h)&4?-1:g=3D=
=3D=3Dh?0:1;if(g=3D=3D=3D0)i=3Dtrue;return g};else if("sourceIndex"in =
s.documentElement)B=3Dfunction(g,h){if(!g.sourceIndex||!h.sourceIndex){if=
(g=3D=3Dh)i=3Dtrue;return =
g.sourceIndex?-1:1}g=3Dg.sourceIndex-h.sourceIndex;if(g=3D=3D=3D0)i=3Dtru=
e;return g};else =
if(s.createRange)B=3Dfunction(g,h){if(!g.ownerDocument||!h.ownerDocument)=
{if(g=3D=3Dh)i=3Dtrue;return g.ownerDocument?-1:1}var =
l=3Dg.ownerDocument.createRange(),m=3D=0A=
h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,=
0);m.setEnd(h,0);g=3Dl.compareBoundaryPoints(Range.START_TO_END,m);if(g=3D=
=3D=3D0)i=3Dtrue;return g};(function(){var =
g=3Ds.createElement("div"),h=3D"script"+(new =
Date).getTime();g.innerHTML=3D"<a name=3D'"+h+"'/>";var =
l=3Ds.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(=
h)){n.find.ID=3Dfunction(m,q,p){if(typeof =
q.getElementById!=3D=3D"undefined"&&!p)return(q=3Dq.getElementById(m[1]))=
?q.id=3D=3D=3Dm[1]||typeof q.getAttributeNode!=3D=3D"undefined"&&=0A=
q.getAttributeNode("id").nodeValue=3D=3D=3Dm[1]?[q]:w:[]};n.filter.ID=3Df=
unction(m,q){var p=3Dtypeof =
m.getAttributeNode!=3D=3D"undefined"&&m.getAttributeNode("id");return =
m.nodeType=3D=3D=3D1&&p&&p.nodeValue=3D=3D=3Dq}}l.removeChild(g);l=3Dg=3D=
null})();(function(){var =
g=3Ds.createElement("div");g.appendChild(s.createComment(""));if(g.getEle=
mentsByTagName("*").length>0)n.find.TAG=3Dfunction(h,l){l=3Dl.getElements=
ByTagName(h[1]);if(h[1]=3D=3D=3D"*"){h=3D[];for(var =
m=3D0;l[m];m++)l[m].nodeType=3D=3D=3D1&&h.push(l[m]);l=3Dh}return =
l};g.innerHTML=3D"<a href=3D'#'></a>";=0A=
if(g.firstChild&&typeof =
g.firstChild.getAttribute!=3D=3D"undefined"&&g.firstChild.getAttribute("h=
ref")!=3D=3D"#")n.attrHandle.href=3Dfunction(h){return =
h.getAttribute("href",2)};g=3Dnull})();s.querySelectorAll&&function(){var=
 g=3Dk,h=3Ds.createElement("div");h.innerHTML=3D"<p =
class=3D'TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST")=
.length=3D=3D=3D0)){k=3Dfunction(m,q,p,v){q=3Dq||s;if(!v&&q.nodeType=3D=3D=
=3D9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return =
g(m,q,p,v)};for(var l in g)k[l]=3Dg[l];h=3Dnull}}();=0A=
(function(){var g=3Ds.createElement("div");g.innerHTML=3D"<div =
class=3D'test e'></div><div =
class=3D'test'></div>";if(!(!g.getElementsByClassName||g.getElementsByCla=
ssName("e").length=3D=3D=3D0)){g.lastChild.className=3D"e";if(g.getElemen=
tsByClassName("e").length!=3D=3D1){n.order.splice(1,0,"CLASS");n.find.CLA=
SS=3Dfunction(h,l,m){if(typeof =
l.getElementsByClassName!=3D=3D"undefined"&&!m)return =
l.getElementsByClassName(h[1])};g=3Dnull}}})();var =
E=3Ds.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPos=
ition(h)&16)}:=0A=
function(g,h){return =
g!=3D=3Dh&&(g.contains?g.contains(h):true)},x=3Dfunction(g){return(g=3D(g=
?g.ownerDocument||g:0).documentElement)?g.nodeName!=3D=3D"HTML":false},ga=
=3Dfunction(g,h){var =
l=3D[],m=3D"",q;for(h=3Dh.nodeType?[h]:h;q=3Dn.match.PSEUDO.exec(g);){m+=3D=
q[0];g=3Dg.replace(n.match.PSEUDO,"")}g=3Dn.relative[g]?g+"*":g;q=3D0;for=
(var p=3Dh.length;q<p;q++)k(g,h[q],l);return =
k.filter(m,l)};c.find=3Dk;c.expr=3Dk.selectors;c.expr[":"]=3Dc.expr.filte=
rs;c.unique=3Dk.uniqueSort;c.text=3Da;c.isXMLDoc=3Dx;c.contains=3DE})();v=
ar eb=3D/Until$/,fb=3D/^(?:parents|prevUntil|prevAll)/,=0A=
gb=3D/,/;R=3DArray.prototype.slice;var =
Ia=3Dfunction(a,b,d){if(c.isFunction(b))return =
c.grep(a,function(e,j){return!!b.call(e,j,e)=3D=3D=3Dd});else =
if(b.nodeType)return c.grep(a,function(e){return =
e=3D=3D=3Db=3D=3D=3Dd});else if(typeof b=3D=3D=3D"string"){var =
f=3Dc.grep(a,function(e){return =
e.nodeType=3D=3D=3D1});if(Ua.test(b))return c.filter(b,f,!d);else =
b=3Dc.filter(b,f)}return c.grep(a,function(e){return =
c.inArray(e,b)>=3D0=3D=3D=3Dd})};c.fn.extend({find:function(a){for(var =
b=3Dthis.pushStack("","find",a),d=3D0,f=3D0,e=3Dthis.length;f<e;f++){d=3D=
b.length;=0A=
c.find(a,this[f],b);if(f>0)for(var j=3Dd;j<b.length;j++)for(var =
i=3D0;i<d;i++)if(b[i]=3D=3D=3Db[j]){b.splice(j--,1);break}}return =
b},has:function(a){var b=3Dc(a);return this.filter(function(){for(var =
d=3D0,f=3Db.length;d<f;d++)if(c.contains(this,b[d]))return =
true})},not:function(a){return =
this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return =
this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.f=
ilter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var =
d=3D[],f=3Dthis[0],e,j=3D=0A=
{},i;if(f&&a.length){e=3D0;for(var =
o=3Da.length;e<o;e++){i=3Da[e];j[i]||(j[i]=3Dc.expr.match.POS.test(i)?c(i=
,b||this.context):i)}for(;f&&f.ownerDocument&&f!=3D=3Db;){for(i in =
j){e=3Dj[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem=
:f});delete j[i]}}f=3Df.parentNode}}return d}var =
k=3Dc.expr.match.POS.test(a)?c(a,b||this.context):null;return =
this.map(function(n,r){for(;r&&r.ownerDocument&&r!=3D=3Db;){if(k?k.index(=
r)>-1:c(r).is(a))return r;r=3Dr.parentNode}return =
null})},index:function(a){if(!a||typeof a=3D=3D=3D=0A=
"string")return =
c.inArray(this[0],a?c(a):this.parent().children());return =
c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=3Dtypeof =
a=3D=3D=3D"string"?c(a,b||this.context):c.makeArray(a);b=3Dc.merge(this.g=
et(),a);return =
this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){retu=
rn =
this.add(this.prevObject)}});c.each({parent:function(a){return(a=3Da.pare=
ntNode)&&a.nodeType!=3D=3D11?a:null},parents:function(a){return =
c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return =
c.dir(a,"parentNode",=0A=
d)},next:function(a){return =
c.nth(a,2,"nextSibling")},prev:function(a){return =
c.nth(a,2,"previousSibling")},nextAll:function(a){return =
c.dir(a,"nextSibling")},prevAll:function(a){return =
c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return =
c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return =
c.dir(a,"previousSibling",d)},siblings:function(a){return =
c.sibling(a.parentNode.firstChild,a)},children:function(a){return =
c.sibling(a.firstChild)},contents:function(a){return =
c.nodeName(a,"iframe")?=0A=
a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},f=
unction(a,b){c.fn[a]=3Dfunction(d,f){var =
e=3Dc.map(this,b,d);eb.test(a)||(f=3Dd);if(f&&typeof =
f=3D=3D=3D"string")e=3Dc.filter(f,e);e=3Dthis.length>1?c.unique(e):e;if((=
this.length>1||gb.test(f))&&fb.test(a))e=3De.reverse();return =
this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:funct=
ion(a,b,d){if(d)a=3D":not("+a+")";return =
c.find.matches(a,b)},dir:function(a,b,d){var =
f=3D[];for(a=3Da[b];a&&a.nodeType!=3D=3D9&&(d=3D=3D=3Dw||a.nodeType!=3D=3D=
1||!c(a).is(d));){a.nodeType=3D=3D=3D=0A=
1&&f.push(a);a=3Da[b]}return f},nth:function(a,b,d){b=3Db||1;for(var =
f=3D0;a;a=3Da[d])if(a.nodeType=3D=3D=3D1&&++f=3D=3D=3Db)break;return =
a},sibling:function(a,b){for(var =
d=3D[];a;a=3Da.nextSibling)a.nodeType=3D=3D=3D1&&a!=3D=3Db&&d.push(a);ret=
urn d}});var Ja=3D/ =
jQuery\d+=3D"(?:\d+|null)"/g,V=3D/^\s+/,Ka=3D/(<([\w:]+)[^>]*?)\/>/g,hb=3D=
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=3D/<([\w:]+)/,=
ib=3D/<tbody/i,jb=3D/<|&#?\w+;/,ta=3D/<script|<object|<embed|<option|<sty=
le/i,ua=3D/checked\s*(?:[^=3D]|=3D\s*.checked.)/i,Ma=3Dfunction(a,b,d){re=
turn hb.test(d)?=0A=
a:b+"></"+d+">"},F=3D{option:[1,"<select =
multiple=3D'multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"=
],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>=
"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tb=
ody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],=
_default:[0,"",""]};F.optgroup=3DF.option;F.tbody=3DF.tfoot=3DF.colgroup=3D=
F.caption=3DF.thead;F.th=3DF.td;if(!c.support.htmlSerialize)F._default=3D=
[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))=
return this.each(function(b){var d=3D=0A=
c(this);d.text(a.call(this,b,d.text()))});if(typeof =
a!=3D=3D"object"&&a!=3D=3Dw)return =
this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a)=
);return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return =
this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var =
b=3Dc(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.in=
sertBefore(this[0]);b.map(function(){for(var =
d=3Dthis;d.firstChild&&d.firstChild.nodeType=3D=3D=3D1;)d=3Dd.firstChild;=
return d}).append(this)}return this},=0A=
wrapInner:function(a){if(c.isFunction(a))return =
this.each(function(b){c(this).wrapInner(a.call(this,b))});return =
this.each(function(){var =
b=3Dc(this),d=3Db.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:fu=
nction(a){return =
this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return =
this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWit=
h(this.childNodes)}).end()},append:function(){return =
this.domManip(arguments,true,function(a){this.nodeType=3D=3D=3D1&&this.ap=
pendChild(a)})},=0A=
prepend:function(){return =
this.domManip(arguments,true,function(a){this.nodeType=3D=3D=3D1&&this.in=
sertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].pa=
rentNode)return =
this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,=
this)});else if(arguments.length){var =
a=3Dc(arguments[0]);a.push.apply(a,this.toArray());return =
this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[=
0].parentNode)return =
this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,=0A=
this.nextSibling)});else if(arguments.length){var =
a=3Dthis.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0])=
.toArray());return a}},remove:function(a,b){for(var =
d=3D0,f;(f=3Dthis[d])!=3Dnull;d++)if(!a||c.filter(a,[f]).length){if(!b&&f=
.nodeType=3D=3D=3D1){c.cleanData(f.getElementsByTagName("*"));c.cleanData=
([f])}f.parentNode&&f.parentNode.removeChild(f)}return =
this},empty:function(){for(var =
a=3D0,b;(b=3Dthis[a])!=3Dnull;a++)for(b.nodeType=3D=3D=3D1&&c.cleanData(b=
.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);=0A=
return this},clone:function(a){var =
b=3Dthis.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){va=
r =
d=3Dthis.outerHTML,f=3Dthis.ownerDocument;if(!d){d=3Df.createElement("div=
");d.appendChild(this.cloneNode(true));d=3Dd.innerHTML}return =
c.clean([d.replace(Ja,"").replace(/=3D([^=3D"'>\s]+\/)>/g,'=3D"$1">').rep=
lace(V,"")],f)[0]}else return =
this.cloneNode(true)});if(a=3D=3D=3Dtrue){ra(this,b);ra(this.find("*"),b.=
find("*"))}return b},html:function(a){if(a=3D=3D=3Dw)return =
this[0]&&this[0].nodeType=3D=3D=3D1?this[0].innerHTML.replace(Ja,=0A=
""):null;else if(typeof =
a=3D=3D=3D"string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a)=
)&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=3Da.replace(Ka,Ma);try{f=
or(var =
b=3D0,d=3Dthis.length;b<d;b++)if(this[b].nodeType=3D=3D=3D1){c.cleanData(=
this[b].getElementsByTagName("*"));this[b].innerHTML=3Da}}catch(f){this.e=
mpty().append(a)}}else c.isFunction(a)?this.each(function(e){var =
j=3Dc(this),i=3Dj.html();j.empty().append(function(){return =
a.call(this,e,i)})}):this.empty().append(a);return =
this},replaceWith:function(a){if(this[0]&&=0A=
this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var =
d=3Dc(this),f=3Dd.html();d.replaceWith(a.call(this,b,f))});if(typeof =
a!=3D=3D"string")a=3Dc(a).detach();return this.each(function(){var =
b=3Dthis.nextSibling,d=3Dthis.parentNode;c(this).remove();b?c(b).before(a=
):c(d).append(a)})}else return =
this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function=
(a){return this.remove(a,true)},domManip:function(a,b,d){function =
f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||=0A=
u.appendChild(u.ownerDocument.createElement("tbody")):u}var =
e,j,i=3Da[0],o=3D[],k;if(!c.support.checkClone&&arguments.length=3D=3D=3D=
3&&typeof i=3D=3D=3D"string"&&ua.test(i))return =
this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))re=
turn this.each(function(u){var =
z=3Dc(this);a[0]=3Di.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(thi=
s[0]){e=3Di&&i.parentNode;e=3Dc.support.parentNode&&e&&e.nodeType=3D=3D=3D=
11&&e.childNodes.length=3D=3D=3Dthis.length?{fragment:e}:sa(a,this,o);k=3D=
e.fragment;if(j=3Dk.childNodes.length=3D=3D=3D=0A=
1?(k=3Dk.firstChild):k.firstChild){b=3Db&&c.nodeName(j,"tr");for(var =
n=3D0,r=3Dthis.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cachea=
ble||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return =
this}});c.fragments=3D{};c.each({appendTo:"append",prependTo:"prepend",in=
sertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},functio=
n(a,b){c.fn[a]=3Dfunction(d){var f=3D[];d=3Dc(d);var =
e=3Dthis.length=3D=3D=3D1&&this[0].parentNode;if(e&&e.nodeType=3D=3D=3D11=
&&e.childNodes.length=3D=3D=3D1&&d.length=3D=3D=3D1){d[b](this[0]);=0A=
return this}else{e=3D0;for(var j=3Dd.length;e<j;e++){var =
i=3D(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=3Df.conc=
at(i)}return =
this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=3D=
b||s;if(typeof =
b.createElement=3D=3D=3D"undefined")b=3Db.ownerDocument||b[0]&&b[0].owner=
Document||s;for(var e=3D[],j=3D0,i;(i=3Da[j])!=3Dnull;j++){if(typeof =
i=3D=3D=3D"number")i+=3D"";if(i){if(typeof =
i=3D=3D=3D"string"&&!jb.test(i))i=3Db.createTextNode(i);else if(typeof =
i=3D=3D=3D"string"){i=3Di.replace(Ka,Ma);var o=3D(La.exec(i)||["",=0A=
""])[1].toLowerCase(),k=3DF[o]||F._default,n=3Dk[0],r=3Db.createElement("=
div");for(r.innerHTML=3Dk[1]+i+k[2];n--;)r=3Dr.lastChild;if(!c.support.tb=
ody){n=3Dib.test(i);o=3Do=3D=3D=3D"table"&&!n?r.firstChild&&r.firstChild.=
childNodes:k[1]=3D=3D=3D"<table>"&&!n?r.childNodes:[];for(k=3Do.length-1;=
k>=3D0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parent=
Node.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertB=
efore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=3Dr.childNodes}if(i.=
nodeType)e.push(i);else e=3D=0A=
c.merge(e,i)}}if(d)for(j=3D0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!=
e[j].type||e[j].type.toLowerCase()=3D=3D=3D"text/javascript"))f.push(e[j]=
.parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType=3D=
=3D=3D1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTa=
gName("script"))));d.appendChild(e[j])}return =
e},cleanData:function(a){for(var =
b,d,f=3Dc.cache,e=3Dc.event.special,j=3Dc.support.deleteExpando,i=3D0,o;(=
o=3Da[i])!=3Dnull;i++)if(d=3Do[c.expando]){b=3Df[d];if(b.events)for(var =
k in b.events)e[k]?=0A=
c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else =
o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var =
kb=3D/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=3D/alpha\([^)]=
*\)/,Oa=3D/opacity=3D([^)]*)/,ha=3D/float/i,ia=3D/-([a-z])/ig,lb=3D/([A-Z=
])/g,mb=3D/^-?\d+(?:px)?$/i,nb=3D/^-?\d/,ob=3D{position:"absolute",visibi=
lity:"hidden",display:"block"},pb=3D["Left","Right"],qb=3D["Top","Bottom"=
],rb=3Ds.defaultView&&s.defaultView.getComputedStyle,Pa=3Dc.support.cssFl=
oat?"cssFloat":"styleFloat",ja=3D=0A=
function(a,b){return b.toUpperCase()};c.fn.css=3Dfunction(a,b){return =
X(this,a,b,true,function(d,f,e){if(e=3D=3D=3Dw)return =
c.curCSS(d,f);if(typeof =
e=3D=3D=3D"number"&&!kb.test(f))e+=3D"px";c.style(d,f,e)})};c.extend({sty=
le:function(a,b,d){if(!a||a.nodeType=3D=3D=3D3||a.nodeType=3D=3D=3D8)retu=
rn =
w;if((b=3D=3D=3D"width"||b=3D=3D=3D"height")&&parseFloat(d)<0)d=3Dw;var =
f=3Da.style||a,e=3Dd!=3D=3Dw;if(!c.support.opacity&&b=3D=3D=3D"opacity"){=
if(e){f.zoom=3D1;b=3DparseInt(d,10)+""=3D=3D=3D"NaN"?"":"alpha(opacity=3D=
"+d*100+")";a=3Df.filter||c.curCSS(a,"filter")||"";f.filter=3D=0A=
Na.test(a)?a.replace(Na,b):b}return =
f.filter&&f.filter.indexOf("opacity=3D")>=3D0?parseFloat(Oa.exec(f.filter=
)[1])/100+"":""}if(ha.test(b))b=3DPa;b=3Db.replace(ia,ja);if(e)f[b]=3Dd;r=
eturn =
f[b]},css:function(a,b,d,f){if(b=3D=3D=3D"width"||b=3D=3D=3D"height"){var=
 e,j=3Db=3D=3D=3D"width"?pb:qb;function =
i(){e=3Db=3D=3D=3D"width"?a.offsetWidth:a.offsetHeight;f!=3D=3D"border"&&=
c.each(j,function(){f||(e-=3DparseFloat(c.curCSS(a,"padding"+this,true))|=
|0);if(f=3D=3D=3D"margin")e+=3DparseFloat(c.curCSS(a,"margin"+this,true))=
||0;else e-=3DparseFloat(c.curCSS(a,=0A=
"border"+this+"Width",true))||0})}a.offsetWidth!=3D=3D0?i():c.swap(a,ob,i=
);return Math.max(0,Math.round(e))}return =
c.curCSS(a,b,d)},curCSS:function(a,b,d){var =
f,e=3Da.style;if(!c.support.opacity&&b=3D=3D=3D"opacity"&&a.currentStyle)=
{f=3DOa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";r=
eturn =
f=3D=3D=3D""?"1":f}if(ha.test(b))b=3DPa;if(!d&&e&&e[b])f=3De[b];else =
if(rb){if(ha.test(b))b=3D"float";b=3Db.replace(lb,"-$1").toLowerCase();e=3D=
a.ownerDocument.defaultView;if(!e)return =
null;if(a=3De.getComputedStyle(a,null))f=3D=0A=
a.getPropertyValue(b);if(b=3D=3D=3D"opacity"&&f=3D=3D=3D"")f=3D"1"}else =
if(a.currentStyle){d=3Db.replace(ia,ja);f=3Da.currentStyle[b]||a.currentS=
tyle[d];if(!mb.test(f)&&nb.test(f)){b=3De.left;var =
j=3Da.runtimeStyle.left;a.runtimeStyle.left=3Da.currentStyle.left;e.left=3D=
d=3D=3D=3D"fontSize"?"1em":f||0;f=3De.pixelLeft+"px";e.left=3Db;a.runtime=
Style.left=3Dj}}return f},swap:function(a,b,d){var f=3D{};for(var e in =
b){f[e]=3Da.style[e];a.style[e]=3Db[e]}d.call(a);for(e in =
b)a.style[e]=3Df[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=3D=
function(a){var b=3D=0A=
a.offsetWidth,d=3Da.offsetHeight,f=3Da.nodeName.toLowerCase()=3D=3D=3D"tr=
";return =
b=3D=3D=3D0&&d=3D=3D=3D0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display"=
)=3D=3D=3D"none"};c.expr.filters.visible=3Dfunction(a){return!c.expr.filt=
ers.hidden(a)}}var =
sb=3DJ(),tb=3D/<script(.|\s)*?\/script>/gi,ub=3D/select|textarea/i,vb=3D/=
color|date|datetime|email|hidden|month|number|password|range|search|tel|t=
ext|time|url|week/i,N=3D/=3D\?(&|$)/,ka=3D/\?/,wb=3D/(\?|&)_=3D.*?(&|$)/,=
xb=3D/^(\w+:)?\/\/([^\/?#]+)/,yb=3D/%20/g,zb=3Dc.fn.load;c.fn.extend({loa=
d:function(a,b,d){if(typeof a!=3D=3D=0A=
"string")return zb.call(this,a);else if(!this.length)return this;var =
f=3Da.indexOf(" ");if(f>=3D0){var =
e=3Da.slice(f,a.length);a=3Da.slice(0,f)}f=3D"GET";if(b)if(c.isFunction(b=
)){d=3Db;b=3Dnull}else if(typeof =
b=3D=3D=3D"object"){b=3Dc.param(b,c.ajaxSettings.traditional);f=3D"POST"}=
var =
j=3Dthis;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,=
o){if(o=3D=3D=3D"success"||o=3D=3D=3D"notmodified")j.html(e?c("<div =
/>").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.e=
ach(d,[i.responseText,o,i])}});return this},=0A=
serialize:function(){return =
c.param(this.serializeArray())},serializeArray:function(){return =
this.map(function(){return =
this.elements?c.makeArray(this.elements):this}).filter(function(){return =
this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test=
(this.type))}).map(function(a,b){a=3Dc(this).val();return =
a=3D=3Dnull?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,valu=
e:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop =
ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),=0A=
function(a,b){c.fn[b]=3Dfunction(d){return =
this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=3D=
f||d;d=3Db;b=3Dnull}return =
c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:functio=
n(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return =
c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=3Df||d;=
d=3Db;b=3D{}}return =
c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:functi=
on(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,=0A=
global:true,type:"GET",contentType:"application/x-www-form-urlencoded",pr=
ocessData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=3D=3D=
"file:"||!A.ActiveXObject)?function(){return new =
A.XMLHttpRequest}:function(){try{return new =
A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"applicatio=
n/xml, text/xml",html:"text/html",script:"text/javascript, =
application/javascript",json:"application/json, =
text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:=
{},ajax:function(a){function b(){e.success&&=0A=
e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function =
d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);=
e.global&&!--c.active&&c.event.trigger("ajaxStop")}function =
f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var =
e=3Dc.extend(true,{},c.ajaxSettings,a),j,i,o,k=3Da&&a.context||e,n=3De.ty=
pe.toUpperCase();if(e.data&&e.processData&&typeof =
e.data!=3D=3D"string")e.data=3Dc.param(e.data,e.traditional);if(e.dataTyp=
e=3D=3D=3D"jsonp"){if(n=3D=3D=3D"GET")N.test(e.url)||(e.url+=3D(ka.test(e=
.url)?=0A=
"&":"?")+(e.jsonp||"callback")+"=3D?");else =
if(!e.data||!N.test(e.data))e.data=3D(e.data?e.data+"&":"")+(e.jsonp||"ca=
llback")+"=3D?";e.dataType=3D"json"}if(e.dataType=3D=3D=3D"json"&&(e.data=
&&N.test(e.data)||N.test(e.url))){j=3De.jsonpCallback||"jsonp"+sb++;if(e.=
data)e.data=3D(e.data+"").replace(N,"=3D"+j+"$1");e.url=3De.url.replace(N=
,"=3D"+j+"$1");e.dataType=3D"script";A[j]=3DA[j]||function(q){o=3Dq;b();d=
();A[j]=3Dw;try{delete =
A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType=3D=3D=3D"script"&&e.cac=
he=3D=3D=3Dnull)e.cache=3Dfalse;if(e.cache=3D=3D=3D=0A=
false&&n=3D=3D=3D"GET"){var =
r=3DJ(),u=3De.url.replace(wb,"$1_=3D"+r+"$2");e.url=3Du+(u=3D=3D=3De.url?=
(ka.test(e.url)?"&":"?")+"_=3D"+r:"")}if(e.data&&n=3D=3D=3D"GET")e.url+=3D=
(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("a=
jaxStart");r=3D(r=3Dxb.exec(e.url))&&(r[1]&&r[1]!=3D=3Dlocation.protocol|=
|r[2]!=3D=3Dlocation.host);if(e.dataType=3D=3D=3D"script"&&n=3D=3D=3D"GET=
"&&r){var =
z=3Ds.getElementsByTagName("head")[0]||s.documentElement,C=3Ds.createElem=
ent("script");C.src=3De.url;if(e.scriptCharset)C.charset=3De.scriptCharse=
t;if(!j){var B=3D=0A=
false;C.onload=3DC.onreadystatechange=3Dfunction(){if(!B&&(!this.readySta=
te||this.readyState=3D=3D=3D"loaded"||this.readyState=3D=3D=3D"complete")=
){B=3Dtrue;b();d();C.onload=3DC.onreadystatechange=3Dnull;z&&C.parentNode=
&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var =
E=3Dfalse,x=3De.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,=
e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.set=
RequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModifi=
ed[e.url]&&x.setRequestHeader("If-Modified-Since",=0A=
c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",=
c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest")=
;x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[=
e.dataType]+", =
*/*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,=
x,e)=3D=3D=3Dfalse){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.=
abort();return false}e.global&&f("ajaxSend",[x,e]);var =
g=3Dx.onreadystatechange=3Dfunction(q){if(!x||x.readyState=3D=3D=3D0||q=3D=
=3D=3D"abort"){E||=0A=
d();E=3Dtrue;if(x)x.onreadystatechange=3Dc.noop}else =
if(!E&&x&&(x.readyState=3D=3D=3D4||q=3D=3D=3D"timeout")){E=3Dtrue;x.onrea=
dystatechange=3Dc.noop;i=3Dq=3D=3D=3D"timeout"?"timeout":!c.httpSuccess(x=
)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success=
";var =
p;if(i=3D=3D=3D"success")try{o=3Dc.httpData(x,e.dataType,e)}catch(v){i=3D=
"parsererror";p=3Dv}if(i=3D=3D=3D"success"||i=3D=3D=3D"notmodified")j||b(=
);else =
c.handleError(e,x,i,p);d();q=3D=3D=3D"timeout"&&x.abort();if(e.async)x=3D=
null}};try{var h=3Dx.abort;x.abort=3Dfunction(){x&&h.call(x);=0A=
g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&=
g("timeout")},e.timeout);try{x.send(n=3D=3D=3D"POST"||n=3D=3D=3D"PUT"||n=3D=
=3D=3D"DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.asyn=
c||g();return =
x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,=
d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,=
a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.pro=
tocol=3D=3D=3D"file:"||a.status>=3D200&&a.status<300||a.status=3D=3D=3D30=
4||a.status=3D=3D=3D=0A=
1223||a.status=3D=3D=3D0}catch(b){}return =
false},httpNotModified:function(a,b){var =
d=3Da.getResponseHeader("Last-Modified"),f=3Da.getResponseHeader("Etag");=
if(d)c.lastModified[b]=3Dd;if(f)c.etag[b]=3Df;return =
a.status=3D=3D=3D304||a.status=3D=3D=3D0},httpData:function(a,b,d){var =
f=3Da.getResponseHeader("content-type")||"",e=3Db=3D=3D=3D"xml"||!b&&f.in=
dexOf("xml")>=3D0;a=3De?a.responseXML:a.responseText;e&&a.documentElement=
.nodeName=3D=3D=3D"parsererror"&&c.error("parsererror");if(d&&d.dataFilte=
r)a=3Dd.dataFilter(a,b);if(typeof a=3D=3D=3D"string")if(b=3D=3D=3D=0A=
"json"||!b&&f.indexOf("json")>=3D0)a=3Dc.parseJSON(a);else =
if(b=3D=3D=3D"script"||!b&&f.indexOf("javascript")>=3D0)c.globalEval(a);r=
eturn a},param:function(a,b){function =
d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d=
(i+"["+(typeof =
n=3D=3D=3D"object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=3Dnull&&typeof=
 =
o=3D=3D=3D"object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}funct=
ion =
f(i,o){o=3Dc.isFunction(o)?o():o;e[e.length]=3DencodeURIComponent(i)+"=3D=
"+encodeURIComponent(o)}var =
e=3D[];if(b=3D=3D=3Dw)b=3Dc.ajaxSettings.traditional;=0A=
if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});e=
lse for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var =
la=3D{},Ab=3D/toggle|show|hide/,Bb=3D/^([+-]=3D)?([\d+-.]+)(.*)$/,W,va=3D=
[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["wid=
th","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]]=
;c.fn.extend({show:function(a,b){if(a||a=3D=3D=3D0)return =
this.animate(K("show",3),a,b);else{a=3D0;for(b=3Dthis.length;a<b;a++){var=
 d=3Dc.data(this[a],"olddisplay");=0A=
this[a].style.display=3Dd||"";if(c.css(this[a],"display")=3D=3D=3D"none")=
{d=3Dthis[a].nodeName;var f;if(la[d])f=3Dla[d];else{var e=3Dc("<"+d+" =
/>").appendTo("body");f=3De.css("display");if(f=3D=3D=3D"none")f=3D"block=
";e.remove();la[d]=3Df}c.data(this[a],"olddisplay",f)}}a=3D0;for(b=3Dthis=
.length;a<b;a++)this[a].style.display=3Dc.data(this[a],"olddisplay")||"";=
return this}},hide:function(a,b){if(a||a=3D=3D=3D0)return =
this.animate(K("hide",3),a,b);else{a=3D0;for(b=3Dthis.length;a<b;a++){var=
 d=3Dc.data(this[a],"olddisplay");!d&&d!=3D=3D"none"&&c.data(this[a],=0A=
"olddisplay",c.css(this[a],"display"))}a=3D0;for(b=3Dthis.length;a<b;a++)=
this[a].style.display=3D"none";return =
this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=3Dtypeof =
a=3D=3D=3D"boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.appl=
y(this,arguments);else a=3D=3Dnull||d?this.each(function(){var =
f=3Dd?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K=
("toggle",3),a,b);return this},fadeTo:function(a,b,d){return =
this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},=
a,d)},=0A=
animate:function(a,b,d,f){var =
e=3Dc.speed(b,d,f);if(c.isEmptyObject(a))return =
this.each(e.complete);return =
this[e.queue=3D=3D=3Dfalse?"each":"queue"](function(){var =
j=3Dc.extend({},e),i,o=3Dthis.nodeType=3D=3D=3D1&&c(this).is(":hidden"),k=
=3Dthis;for(i in a){var =
n=3Di.replace(ia,ja);if(i!=3D=3Dn){a[n]=3Da[i];delete =
a[i];i=3Dn}if(a[i]=3D=3D=3D"hide"&&o||a[i]=3D=3D=3D"show"&&!o)return =
j.complete.call(this);if((i=3D=3D=3D"height"||i=3D=3D=3D"width")&&this.st=
yle){j.display=3Dc.css(this,"display");j.overflow=3Dthis.style.overflow}i=
f(c.isArray(a[i])){(j.specialEasing=3D=0A=
j.specialEasing||{})[i]=3Da[i][1];a[i]=3Da[i][0]}}if(j.overflow!=3Dnull)t=
his.style.overflow=3D"hidden";j.curAnim=3Dc.extend({},a);c.each(a,functio=
n(r,u){var z=3Dnew =
c.fx(k,j,r);if(Ab.test(u))z[u=3D=3D=3D"toggle"?o?"show":"hide":u](a);else=
{var C=3DBb.exec(u),B=3Dz.cur(true)||0;if(C){u=3DparseFloat(C[2]);var =
E=3DC[3]||"px";if(E!=3D=3D"px"){k.style[r]=3D(u||1)+E;B=3D(u||1)/z.cur(tr=
ue)*B;k.style[r]=3DB+E}if(C[1])u=3D(C[1]=3D=3D=3D"-=3D"?-1:1)*u+B;z.custo=
m(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var =
d=3Dc.timers;a&&this.queue([]);=0A=
this.each(function(){for(var =
f=3Dd.length-1;f>=3D0;f--)if(d[f].elem=3D=3D=3Dthis){b&&d[f](true);d.spli=
ce(f,1)}});b||this.dequeue();return =
this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("=
toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b=
){c.fn[a]=3Dfunction(d,f){return =
this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=3Da&&typeof =
a=3D=3D=3D"object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,ea=
sing:d&&b||b&&!c.isFunction(b)&&b};f.duration=3Dc.fx.off?0:typeof =
f.duration=3D=3D=3D=0A=
"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=3D=
f.complete;f.complete=3Dfunction(){f.queue!=3D=3Dfalse&&c(this).dequeue()=
;c.isFunction(f.old)&&f.old.call(this)};return =
f},easing:{linear:function(a,b,d,f){return =
d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},t=
imers:[],fx:function(a,b,d){this.options=3Db;this.elem=3Da;this.prop=3Dd;=
if(!b.orig)b.orig=3D{}}});c.fx.prototype=3D{update:function(){this.option=
s.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.p=
rop]||=0A=
c.fx.step._default)(this);if((this.prop=3D=3D=3D"height"||this.prop=3D=3D=
=3D"width")&&this.elem.style)this.elem.style.display=3D"block"},cur:funct=
ion(a){if(this.elem[this.prop]!=3Dnull&&(!this.elem.style||this.elem.styl=
e[this.prop]=3D=3Dnull))return =
this.elem[this.prop];return(a=3DparseFloat(c.css(this.elem,this.prop,a)))=
&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:functio=
n(a,b,d){function f(j){return =
e.step(j)}this.startTime=3DJ();this.start=3Da;this.end=3Db;this.unit=3Dd|=
|this.unit||"px";this.now=3Dthis.start;=0A=
this.pos=3Dthis.state=3D0;var =
e=3Dthis;f.elem=3Dthis.elem;if(f()&&c.timers.push(f)&&!W)W=3DsetInterval(=
c.fx.tick,13)},show:function(){this.options.orig[this.prop]=3Dc.style(thi=
s.elem,this.prop);this.options.show=3Dtrue;this.custom(this.prop=3D=3D=3D=
"width"||this.prop=3D=3D=3D"height"?1:0,this.cur());c(this.elem).show()},=
hide:function(){this.options.orig[this.prop]=3Dc.style(this.elem,this.pro=
p);this.options.hide=3Dtrue;this.custom(this.cur(),0)},step:function(a){v=
ar =
b=3DJ(),d=3Dtrue;if(a||b>=3Dthis.options.duration+this.startTime){this.no=
w=3D=0A=
this.end;this.pos=3Dthis.state=3D1;this.update();this.options.curAnim[thi=
s.prop]=3Dtrue;for(var f in =
this.options.curAnim)if(this.options.curAnim[f]!=3D=3Dtrue)d=3Dfalse;if(d=
){if(this.options.display!=3Dnull){this.elem.style.overflow=3Dthis.option=
s.overflow;a=3Dc.data(this.elem,"olddisplay");this.elem.style.display=3Da=
?a:this.options.display;if(c.css(this.elem,"display")=3D=3D=3D"none")this=
.elem.style.display=3D"block"}this.options.hide&&c(this.elem).hide();if(t=
his.options.hide||this.options.show)for(var e in =
this.options.curAnim)c.style(this.elem,=0A=
e,this.options.orig[e]);this.options.complete.call(this.elem)}return =
false}else{e=3Db-this.startTime;this.state=3De/this.options.duration;a=3D=
this.options.easing||(c.easing.swing?"swing":"linear");this.pos=3Dc.easin=
g[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](t=
his.state,e,0,1,this.options.duration);this.now=3Dthis.start+(this.end-th=
is.start)*this.pos;this.update()}return =
true}};c.extend(c.fx,{tick:function(){for(var =
a=3Dc.timers,b=3D0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||=0A=
c.fx.stop()},stop:function(){clearInterval(W);W=3Dnull},speeds:{slow:600,=
fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity"=
,a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=3Dnu=
ll)a.elem.style[a.prop]=3D(a.prop=3D=3D=3D"width"||a.prop=3D=3D=3D"height=
"?Math.max(0,a.now):a.now)+a.unit;else =
a.elem[a.prop]=3Da.now}}});if(c.expr&&c.expr.filters)c.expr.filters.anima=
ted=3Dfunction(a){return c.grep(c.timers,function(b){return =
a=3D=3D=3Db.elem}).length};c.fn.offset=3D"getBoundingClientRect"in =
s.documentElement?=0A=
function(a){var b=3Dthis[0];if(a)return =
this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocum=
ent)return null;if(b=3D=3D=3Db.ownerDocument.body)return =
c.offset.bodyOffset(b);var =
d=3Db.getBoundingClientRect(),f=3Db.ownerDocument;b=3Df.body;f=3Df.docume=
ntElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrol=
lTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXO=
ffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.c=
lientLeft||0)}}:function(a){var b=3D=0A=
this[0];if(a)return =
this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocum=
ent)return null;if(b=3D=3D=3Db.ownerDocument.body)return =
c.offset.bodyOffset(b);c.offset.initialize();var =
d=3Db.offsetParent,f=3Db,e=3Db.ownerDocument,j,i=3De.documentElement,o=3D=
e.body;f=3D(e=3De.defaultView)?e.getComputedStyle(b,null):b.currentStyle;=
for(var =
k=3Db.offsetTop,n=3Db.offsetLeft;(b=3Db.parentNode)&&b!=3D=3Do&&b!=3D=3Di=
;){if(c.offset.supportsFixedPosition&&f.position=3D=3D=3D"fixed")break;j=3D=
e?e.getComputedStyle(b,null):b.currentStyle;=0A=
k-=3Db.scrollTop;n-=3Db.scrollLeft;if(b=3D=3D=3Dd){k+=3Db.offsetTop;n+=3D=
b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTab=
leAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=3DparseFloat(j.borderT=
opWidth)||0;n+=3DparseFloat(j.borderLeftWidth)||0}f=3Dd;d=3Db.offsetParen=
t}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=3D=3D"vis=
ible"){k+=3DparseFloat(j.borderTopWidth)||0;n+=3DparseFloat(j.borderLeftW=
idth)||0}f=3Dj}if(f.position=3D=3D=3D"relative"||f.position=3D=3D=3D"stat=
ic"){k+=3Do.offsetTop;n+=3Do.offsetLeft}if(c.offset.supportsFixedPosition=
&&=0A=
f.position=3D=3D=3D"fixed"){k+=3DMath.max(i.scrollTop,o.scrollTop);n+=3DM=
ath.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset=3D{init=
ialize:function(){var =
a=3Ds.body,b=3Ds.createElement("div"),d,f,e,j=3DparseFloat(c.curCSS(a,"ma=
rginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,mar=
gin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML=
=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>";=0A=
a.insertBefore(b,a.firstChild);d=3Db.firstChild;f=3Dd.firstChild;e=3Dd.ne=
xtSibling.firstChild.firstChild;this.doesNotAddBorder=3Df.offsetTop!=3D=3D=
5;this.doesAddBorderForTableAndCells=3De.offsetTop=3D=3D=3D5;f.style.posi=
tion=3D"fixed";f.style.top=3D"20px";this.supportsFixedPosition=3Df.offset=
Top=3D=3D=3D20||f.offsetTop=3D=3D=3D15;f.style.position=3Df.style.top=3D"=
";d.style.overflow=3D"hidden";d.style.position=3D"relative";this.subtract=
sBorderForOverflowNotVisible=3Df.offsetTop=3D=3D=3D-5;this.doesNotInclude=
MarginInBodyOffset=3Da.offsetTop!=3D=3Dj;a.removeChild(b);=0A=
c.offset.initialize=3Dc.noop},bodyOffset:function(a){var =
b=3Da.offsetTop,d=3Da.offsetLeft;c.offset.initialize();if(c.offset.doesNo=
tIncludeMarginInBodyOffset){b+=3DparseFloat(c.curCSS(a,"marginTop",true))=
||0;d+=3DparseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d=
}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.s=
tyle.position=3D"relative";var =
f=3Dc(a),e=3Df.offset(),j=3DparseInt(c.curCSS(a,"top",true),10)||0,i=3Dpa=
rseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=3Db.call(a,=0A=
d,e);d=3D{top:b.top-e.top+j,left:b.left-e.left+i};"using"in =
b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[=
0])return null;var =
a=3Dthis[0],b=3Dthis.offsetParent(),d=3Dthis.offset(),f=3D/^body|html$/i.=
test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=3DparseFloat(c.curCS=
S(a,"marginTop",true))||0;d.left-=3DparseFloat(c.curCSS(a,"marginLeft",tr=
ue))||0;f.top+=3DparseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.le=
ft+=3DparseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.t=
op-=0A=
f.top,left:d.left-f.left}},offsetParent:function(){return =
this.map(function(){for(var =
a=3Dthis.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(=
a,"position")=3D=3D=3D"static";)a=3Da.offsetParent;return =
a})}});c.each(["Left","Top"],function(a,b){var =
d=3D"scroll"+b;c.fn[d]=3Dfunction(f){var e=3Dthis[0],j;if(!e)return =
null;if(f!=3D=3Dw)return =
this.each(function(){if(j=3Dwa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?=
f:c(j).scrollTop());else this[d]=3Df});else =
return(j=3Dwa(e))?"pageXOffset"in j?j[a?"pageYOffset":=0A=
"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.docum=
ent.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var =
d=3Db.toLowerCase();c.fn["inner"+b]=3Dfunction(){return =
this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=3Dfunction=
(f){return =
this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=3Dfuncti=
on(f){var e=3Dthis[0];if(!e)return =
f=3D=3Dnull?null:this;if(c.isFunction(f))return =
this.each(function(j){var =
i=3Dc(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in=0A=
e&&e.document?e.document.compatMode=3D=3D=3D"CSS1Compat"&&e.document.docu=
mentElement["client"+b]||e.document.body["client"+b]:e.nodeType=3D=3D=3D9=
?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElem=
ent["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f=3D=3D=
=3Dw?c.css(e,d):this.css(d,typeof =
f=3D=3D=3D"string"?f:f+"px")}});A.jQuery=3DA.$=3Dc})(window);=0A=

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/widgets/slider/js/jquery.easing.1.3.js

/*=0A=
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/=0A=
 *=0A=
 * Uses the built in easing capabilities added In jQuery 1.1=0A=
 * to offer multiple easing options=0A=
 *=0A=
 * TERMS OF USE - jQuery Easing=0A=
 * =0A=
 * Open source under the BSD License. =0A=
 * =0A=
 * Copyright =C3=82=C2=A9 2008 George McGinley Smith=0A=
 * All rights reserved.=0A=
 * =0A=
 * Redistribution and use in source and binary forms, with or without =
modification, =0A=
 * are permitted provided that the following conditions are met:=0A=
 * =0A=
 * Redistributions of source code must retain the above copyright =
notice, this list of =0A=
 * conditions and the following disclaimer.=0A=
 * Redistributions in binary form must reproduce the above copyright =
notice, this list =0A=
 * of conditions and the following disclaimer in the documentation =
and/or other materials =0A=
 * provided with the distribution.=0A=
 * =0A=
 * Neither the name of the author nor the names of contributors may be =
used to endorse =0A=
 * or promote products derived from this software without specific prior =
written permission.=0A=
 * =0A=
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS =
"AS IS" AND ANY =0A=
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE =
IMPLIED WARRANTIES OF=0A=
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. =
IN NO EVENT SHALL THE=0A=
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, =
INCIDENTAL, SPECIAL,=0A=
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, =
PROCUREMENT OF SUBSTITUTE=0A=
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS =
INTERRUPTION) HOWEVER CAUSED =0A=
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT =
LIABILITY, OR TORT (INCLUDING=0A=
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS =
SOFTWARE, EVEN IF ADVISED =0A=
 * OF THE POSSIBILITY OF SUCH DAMAGE. =0A=
 *=0A=
*/=0A=
=0A=
// t: current time, b: begInnIng value, c: change In value, d: duration=0A=
jQuery.easing['jswing'] =3D jQuery.easing['swing'];=0A=
=0A=
jQuery.extend( jQuery.easing,=0A=
{=0A=
	def: 'easeOutQuad',=0A=
	swing: function (x, t, b, c, d) {=0A=
		//alert(jQuery.easing.default);=0A=
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);=0A=
	},=0A=
	easeInQuad: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t + b;=0A=
	},=0A=
	easeOutQuad: function (x, t, b, c, d) {=0A=
		return -c *(t/=3Dd)*(t-2) + b;=0A=
	},=0A=
	easeInOutQuad: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t + b;=0A=
		return -c/2 * ((--t)*(t-2) - 1) + b;=0A=
	},=0A=
	easeInCubic: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t*t + b;=0A=
	},=0A=
	easeOutCubic: function (x, t, b, c, d) {=0A=
		return c*((t=3Dt/d-1)*t*t + 1) + b;=0A=
	},=0A=
	easeInOutCubic: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t*t + b;=0A=
		return c/2*((t-=3D2)*t*t + 2) + b;=0A=
	},=0A=
	easeInQuart: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t*t*t + b;=0A=
	},=0A=
	easeOutQuart: function (x, t, b, c, d) {=0A=
		return -c * ((t=3Dt/d-1)*t*t*t - 1) + b;=0A=
	},=0A=
	easeInOutQuart: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t*t*t + b;=0A=
		return -c/2 * ((t-=3D2)*t*t*t - 2) + b;=0A=
	},=0A=
	easeInQuint: function (x, t, b, c, d) {=0A=
		return c*(t/=3Dd)*t*t*t*t + b;=0A=
	},=0A=
	easeOutQuint: function (x, t, b, c, d) {=0A=
		return c*((t=3Dt/d-1)*t*t*t*t + 1) + b;=0A=
	},=0A=
	easeInOutQuint: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return c/2*t*t*t*t*t + b;=0A=
		return c/2*((t-=3D2)*t*t*t*t + 2) + b;=0A=
	},=0A=
	easeInSine: function (x, t, b, c, d) {=0A=
		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;=0A=
	},=0A=
	easeOutSine: function (x, t, b, c, d) {=0A=
		return c * Math.sin(t/d * (Math.PI/2)) + b;=0A=
	},=0A=
	easeInOutSine: function (x, t, b, c, d) {=0A=
		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;=0A=
	},=0A=
	easeInExpo: function (x, t, b, c, d) {=0A=
		return (t=3D=3D0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;=0A=
	},=0A=
	easeOutExpo: function (x, t, b, c, d) {=0A=
		return (t=3D=3Dd) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;=0A=
	},=0A=
	easeInOutExpo: function (x, t, b, c, d) {=0A=
		if (t=3D=3D0) return b;=0A=
		if (t=3D=3Dd) return b+c;=0A=
		if ((t/=3Dd/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;=0A=
		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;=0A=
	},=0A=
	easeInCirc: function (x, t, b, c, d) {=0A=
		return -c * (Math.sqrt(1 - (t/=3Dd)*t) - 1) + b;=0A=
	},=0A=
	easeOutCirc: function (x, t, b, c, d) {=0A=
		return c * Math.sqrt(1 - (t=3Dt/d-1)*t) + b;=0A=
	},=0A=
	easeInOutCirc: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;=0A=
		return c/2 * (Math.sqrt(1 - (t-=3D2)*t) + 1) + b;=0A=
	},=0A=
	easeInElastic: function (x, t, b, c, d) {=0A=
		var s=3D1.70158;var p=3D0;var a=3Dc;=0A=
		if (t=3D=3D0) return b;  if ((t/=3Dd)=3D=3D1) return b+c;  if (!p) =
p=3Dd*.3;=0A=
		if (a < Math.abs(c)) { a=3Dc; var s=3Dp/4; }=0A=
		else var s =3D p/(2*Math.PI) * Math.asin (c/a);=0A=
		return -(a*Math.pow(2,10*(t-=3D1)) * Math.sin( (t*d-s)*(2*Math.PI)/p =
)) + b;=0A=
	},=0A=
	easeOutElastic: function (x, t, b, c, d) {=0A=
		var s=3D1.70158;var p=3D0;var a=3Dc;=0A=
		if (t=3D=3D0) return b;  if ((t/=3Dd)=3D=3D1) return b+c;  if (!p) =
p=3Dd*.3;=0A=
		if (a < Math.abs(c)) { a=3Dc; var s=3Dp/4; }=0A=
		else var s =3D p/(2*Math.PI) * Math.asin (c/a);=0A=
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;=0A=
	},=0A=
	easeInOutElastic: function (x, t, b, c, d) {=0A=
		var s=3D1.70158;var p=3D0;var a=3Dc;=0A=
		if (t=3D=3D0) return b;  if ((t/=3Dd/2)=3D=3D2) return b+c;  if (!p) =
p=3Dd*(.3*1.5);=0A=
		if (a < Math.abs(c)) { a=3Dc; var s=3Dp/4; }=0A=
		else var s =3D p/(2*Math.PI) * Math.asin (c/a);=0A=
		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=3D1)) * Math.sin( =
(t*d-s)*(2*Math.PI)/p )) + b;=0A=
		return a*Math.pow(2,-10*(t-=3D1)) * Math.sin( (t*d-s)*(2*Math.PI)/p =
)*.5 + c + b;=0A=
	},=0A=
	easeInBack: function (x, t, b, c, d, s) {=0A=
		if (s =3D=3D undefined) s =3D 1.70158;=0A=
		return c*(t/=3Dd)*t*((s+1)*t - s) + b;=0A=
	},=0A=
	easeOutBack: function (x, t, b, c, d, s) {=0A=
		if (s =3D=3D undefined) s =3D 1.70158;=0A=
		return c*((t=3Dt/d-1)*t*((s+1)*t + s) + 1) + b;=0A=
	},=0A=
	easeInOutBack: function (x, t, b, c, d, s) {=0A=
		if (s =3D=3D undefined) s =3D 1.70158; =0A=
		if ((t/=3Dd/2) < 1) return c/2*(t*t*(((s*=3D(1.525))+1)*t - s)) + b;=0A=
		return c/2*((t-=3D2)*t*(((s*=3D(1.525))+1)*t + s) + 2) + b;=0A=
	},=0A=
	easeInBounce: function (x, t, b, c, d) {=0A=
		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;=0A=
	},=0A=
	easeOutBounce: function (x, t, b, c, d) {=0A=
		if ((t/=3Dd) < (1/2.75)) {=0A=
			return c*(7.5625*t*t) + b;=0A=
		} else if (t < (2/2.75)) {=0A=
			return c*(7.5625*(t-=3D(1.5/2.75))*t + .75) + b;=0A=
		} else if (t < (2.5/2.75)) {=0A=
			return c*(7.5625*(t-=3D(2.25/2.75))*t + .9375) + b;=0A=
		} else {=0A=
			return c*(7.5625*(t-=3D(2.625/2.75))*t + .984375) + b;=0A=
		}=0A=
	},=0A=
	easeInOutBounce: function (x, t, b, c, d) {=0A=
		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 =
+ b;=0A=
		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;=0A=
	}=0A=
});=0A=
=0A=
/*=0A=
 *=0A=
 * TERMS OF USE - EASING EQUATIONS=0A=
 * =0A=
 * Open source under the BSD License. =0A=
 * =0A=
 * Copyright =C3=82=C2=A9 2001 Robert Penner=0A=
 * All rights reserved.=0A=
 * =0A=
 * Redistribution and use in source and binary forms, with or without =
modification, =0A=
 * are permitted provided that the following conditions are met:=0A=
 * =0A=
 * Redistributions of source code must retain the above copyright =
notice, this list of =0A=
 * conditions and the following disclaimer.=0A=
 * Redistributions in binary form must reproduce the above copyright =
notice, this list =0A=
 * of conditions and the following disclaimer in the documentation =
and/or other materials =0A=
 * provided with the distribution.=0A=
 * =0A=
 * Neither the name of the author nor the names of contributors may be =
used to endorse =0A=
 * or promote products derived from this software without specific prior =
written permission.=0A=
 * =0A=
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS =
"AS IS" AND ANY =0A=
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE =
IMPLIED WARRANTIES OF=0A=
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. =
IN NO EVENT SHALL THE=0A=
 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, =
INCIDENTAL, SPECIAL,=0A=
 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, =
PROCUREMENT OF SUBSTITUTE=0A=
 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS =
INTERRUPTION) HOWEVER CAUSED =0A=
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT =
LIABILITY, OR TORT (INCLUDING=0A=
 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS =
SOFTWARE, EVEN IF ADVISED =0A=
 * OF THE POSSIBILITY OF SUCH DAMAGE. =0A=
 *=0A=
 */
------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/js/swfobject_modified.js

/*!	SWFObject v2.0 <http://code.google.com/p/swfobject/>=0A=
	Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der =
Sluis=0A=
	This software is released under the MIT License =
<http://www.opensource.org/licenses/mit-license.php>=0A=
*/=0A=
=0A=
var swfobject =3D function() {=0A=
	=0A=
	var UNDEF =3D "undefined",=0A=
		OBJECT =3D "object",=0A=
		SHOCKWAVE_FLASH =3D "Shockwave Flash",=0A=
		SHOCKWAVE_FLASH_AX =3D "ShockwaveFlash.ShockwaveFlash",=0A=
		FLASH_MIME_TYPE =3D "application/x-shockwave-flash",=0A=
		EXPRESS_INSTALL_ID =3D "SWFObjectExprInst",=0A=
		=0A=
		win =3D window,=0A=
		doc =3D document,=0A=
		nav =3D navigator,=0A=
		=0A=
		domLoadFnArr =3D [],=0A=
		regObjArr =3D [],=0A=
		timer =3D null,=0A=
		storedAltContent =3D null,=0A=
		storedAltContentId =3D null,=0A=
		isDomLoaded =3D false,=0A=
		isExpressInstallActive =3D false;=0A=
	=0A=
	/* Centralized function for browser feature detection=0A=
		- Proprietary feature detection (conditional compiling) is used to =
detect Internet Explorer's features=0A=
		- User agent string detection is only used when no alternative is =
possible=0A=
		- Is executed directly for optimal performance=0A=
	*/	=0A=
	var ua =3D function() {=0A=
		var w3cdom =3D typeof doc.getElementById !=3D UNDEF && typeof =
doc.getElementsByTagName !=3D UNDEF && typeof doc.createElement !=3D =
UNDEF && typeof doc.appendChild !=3D UNDEF && typeof doc.replaceChild =
!=3D UNDEF && typeof doc.removeChild !=3D UNDEF && typeof doc.cloneNode =
!=3D UNDEF,=0A=
			playerVersion =3D [0,0,0],=0A=
			d =3D null;=0A=
		if (typeof nav.plugins !=3D UNDEF && typeof =
nav.plugins[SHOCKWAVE_FLASH] =3D=3D OBJECT) {=0A=
			d =3D nav.plugins[SHOCKWAVE_FLASH].description;=0A=
			if (d) {=0A=
				d =3D d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");=0A=
				playerVersion[0] =3D parseInt(d.replace(/^(.*)\..*$/, "$1"), 10);=0A=
				playerVersion[1] =3D parseInt(d.replace(/^.*\.(.*)\s.*$/, "$1"), 10);=0A=
				playerVersion[2] =3D /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, =
"$1"), 10) : 0;=0A=
			}=0A=
		}=0A=
		else if (typeof win.ActiveXObject !=3D UNDEF) {=0A=
			var a =3D null, fp6Crash =3D false;=0A=
			try {=0A=
				a =3D new ActiveXObject(SHOCKWAVE_FLASH_AX + ".7");=0A=
			}=0A=
			catch(e) {=0A=
				try { =0A=
					a =3D new ActiveXObject(SHOCKWAVE_FLASH_AX + ".6");=0A=
					playerVersion =3D [6,0,21];=0A=
					a.AllowScriptAccess =3D "always";  // Introduced in fp6.0.47=0A=
				}=0A=
				catch(e) {=0A=
					if (playerVersion[0] =3D=3D 6) {=0A=
						fp6Crash =3D true;=0A=
					}=0A=
				}=0A=
				if (!fp6Crash) {=0A=
					try {=0A=
						a =3D new ActiveXObject(SHOCKWAVE_FLASH_AX);=0A=
					}=0A=
					catch(e) {}=0A=
				}=0A=
			}=0A=
			if (!fp6Crash && a) { // a will return null when ActiveX is disabled=0A=
				try {=0A=
					d =3D a.GetVariable("$version");  // Will crash fp6.0.21/23/29=0A=
					if (d) {=0A=
						d =3D d.split(" ")[1].split(",");=0A=
						playerVersion =3D [parseInt(d[0], 10), parseInt(d[1], 10), =
parseInt(d[2], 10)];=0A=
					}=0A=
				}=0A=
				catch(e) {}=0A=
			}=0A=
		}=0A=
		var u =3D nav.userAgent.toLowerCase(),=0A=
			p =3D nav.platform.toLowerCase(),=0A=
			webkit =3D /webkit/.test(u) ? =
parseFloat(u.replace(/^.*webkit\/(\d+(\.\d+)?).*$/, "$1")) : false, // =
returns either the webkit version or false if not webkit=0A=
			ie =3D false,=0A=
			windows =3D p ? /win/.test(p) : /win/.test(u),=0A=
			mac =3D p ? /mac/.test(p) : /mac/.test(u);=0A=
		/*@cc_on=0A=
			ie =3D true;=0A=
			@if (@_win32)=0A=
				windows =3D true;=0A=
			@elif (@_mac)=0A=
				mac =3D true;=0A=
			@end=0A=
		@*/=0A=
		return { w3cdom:w3cdom, pv:playerVersion, webkit:webkit, ie:ie, =
win:windows, mac:mac };=0A=
	}();=0A=
=0A=
	/* Cross-browser onDomLoad=0A=
		- Based on Dean Edwards' solution: =
http://dean.edwards.name/weblog/2006/06/again/=0A=
		- Will fire an event as soon as the DOM of a page is loaded (supported =
by Gecko based browsers - like Firefox -, IE, Opera9+, Safari)=0A=
	*/ =0A=
	var onDomLoad =3D function() {=0A=
		if (!ua.w3cdom) {=0A=
			return;=0A=
		}=0A=
		addDomLoadEvent(main);=0A=
		if (ua.ie && ua.win) {=0A=
			try {  // Avoid a possible Operation Aborted error=0A=
				doc.write("<scr" + "ipt id=3D__ie_ondomload defer=3Dtrue =
src=3D//:></scr" + "ipt>"); // String is split into pieces to avoid =
Norton AV to add code that can cause errors =0A=
				var s =3D getElementById("__ie_ondomload");=0A=
				if (s) {=0A=
					s.onreadystatechange =3D function() {=0A=
						if (this.readyState =3D=3D "complete") {=0A=
							this.parentNode.removeChild(this);=0A=
							callDomLoadFunctions();=0A=
						}=0A=
					};=0A=
				}=0A=
			}=0A=
			catch(e) {}=0A=
		}=0A=
		if (ua.webkit && typeof doc.readyState !=3D UNDEF) {=0A=
			timer =3D setInterval(function() { if =
(/loaded|complete/.test(doc.readyState)) { callDomLoadFunctions(); }}, =
10);=0A=
		}=0A=
		if (typeof doc.addEventListener !=3D UNDEF) {=0A=
			doc.addEventListener("DOMContentLoaded", callDomLoadFunctions, null);=0A=
		}=0A=
		addLoadEvent(callDomLoadFunctions);=0A=
	}();=0A=
	=0A=
	function callDomLoadFunctions() {=0A=
		if (isDomLoaded) {=0A=
			return;=0A=
		}=0A=
		if (ua.ie && ua.win) { // Test if we can really add elements to the =
DOM; we don't want to fire it too early=0A=
			var s =3D createElement("span");=0A=
			try { // Avoid a possible Operation Aborted error=0A=
				var t =3D doc.getElementsByTagName("body")[0].appendChild(s);=0A=
				t.parentNode.removeChild(t);=0A=
			}=0A=
			catch (e) {=0A=
				return;=0A=
			}=0A=
		}=0A=
		isDomLoaded =3D true;=0A=
		if (timer) {=0A=
			clearInterval(timer);=0A=
			timer =3D null;=0A=
		}=0A=
		var dl =3D domLoadFnArr.length;=0A=
		for (var i =3D 0; i < dl; i++) {=0A=
			domLoadFnArr[i]();=0A=
		}=0A=
	}=0A=
	=0A=
	function addDomLoadEvent(fn) {=0A=
		if (isDomLoaded) {=0A=
			fn();=0A=
		}=0A=
		else { =0A=
			domLoadFnArr[domLoadFnArr.length] =3D fn; // Array.push() is only =
available in IE5.5+=0A=
		}=0A=
	}=0A=
	=0A=
	/* Cross-browser onload=0A=
		- Based on James Edwards' solution: =
http://brothercake.com/site/resources/scripts/onload/=0A=
		- Will fire an event as soon as a web page including all of its assets =
are loaded =0A=
	 */=0A=
	function addLoadEvent(fn) {=0A=
		if (typeof win.addEventListener !=3D UNDEF) {=0A=
			win.addEventListener("load", fn, false);=0A=
		}=0A=
		else if (typeof doc.addEventListener !=3D UNDEF) {=0A=
			doc.addEventListener("load", fn, false);=0A=
		}=0A=
		else if (typeof win.attachEvent !=3D UNDEF) {=0A=
			win.attachEvent("onload", fn);=0A=
		}=0A=
		else if (typeof win.onload =3D=3D "function") {=0A=
			var fnOld =3D win.onload;=0A=
			win.onload =3D function() {=0A=
				fnOld();=0A=
				fn();=0A=
			};=0A=
		}=0A=
		else {=0A=
			win.onload =3D fn;=0A=
		}=0A=
	}=0A=
	=0A=
	/* Main function=0A=
		- Will preferably execute onDomLoad, otherwise onload (as a fallback)=0A=
	*/=0A=
	function main() { // Static publishing only=0A=
		var rl =3D regObjArr.length;=0A=
		for (var i =3D 0; i < rl; i++) { // For each registered object element=0A=
			var id =3D regObjArr[i].id;=0A=
			if (ua.pv[0] > 0) {=0A=
				var obj =3D getElementById(id);=0A=
				if (obj) {=0A=
					regObjArr[i].width =3D obj.getAttribute("width") ? =
obj.getAttribute("width") : "0";=0A=
					regObjArr[i].height =3D obj.getAttribute("height") ? =
obj.getAttribute("height") : "0";=0A=
					if (hasPlayerVersion(regObjArr[i].swfVersion)) { // Flash plug-in =
version >=3D Flash content version: Houston, we have a match!=0A=
						if (ua.webkit && ua.webkit < 312) { // Older webkit engines ignore =
the object element's nested param elements=0A=
							fixParams(obj);=0A=
						}=0A=
						setVisibility(id, true);=0A=
					}=0A=
					else if (regObjArr[i].expressInstall && !isExpressInstallActive && =
hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) { // Show the Adobe =
Express Install dialog if set by the web page author and if supported =
(fp6.0.65+ on Win/Mac OS only)=0A=
						showExpressInstall(regObjArr[i]);=0A=
					}=0A=
					else { // Flash plug-in and Flash content version mismatch: display =
alternative content instead of Flash content=0A=
						displayAltContent(obj);=0A=
					}=0A=
				}=0A=
			}=0A=
			else {  // If no fp is installed, we let the object element do its =
job (show alternative content)=0A=
				setVisibility(id, true);=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	/* Fix nested param elements, which are ignored by older webkit engines=0A=
		- This includes Safari up to and including version 1.2.2 on Mac OS 10.3=0A=
		- Fall back to the proprietary embed element=0A=
	*/=0A=
	function fixParams(obj) {=0A=
		var nestedObj =3D obj.getElementsByTagName(OBJECT)[0];=0A=
		if (nestedObj) {=0A=
			var e =3D createElement("embed"), a =3D nestedObj.attributes;=0A=
			if (a) {=0A=
				var al =3D a.length;=0A=
				for (var i =3D 0; i < al; i++) {=0A=
					if (a[i].nodeName.toLowerCase() =3D=3D "data") {=0A=
						e.setAttribute("src", a[i].nodeValue);=0A=
					}=0A=
					else {=0A=
						e.setAttribute(a[i].nodeName, a[i].nodeValue);=0A=
					}=0A=
				}=0A=
			}=0A=
			var c =3D nestedObj.childNodes;=0A=
			if (c) {=0A=
				var cl =3D c.length;=0A=
				for (var j =3D 0; j < cl; j++) {=0A=
					if (c[j].nodeType =3D=3D 1 && c[j].nodeName.toLowerCase() =3D=3D =
"param") {=0A=
						e.setAttribute(c[j].getAttribute("name"), =
c[j].getAttribute("value"));=0A=
					}=0A=
				}=0A=
			}=0A=
			obj.parentNode.replaceChild(e, obj);=0A=
		}=0A=
	}=0A=
	=0A=
	/* Fix hanging audio/video threads and force open sockets and =
NetConnections to disconnect=0A=
		- Occurs when unloading a web page in IE using fp8+ and =
innerHTML/outerHTML=0A=
		- Dynamic publishing only=0A=
	*/=0A=
	function fixObjectLeaks(id) {=0A=
		if (ua.ie && ua.win && hasPlayerVersion("8.0.0")) {=0A=
			win.attachEvent("onunload", function () {=0A=
				var obj =3D getElementById(id);=0A=
				if (obj) {=0A=
					for (var i in obj) {=0A=
						if (typeof obj[i] =3D=3D "function") {=0A=
							obj[i] =3D function() {};=0A=
						}=0A=
					}=0A=
					obj.parentNode.removeChild(obj);=0A=
				}=0A=
			});=0A=
		}=0A=
	}=0A=
	=0A=
	/* Show the Adobe Express Install dialog=0A=
		- Reference: =
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=3D6a253b75=0A=
	*/=0A=
	function showExpressInstall(regObj) {=0A=
		isExpressInstallActive =3D true;=0A=
		var obj =3D getElementById(regObj.id);=0A=
		if (obj) {=0A=
			if (regObj.altContentId) {=0A=
				var ac =3D getElementById(regObj.altContentId);=0A=
				if (ac) {=0A=
					storedAltContent =3D ac;=0A=
					storedAltContentId =3D regObj.altContentId;=0A=
				}=0A=
			}=0A=
			else {=0A=
				storedAltContent =3D abstractAltContent(obj);=0A=
			}=0A=
			if (!(/%$/.test(regObj.width)) && parseInt(regObj.width, 10) < 310) {=0A=
				regObj.width =3D "310";=0A=
			}=0A=
			if (!(/%$/.test(regObj.height)) && parseInt(regObj.height, 10) < 137) =
{=0A=
				regObj.height =3D "137";=0A=
			}=0A=
			doc.title =3D doc.title.slice(0, 47) + " - Flash Player Installation";=0A=
			var pt =3D ua.ie && ua.win ? "ActiveX" : "PlugIn",=0A=
				dt =3D doc.title,=0A=
				fv =3D "MMredirectURL=3D" + win.location + "&MMplayerType=3D" + pt + =
"&MMdoctitle=3D" + dt,=0A=
				replaceId =3D regObj.id;=0A=
			// For IE when a SWF is loading (AND: not available in cache) wait =
for the onload event to fire to remove the original object element=0A=
			// In IE you cannot properly cancel a loading SWF file without =
breaking browser load references, also obj.onreadystatechange doesn't =
work=0A=
			if (ua.ie && ua.win && obj.readyState !=3D 4) {=0A=
				var newObj =3D createElement("div");=0A=
				replaceId +=3D "SWFObjectNew";=0A=
				newObj.setAttribute("id", replaceId);=0A=
				obj.parentNode.insertBefore(newObj, obj); // Insert placeholder div =
that will be replaced by the object element that loads expressinstall.swf=0A=
				obj.style.display =3D "none";=0A=
				win.attachEvent("onload", function() { =
obj.parentNode.removeChild(obj); });=0A=
			}=0A=
			createSWF({ data:regObj.expressInstall, id:EXPRESS_INSTALL_ID, =
width:regObj.width, height:regObj.height }, { flashvars:fv }, replaceId);=0A=
		}=0A=
	}=0A=
	=0A=
	/* Functions to abstract and display alternative content=0A=
	*/=0A=
	function displayAltContent(obj) {=0A=
		if (ua.ie && ua.win && obj.readyState !=3D 4) {=0A=
			// For IE when a SWF is loading (AND: not available in cache) wait =
for the onload event to fire to remove the original object element=0A=
			// In IE you cannot properly cancel a loading SWF file without =
breaking browser load references, also obj.onreadystatechange doesn't =
work=0A=
			var el =3D createElement("div");=0A=
			obj.parentNode.insertBefore(el, obj); // Insert placeholder div that =
will be replaced by the alternative content=0A=
			el.parentNode.replaceChild(abstractAltContent(obj), el);=0A=
			obj.style.display =3D "none";=0A=
			win.attachEvent("onload", function() { =
obj.parentNode.removeChild(obj); });=0A=
		}=0A=
		else {=0A=
			obj.parentNode.replaceChild(abstractAltContent(obj), obj);=0A=
		}=0A=
	}	=0A=
=0A=
	function abstractAltContent(obj) {=0A=
		var ac =3D createElement("div");=0A=
		if (ua.win && ua.ie) {=0A=
			ac.innerHTML =3D obj.innerHTML;=0A=
		}=0A=
		else {=0A=
			var nestedObj =3D obj.getElementsByTagName(OBJECT)[0];=0A=
			if (nestedObj) {=0A=
				var c =3D nestedObj.childNodes;=0A=
				if (c) {=0A=
					var cl =3D c.length;=0A=
					for (var i =3D 0; i < cl; i++) {=0A=
						if (!(c[i].nodeType =3D=3D 1 && c[i].nodeName.toLowerCase() =3D=3D =
"param") && !(c[i].nodeType =3D=3D 8)) {=0A=
							ac.appendChild(c[i].cloneNode(true));=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
		return ac;=0A=
	}=0A=
	=0A=
	/* Cross-browser dynamic SWF creation=0A=
	*/=0A=
	function createSWF(attObj, parObj, id) {=0A=
		var r, el =3D getElementById(id);=0A=
		if (typeof attObj.id =3D=3D UNDEF) { // if no 'id' is defined for the =
object element, it will inherit the 'id' from the alternative content=0A=
			attObj.id =3D id;=0A=
		}=0A=
		if (ua.ie && ua.win) { // IE, the object element and W3C DOM methods =
do not combine: fall back to outerHTML=0A=
			var att =3D "";=0A=
			for (var i in attObj) {=0A=
				if (attObj[i] !=3D Object.prototype[i]) { // Filter out prototype =
additions from other potential libraries, like =
Object.prototype.toJSONString =3D function() {}=0A=
					if (i =3D=3D "data") {=0A=
						parObj.movie =3D attObj[i];=0A=
					}=0A=
					else if (i.toLowerCase() =3D=3D "styleclass") { // 'class' is an =
ECMA4 reserved keyword=0A=
						att +=3D ' class=3D"' + attObj[i] + '"';=0A=
					}=0A=
					else if (i !=3D "classid") {=0A=
						att +=3D ' ' + i + '=3D"' + attObj[i] + '"';=0A=
					}=0A=
				}=0A=
			}=0A=
			var par =3D "";=0A=
			for (var j in parObj) {=0A=
				if (parObj[j] !=3D Object.prototype[j]) { // Filter out prototype =
additions from other potential libraries=0A=
					par +=3D '<param name=3D"' + j + '" value=3D"' + parObj[j] + '" />';=0A=
				}=0A=
			}=0A=
			el.outerHTML =3D '<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + att + '>' + =
par + '</object>';=0A=
			fixObjectLeaks(attObj.id); // This bug affects dynamic publishing only=0A=
			r =3D getElementById(attObj.id);	=0A=
		}=0A=
		else if (ua.webkit && ua.webkit < 312) { // Older webkit engines =
ignore the object element's nested param elements: fall back to the =
proprietary embed element=0A=
			var e =3D createElement("embed");=0A=
			e.setAttribute("type", FLASH_MIME_TYPE);=0A=
			for (var k in attObj) {=0A=
				if (attObj[k] !=3D Object.prototype[k]) { // Filter out prototype =
additions from other potential libraries=0A=
					if (k =3D=3D "data") {=0A=
						e.setAttribute("src", attObj[k]);=0A=
					}=0A=
					else if (k.toLowerCase() =3D=3D "styleclass") { // 'class' is an =
ECMA4 reserved keyword=0A=
						e.setAttribute("class", attObj[k]);=0A=
					}=0A=
					else if (k !=3D "classid") { // Filter out IE specific attribute=0A=
						e.setAttribute(k, attObj[k]);=0A=
					}=0A=
				}=0A=
			}=0A=
			for (var l in parObj) {=0A=
				if (parObj[l] !=3D Object.prototype[l]) { // Filter out prototype =
additions from other potential libraries=0A=
					if (l !=3D "movie") { // Filter out IE specific param element=0A=
						e.setAttribute(l, parObj[l]);=0A=
					}=0A=
				}=0A=
			}=0A=
			el.parentNode.replaceChild(e, el);=0A=
			r =3D e;=0A=
		}=0A=
		else { // Well-behaving browsers=0A=
			var o =3D createElement(OBJECT);=0A=
			o.setAttribute("type", FLASH_MIME_TYPE);=0A=
			for (var m in attObj) {=0A=
				if (attObj[m] !=3D Object.prototype[m]) { // Filter out prototype =
additions from other potential libraries=0A=
					if (m.toLowerCase() =3D=3D "styleclass") { // 'class' is an ECMA4 =
reserved keyword=0A=
						o.setAttribute("class", attObj[m]);=0A=
					}=0A=
					else if (m !=3D "classid") { // Filter out IE specific attribute=0A=
						o.setAttribute(m, attObj[m]);=0A=
					}=0A=
				}=0A=
			}=0A=
			for (var n in parObj) {=0A=
				if (parObj[n] !=3D Object.prototype[n] && n !=3D "movie") { // =
Filter out prototype additions from other potential libraries and IE =
specific param element=0A=
					createObjParam(o, n, parObj[n]);=0A=
				}=0A=
			}=0A=
			el.parentNode.replaceChild(o, el);=0A=
			r =3D o;=0A=
		}=0A=
		return r;=0A=
	}=0A=
	=0A=
	function createObjParam(el, pName, pValue) {=0A=
		var p =3D createElement("param");=0A=
		p.setAttribute("name", pName);	=0A=
		p.setAttribute("value", pValue);=0A=
		el.appendChild(p);=0A=
	}=0A=
	=0A=
	function getElementById(id) {=0A=
		return doc.getElementById(id);=0A=
	}=0A=
	=0A=
	function createElement(el) {=0A=
		return doc.createElement(el);=0A=
	}=0A=
	=0A=
	function hasPlayerVersion(rv) {=0A=
		var pv =3D ua.pv, v =3D rv.split(".");=0A=
		v[0] =3D parseInt(v[0], 10);=0A=
		v[1] =3D parseInt(v[1], 10);=0A=
		v[2] =3D parseInt(v[2], 10);=0A=
		return (pv[0] > v[0] || (pv[0] =3D=3D v[0] && pv[1] > v[1]) || (pv[0] =
=3D=3D v[0] && pv[1] =3D=3D v[1] && pv[2] >=3D v[2])) ? true : false;=0A=
	}=0A=
	=0A=
	/* Cross-browser dynamic CSS creation=0A=
		- Based on Bobby van der Sluis' solution: =
http://www.bobbyvandersluis.com/articles/dynamicCSS.php=0A=
	*/	=0A=
	function createCSS(sel, decl) {=0A=
		if (ua.ie && ua.mac) {=0A=
			return;=0A=
		}=0A=
		var h =3D doc.getElementsByTagName("head")[0], s =3D =
createElement("style");=0A=
		s.setAttribute("type", "text/css");=0A=
		s.setAttribute("media", "screen");=0A=
		if (!(ua.ie && ua.win) && typeof doc.createTextNode !=3D UNDEF) {=0A=
			s.appendChild(doc.createTextNode(sel + " {" + decl + "}"));=0A=
		}=0A=
		h.appendChild(s);=0A=
		if (ua.ie && ua.win && typeof doc.styleSheets !=3D UNDEF && =
doc.styleSheets.length > 0) {=0A=
			var ls =3D doc.styleSheets[doc.styleSheets.length - 1];=0A=
			if (typeof ls.addRule =3D=3D OBJECT) {=0A=
				ls.addRule(sel, decl);=0A=
			}=0A=
		}=0A=
	}=0A=
	=0A=
	function setVisibility(id, isVisible) {=0A=
		var v =3D isVisible ? "visible" : "hidden";=0A=
		if (isDomLoaded) {=0A=
			getElementById(id).style.visibility =3D v;=0A=
		}=0A=
		else {=0A=
			createCSS("#" + id, "visibility:" + v);=0A=
		}=0A=
	}=0A=
	=0A=
	function getTargetVersion(obj) {=0A=
	    if (!obj)=0A=
	        return 0;=0A=
		var c =3D obj.childNodes;=0A=
		var cl =3D c.length;=0A=
		for (var i =3D 0; i < cl; i++) {=0A=
			if (c[i].nodeType =3D=3D 1 && c[i].nodeName.toLowerCase() =3D=3D =
"object") {=0A=
			    c =3D c[i].childNodes;=0A=
			    cl =3D c.length;=0A=
			    i =3D 0;=0A=
			}     =0A=
			if (c[i].nodeType =3D=3D 1 && c[i].nodeName.toLowerCase() =3D=3D =
"param" && c[i].getAttribute("name") =3D=3D "swfversion") {=0A=
			   return c[i].getAttribute("value"); =0A=
			}=0A=
		}=0A=
		return 0;=0A=
	}=0A=
    =0A=
	function getExpressInstall(obj) {=0A=
	    if (!obj)=0A=
	        return "";=0A=
		var c =3D obj.childNodes;=0A=
		var cl =3D c.length;=0A=
		for (var i =3D 0; i < cl; i++) {=0A=
			if (c[i].nodeType =3D=3D 1 && c[i].nodeName.toLowerCase() =3D=3D =
"object") {=0A=
			    c =3D c[i].childNodes;=0A=
			    cl =3D c.length;=0A=
			    i =3D 0;=0A=
			}     =0A=
			if (c[i].nodeType =3D=3D 1 && c[i].nodeName.toLowerCase() =3D=3D =
"param" && c[i].getAttribute("name") =3D=3D "expressinstall") { =0A=
			    return c[i].getAttribute("value"); =0A=
			}	       =0A=
		}=0A=
		return "";=0A=
	}=0A=
    =0A=
	return {=0A=
		/* Public API=0A=
			- Reference: =
http://code.google.com/p/swfobject/wiki/SWFObject_2_0_documentation=0A=
		*/ =0A=
		registerObject: function(objectIdStr, swfVersionStr, xiSwfUrlStr) {=0A=
			if (!ua.w3cdom || !objectIdStr) {=0A=
				return;=0A=
			}=0A=
			var obj =3D document.getElementById(objectIdStr);=0A=
			var xi =3D getExpressInstall(obj);=0A=
			var regObj =3D {};=0A=
			regObj.id =3D objectIdStr;=0A=
			regObj.swfVersion =3D swfVersionStr ? swfVersionStr : =
getTargetVersion(obj);=0A=
			regObj.expressInstall =3D xiSwfUrlStr ? xiSwfUrlStr : ((xi !=3D "") ? =
xi : false);=0A=
			regObjArr[regObjArr.length] =3D regObj;=0A=
			setVisibility(objectIdStr, false);=0A=
		},=0A=
		=0A=
		getObjectById: function(objectIdStr) {=0A=
			var r =3D null;=0A=
			if (ua.w3cdom && isDomLoaded) {=0A=
				var o =3D getElementById(objectIdStr);=0A=
				if (o) {=0A=
					var n =3D o.getElementsByTagName(OBJECT)[0];=0A=
					if (!n || (n && typeof o.SetVariable !=3D UNDEF)) {=0A=
				    	r =3D o;=0A=
					}=0A=
					else if (typeof n.SetVariable !=3D UNDEF) {=0A=
						r =3D n;=0A=
					}=0A=
				}=0A=
			}=0A=
			return r;=0A=
		},=0A=
		=0A=
		embedSWF: function(swfUrlStr, replaceElemIdStr, widthStr, heightStr, =
swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj) {=0A=
			if (!ua.w3cdom || !swfUrlStr || !replaceElemIdStr || !widthStr || =
!heightStr || !swfVersionStr) {=0A=
				return;=0A=
			}=0A=
			widthStr +=3D ""; // Auto-convert to string to make it idiot proof=0A=
			heightStr +=3D "";=0A=
			if (hasPlayerVersion(swfVersionStr)) {=0A=
				setVisibility(replaceElemIdStr, false);=0A=
				var att =3D (typeof attObj =3D=3D OBJECT) ? attObj : {};=0A=
				att.data =3D swfUrlStr;=0A=
				att.width =3D widthStr;=0A=
				att.height =3D heightStr;=0A=
				var par =3D (typeof parObj =3D=3D OBJECT) ? parObj : {};=0A=
				if (typeof flashvarsObj =3D=3D OBJECT) {=0A=
					for (var i in flashvarsObj) {=0A=
						if (flashvarsObj[i] !=3D Object.prototype[i]) { // Filter out =
prototype additions from other potential libraries=0A=
							if (typeof par.flashvars !=3D UNDEF) {=0A=
								par.flashvars +=3D "&" + i + "=3D" + flashvarsObj[i];=0A=
							}=0A=
							else {=0A=
								par.flashvars =3D i + "=3D" + flashvarsObj[i];=0A=
							}=0A=
						}=0A=
					}=0A=
				}=0A=
				addDomLoadEvent(function() {=0A=
					createSWF(att, par, replaceElemIdStr);=0A=
					if (att.id =3D=3D replaceElemIdStr) {=0A=
						setVisibility(replaceElemIdStr, true);=0A=
					}=0A=
				});=0A=
			}=0A=
			else if (xiSwfUrlStr && !isExpressInstallActive && =
hasPlayerVersion("6.0.65") && (ua.win || ua.mac)) {=0A=
				setVisibility(replaceElemIdStr, false);=0A=
				addDomLoadEvent(function() {=0A=
					var regObj =3D {};=0A=
					regObj.id =3D regObj.altContentId =3D replaceElemIdStr;=0A=
					regObj.width =3D widthStr;=0A=
					regObj.height =3D heightStr;=0A=
					regObj.expressInstall =3D xiSwfUrlStr;=0A=
					showExpressInstall(regObj);=0A=
				});=0A=
			}=0A=
		},=0A=
		=0A=
		getFlashPlayerVersion: function() {=0A=
			return { major:ua.pv[0], minor:ua.pv[1], release:ua.pv[2] };=0A=
		},=0A=
		=0A=
		hasFlashPlayerVersion:hasPlayerVersion,=0A=
		=0A=
		createSWF: function(attObj, parObj, replaceElemIdStr) {=0A=
			if (ua.w3cdom && isDomLoaded) {=0A=
				return createSWF(attObj, parObj, replaceElemIdStr);=0A=
			}=0A=
			else {=0A=
				return undefined;=0A=
			}=0A=
		},=0A=
		=0A=
		createCSS: function(sel, decl) {=0A=
			if (ua.w3cdom) {=0A=
				createCSS(sel, decl);=0A=
			}=0A=
		},=0A=
		=0A=
		addDomLoadEvent:addDomLoadEvent,=0A=
		=0A=
		addLoadEvent:addLoadEvent,=0A=
		=0A=
		getQueryParamValue: function(param) {=0A=
			var q =3D doc.location.search || doc.location.hash;=0A=
			if (param =3D=3D null) {=0A=
				return q;=0A=
			}=0A=
		 	if(q) {=0A=
				var pairs =3D q.substring(1).split("&");=0A=
				for (var i =3D 0; i < pairs.length; i++) {=0A=
					if (pairs[i].substring(0, pairs[i].indexOf("=3D")) =3D=3D param) {=0A=
						return pairs[i].substring((pairs[i].indexOf("=3D") + 1));=0A=
					}=0A=
				}=0A=
			}=0A=
			return "";=0A=
		},=0A=
		=0A=
		// For internal usage only=0A=
		expressInstallCallback: function() {=0A=
			if (isExpressInstallActive && storedAltContent) {=0A=
				var obj =3D getElementById(EXPRESS_INSTALL_ID);=0A=
				if (obj) {=0A=
					obj.parentNode.replaceChild(storedAltContent, obj);=0A=
					if (storedAltContentId) {=0A=
						setVisibility(storedAltContentId, true);=0A=
						if (ua.ie && ua.win) {=0A=
							storedAltContent.style.display =3D "block";=0A=
						}=0A=
					}=0A=
					storedAltContent =3D null;=0A=
					storedAltContentId =3D null;=0A=
					isExpressInstallActive =3D false;=0A=
				}=0A=
			} =0A=
		}=0A=
		=0A=
	};=0A=
=0A=
}();=0A=

------=_NextPart_000_0000_01CC2C14.1D1EAF20
mime-version: 1.0
content-type: application/octet-stream
content-transfer-encoding: quoted-printable
content-location: https://www.purdue.edu/assets/globals/js/menus.js

function getMenu(e) {=0A=
  if (!e) e =3D window.event;=0A=
  var menu =3D Event.element(e);=0A=
  if (menu.tagName !=3D 'LI') menu =3D menu.up('li');=0A=
  return menu;=0A=
}=0A=
=0A=
function showMenu(e) {=0A=
  getMenu(e).addClassName('open');=0A=
}=0A=
=0A=
function hideMenu(e) {=0A=
  getMenu(e).removeClassName('open');=0A=
}=0A=
=0A=
function registerMenus(e) {=0A=
  $$('.tabs li').each(function (a) {a.observe('mouseenter', showMenu)});=0A=
  $$('.tabs li').each(function (a) {a.observe('mouseleave', hideMenu)});=0A=
}=0A=
=0A=
try {=0A=
  Event.observe(window, 'load', registerMenus);=0A=
}=0A=
catch(err) {=0A=
}
------=_NextPart_000_0000_01CC2C14.1D1EAF20--
