From: <Saved by Windows Internet Explorer 8>
Subject: CLASP | Issues | In Focus
Date: Tue, 1 Dec 2009 10:48:17 -0600
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CA7273.CA168740"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/issues/in_focus?type=work_life_and_job_quality

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>CLASP | Issues | In Focus</TITLE>
<META content=3D"text/html; charset=3Dutf-8" http-equiv=3DContent-type>
<META content=3Den-us http-equiv=3DContent-Language>
<META name=3Ddescription=20
content=3D"CLASP - Policy Solutions That Work for Low-Income People">
<META name=3Dcopyright=20
content=3D"(c) Copyright 2009 Center for Law and Social Policy, Inc">
<META name=3Drevisit-after content=3D"1 day"><LINK rel=3DICON=20
href=3D"/assets/img/favicon.ico"><LINK rel=3D"SHORTCUT ICON"=20
href=3D"/assets/img/favicon.ico"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.clasp.org/utility/css/screen.css"=20
media=3D"screen, projection"><LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.clasp.org/utility/css/print.css" =
media=3Dprint><!--[if IE]><LINK=20
rel=3Dstylesheet type=3Dtext/css =
href=3D"http://www.clasp.org/utility/css/ie.css"=20
media=3D"screen, projection"><![endif]--><LINK rel=3Dstylesheet =
type=3Dtext/css=20
href=3D"http://www.clasp.org/utility/css/jquery-ui/base/ui.core.css"><LIN=
K=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.clasp.org/utility/css/jquery-ui/base/ui.dialog.css">
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/swfobject.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/fontsize.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/jquery.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/jquery.cookie.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/ui.core.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/ui.dialog.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/ui.tabs.js"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/jquery.validate.js"></SCRIPT>=

<!-- jcarousel includes -->
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.clasp.org/utility/scripts/jcarousel/lib/jquery.jcarouse=
l.js"></SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.clasp.org/utility/scripts/jcarousel/lib/jquery.jcarous=
el.css"><LINK=20
rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.clasp.org/utility/css/jcarousel.css">
<SCRIPT type=3Dtext/javascript><!--//--><![CDATA[//><!--=0A=
startList =3D function() {=0A=
	if (document.all&&document.getElementById) {=0A=
		navRoot =3D document.getElementById("menu");=0A=
		for (i=3D0; i<navRoot.childNodes.length; i++) {=0A=
			node =3D navRoot.childNodes[i];=0A=
			if (node.nodeName=3D=3D"LI") {=0A=
				node.onmouseover=3Dfunction() {=0A=
					this.className+=3D" over";=0A=
				}=0A=
				node.onmouseout=3Dfunction() {=0A=
					this.className=3Dthis.className.replace(" over", "");=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
}=0A=
window.onload=3DstartList;=0A=
=0A=
//--><!]]></SCRIPT>

<SCRIPT language=3Djavascript>=0A=
function JumpURL(selection) {=0A=
var tempIndex, selectedURL;=0A=
tempIndex =3D selection.selectedIndex;=0A=
selectedURL =3D selection.options[tempIndex].value;=0A=
window.location.href =3D selectedURL;=0A=
}=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
//<![CDATA[=0A=
	site_webroot =3D "http://clasp.org";=0A=
//]]>=0A=
</SCRIPT>

<SCRIPT>=0A=
// sets cookie for issue filter on in_the_states page, where appropriate=0A=
// TG on 7.10.09; modified 7.30.09=0A=
=0A=
  $(document).ready(function(){=0A=
    var location =3D document.location.href;=0A=
    temp =3D [];=0A=
    //temp =3D location.split('/issues?type=3D');=0A=
=0A=
    if (location.search('/issues') !=3D -1) {=0A=
      temp =3D location.split('?type=3D');=0A=
      if (temp[1]) { // an issue is defined=0A=
        var param =3D [];=0A=
        param =3D temp[1].split('&');=0A=
        $.cookie('location', param[0], { path: '/' });=0A=
      }    =0A=
    }=0A=
    =0A=
    else {=0A=
      // no issue type was passed; delete an existing cookie=0A=
      var in_the_states =3D [];=0A=
      in_the_states =3D location.split('/in_the_states?id=3D');=0A=
      if (in_the_states[1]) {=0A=
        // don't delete the cookie; we need to read it=0A=
        return;=0A=
      }=0A=
      else {=0A=
        $.cookie('location', null, { path: '/' }); =0A=
      }=0A=
    }=0A=
  });=0A=
</SCRIPT>

<META name=3DGENERATOR content=3D"MSHTML 8.00.6001.18812"></HEAD>
<BODY id=3Dindex class=3Dissues>
<DIV id=3Dheader>
<DIV class=3Dclearfix>
<DIV id=3Dlogo><A href=3D"http://www.clasp.org/"><SPAN>CLASP: Policy =
Solutions That=20
Work for Low-Income People</SPAN></A></DIV>
<DIV id=3Dsearch>
<FORM id=3Dcse-search-box1 method=3Dget action=3D/results><INPUT=20
value=3D001033499641357643954:f6r5qoodvty type=3Dhidden name=3Dcx> =
<INPUT=20
value=3DFORID:11 type=3Dhidden name=3Dcof> <INPUT value=3DUTF-8 =
type=3Dhidden name=3Die>=20
<INPUT onblur=3D"if(this.value=3D=3D'')this.value=3D'What are you =
looking for?';"=20
style=3D"BORDER-BOTTOM: transparent; BORDER-LEFT: transparent; =
PADDING-BOTTOM: 5px; PADDING-LEFT: 6px; PADDING-RIGHT: 0px; BORDER-TOP: =
transparent; BORDER-RIGHT: transparent; PADDING-TOP: 6px"=20
id=3Dcse_search_q1 class=3Dinput=20
onfocus=3D"if(this.value=3D=3D'What are you looking =
for?')this.value=3D'';"=20
value=3D"What are you looking for?" maxLength=3D255 type=3Dtext =
name=3Dq> <INPUT id=3Dcse_search_button class=3Dsubmit value=3DSEARCH =
type=3Dsubmit name=3Dsa>=20
</FORM>
<SCRIPT type=3Dtext/javascript =
src=3D"http://www.google.com/jsapi"></SCRIPT>

<SCRIPT type=3Dtext/javascript>google.load("elements", "1", {packages: =
"transliteration"});</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.google.com/coop/cse/t13n?form=3Dcse-search-box1&amp;t13=
n_langs=3Den"></SCRIPT>
</DIV></DIV><!--clearfix-->
<DIV id=3Dnav>
<UL id=3Dmenu>
  <LI id=3Dnav_home><A title=3DHome=20
  href=3D"http://www.clasp.org/"><SPAN>Home</SPAN></A></LI>
  <LI id=3Dnav_about><A title=3D"About Us"=20
  href=3D"http://www.clasp.org/about/"><SPAN>About Us</SPAN></A>
  <UL>
    <LI><A title=3D"Board of Directors"=20
    href=3D"http://www.clasp.org/about?id=3D0004">Board of =
Directors</A></LI>
    <LI><A title=3DStaff =
href=3D"http://www.clasp.org/about/staff">Staff</A></LI>
    <LI><A title=3D"Annual Report"=20
    href=3D"http://www.clasp.org/about?id=3D0005">Annual Report</A></LI>
    <LI><A title=3DJobs =
href=3D"http://www.clasp.org/about?id=3D0007">Jobs</A></LI>
    <LI><A title=3D"Contact Us" =
href=3D"http://www.clasp.org/about/contact">Contact=20
    Us</A></LI></UL></LI>
  <LI id=3Dnav_experts><A title=3DExperts=20
  href=3D"http://www.clasp.org/experts/"><SPAN>Experts</SPAN></A>
  <UL>
    <LI><A title=3D"Alan W. Houseman"=20
    href=3D"http://www.clasp.org/experts?id=3D0006">Alan W. =
Houseman</A></LI>
    <LI><A title=3D"Jodie Levin-Epstein"=20
    href=3D"http://www.clasp.org/experts?id=3D0008">Jodie =
Levin-Epstein</A></LI>
    <LI><A title=3D"Amy Ellen Duke-Benfield"=20
    href=3D"http://www.clasp.org/experts?id=3D0015">Amy Ellen =
Duke-Benfield</A></LI>
    <LI><A title=3D"Danielle Ewen"=20
    href=3D"http://www.clasp.org/experts?id=3D0009">Danielle =
Ewen</A></LI>
    <LI><A title=3D"Evelyn Ganzglass"=20
    href=3D"http://www.clasp.org/experts?id=3D0010">Evelyn =
Ganzglass</A></LI>
    <LI><A title=3D"Linda Harris"=20
    href=3D"http://www.clasp.org/experts?id=3D0012">Linda =
Harris</A></LI>
    <LI><A title=3D"Rutledge Q. Hutson"=20
    href=3D"http://www.clasp.org/experts?id=3D0001">Rutledge Q. =
Hutson</A></LI>
    <LI><A title=3D"Elizabeth Lower-Basch"=20
    href=3D"http://www.clasp.org/experts?id=3D0013">Elizabeth =
Lower-Basch</A></LI>
    <LI><A title=3D"Hannah Matthews"=20
    href=3D"http://www.clasp.org/experts?id=3D0005">Hannah =
Matthews</A></LI>
    <LI><A title=3D"Linda E. Perle"=20
    href=3D"http://www.clasp.org/experts?id=3D0007">Linda E. =
Perle</A></LI>
    <LI><A title=3D"Neil Ridley" =
href=3D"http://www.clasp.org/experts?id=3D0014">Neil=20
    Ridley</A></LI>
    <LI><A title=3D"Rachel Schumacher"=20
    href=3D"http://www.clasp.org/experts?id=3D0002">Rachel =
Schumacher</A></LI>
    <LI><A title=3D"Julie Strawn"=20
    href=3D"http://www.clasp.org/experts?id=3D0004">Julie =
Strawn</A></LI>
    <LI><A title=3D"Rhonda Tsoi-A-Fatt"=20
    href=3D"http://www.clasp.org/experts?id=3D0003">Rhonda=20
  Tsoi-A-Fatt</A></LI></UL></LI>
  <LI id=3Dnav_news_room><A title=3D"News Room"=20
  href=3D"http://www.clasp.org/news_room/"><SPAN>News Room</SPAN></A>
  <UL>
    <LI><A title=3D"News Clips" =
href=3D"http://www.clasp.org/news_room/clips">News=20
    Clips</A></LI>
    <LI><A title=3D"News Releases"=20
    href=3D"http://www.clasp.org/news_room/news_releases">News =
Releases</A></LI>
    <LI><A title=3DCalendar=20
    =
href=3D"http://www.clasp.org/news_room/calendar">Calendar</A></LI></UL></=
LI>
  <LI id=3Dnav_resources_and_publications><A title=3D"Resources &amp; =
Publications"=20
  =
href=3D"http://www.clasp.org/resources_and_publications/"><SPAN>Resources=
 &amp;=20
  Publications</SPAN></A>
  <UL>
    <LI><A title=3D"Reports &amp; Analyses"=20
    =
href=3D"http://www.clasp.org/resources_and_publications/filter?type=3Drep=
orts_and_analyses">Reports=20
    &amp; Analyses</A></LI>
    <LI><A title=3D"Fact Sheets"=20
    =
href=3D"http://www.clasp.org/resources_and_publications/filter?type=3Dfac=
t_sheets">Fact=20
    Sheets</A></LI>
    <LI><A title=3DPresentations=20
    =
href=3D"http://www.clasp.org/resources_and_publications/filter?type=3Dpre=
sentations">Presentations</A></LI>
    <LI><A title=3D"Testimony &amp; Comments"=20
    =
href=3D"http://www.clasp.org/resources_and_publications/filter?type=3Dtes=
timony_and_comments">Testimony=20
    &amp; Comments</A></LI>
    <LI><A title=3D"Published Articles"=20
    =
href=3D"http://www.clasp.org/resources_and_publications/filter?type=3Dpub=
lished_articles">Published=20
    Articles</A></LI></UL></LI>
  <LI id=3Dnav_issues><A title=3DIssues=20
  href=3D"http://www.clasp.org/issues/"><SPAN>Issues</SPAN></A>
  <UL>
    <LI><A title=3D"Basic Skills &amp; Workforce Training"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dbasic_skills_and_workforce_tra=
ining">Basic=20
    Skills &amp; Workforce Training</A></LI>
    <LI><A title=3D"Child Care &amp; Early Education"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dchild_care_and_early_education=
">Child=20
    Care &amp; Early Education</A></LI>
    <LI><A title=3D"Child Support &amp; Fathers"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dchild_support_and_fathers">Chi=
ld=20
    Support &amp; Fathers</A></LI>
    <LI><A title=3D"Child Welfare"=20
    href=3D"http://www.clasp.org/issues?type=3Dchild_welfare">Child =
Welfare</A></LI>
    <LI><A title=3D"Civil Legal Assistance"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dcivil_legal_assistance">Civil =
Legal=20
    Assistance</A></LI>
    <LI><A title=3D"Employment Strategies"=20
    =
href=3D"http://www.clasp.org/issues?type=3Demployment_strategies">Employm=
ent=20
    Strategies</A></LI>
    <LI><A title=3D"Postsecondary Access &amp; Success"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dpostsecondary_access_and_succe=
ss">Postsecondary=20
    Access &amp; Success</A></LI>
    <LI><A title=3D"Poverty &amp; Opportunity"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dpoverty_and_opportunity">Pover=
ty=20
    &amp; Opportunity</A></LI>
    <LI><A title=3D"Prisoner Re-Entry"=20
    =
href=3D"http://www.clasp.org/issues/issues?type=3Dprisoner_re-entry">Pris=
oner=20
    Re-Entry</A></LI>
    <LI><A title=3D"Temporary Assistance"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dtemporary_assistance">Temporar=
y=20
    Assistance</A></LI>
    <LI><A title=3D"Work/Life &amp; Job Quality"=20
    =
href=3D"http://www.clasp.org/issues?type=3Dwork_life_and_job_quality">Wor=
k/Life=20
    &amp; Job Quality</A></LI>
    <LI><A title=3D"Work Supports"=20
    href=3D"http://www.clasp.org/issues?type=3Dwork_supports">Work =
Supports</A></LI>
    <LI><A title=3DYouth=20
    =
href=3D"http://www.clasp.org/issues?type=3Dyouth">Youth</A></LI></UL></LI=
>
  <LI id=3Dnav_federal_policy><A title=3D"Federal Policy"=20
  href=3D"http://www.clasp.org/federal_policy/"><SPAN>Federal =
Policy</SPAN></A>
  <UL>
    <LI><A title=3D"American Recovery and Reinvestment Act"=20
    href=3D"http://www.clasp.org/federal_policy?id=3D0002">American =
Recovery and=20
    Reinvestment Act</A></LI>
    <LI><A title=3D"Budget and Appropriations"=20
    href=3D"http://www.clasp.org/federal_policy?id=3D0001">Budget and=20
    Appropriations</A></LI>
    <LI><A title=3D"Legislation and Reauthorizations"=20
    href=3D"http://www.clasp.org/federal_policy?id=3D0003">Legislation =
and=20
    Reauthorizations</A></LI>
    <LI><A title=3D"Regulations and Guidance"=20
    href=3D"http://www.clasp.org/federal_policy?id=3D0004">Regulations =
and=20
    Guidance</A></LI></UL></LI>
  <LI id=3Dnav_in_the_states><A title=3D"In The States"=20
  href=3D"http://www.clasp.org/in_the_states/"><SPAN>In The =
States</SPAN></A>=20
  <UL>
    <LI class=3Dclearfix>
    <UL>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0001">Alabama</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0002">Alaska</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0003">Arizona</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0004">Arkansas</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states?id=3D0005">California</A></LI>=

      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0006">Colorado</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states?id=3D0007">Connecticut</A></LI=
>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0008">Delaware</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0009">Florida</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0010">Georgia</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0011">Hawaii</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0012">Idaho</A></LI>
      <LI><A=20
    =
href=3D"http://www.clasp.org/in_the_states?id=3D0013">Illinois</A></LI></=
UL>
    <UL>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0014">Indiana</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0015">Iowa</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0016">Kansas</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0017">Kentucky</A></LI>
      <LI><A=20
href=3D"http://www.clasp.org/in_the_states?id=3D0018">Louisiana</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0019">Maine</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0020">Maryland</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states?id=3D0021">Massachusetts</A></=
LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0022">Michigan</A></LI>
      <LI><A=20
href=3D"http://www.clasp.org/in_the_states?id=3D0023">Minnesota</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states?id=3D0024">Mississippi</A></LI=
>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0025">Missouri</A></LI>
      <LI><A=20
    =
href=3D"http://www.clasp.org/in_the_states?id=3D0026">Montana</A></LI></U=
L>
    <UL>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0027">Nebraska</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0028">Nevada</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0029">New=20
      Hampshire</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0030">New=20
      Jersey</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0031">New=20
      Mexico</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0032">New =
York</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0033">North =

      Carolina</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0034">North =

      Dakota</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0035">Ohio</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0036">Oklahoma</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0037">Oregon</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states?id=3D0038">Pennsylvania</A></L=
I>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0039">Rhode =

      Island</A></LI></UL>
    <UL>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0040">South =

      Carolina</A></LI>
      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0041">South =

      Dakota</A></LI>
      <LI><A=20
href=3D"http://www.clasp.org/in_the_states?id=3D0042">Tennessee</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0043">Texas</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0044">Utah</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0045">Vermont</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0046">Virginia</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states?id=3D0047">Washington</A></LI>=

      <LI><A href=3D"http://www.clasp.org/in_the_states?id=3D0048">West=20
      VIrginia</A></LI>
      <LI><A=20
href=3D"http://www.clasp.org/in_the_states?id=3D0049">Wisconsin</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0050">Wyoming</A></LI>
      <LI><A =
href=3D"http://www.clasp.org/in_the_states?id=3D0051">District of=20
      Columbia</A></LI>
      <LI><A=20
      =
href=3D"http://www.clasp.org/in_the_states#tab2"><STRONG>Communities</STR=
ONG></A></LI></UL></LI></UL></LI>
  <LI id=3Dnav_data><A title=3DData=20
  href=3D"http://www.clasp.org/data/"><SPAN>Data</SPAN></A>
  <UL>
    <LI><A href=3D"http://www.clasp.org/data/">Find Data by =
State</A></LI>
    <LI><A href=3D"http://www.clasp.org/data#tab2">Find Data by=20
    Communities</A></LI></UL></LI></UL></DIV></DIV><!--header-->
<DIV id=3Dcontainer>
<DIV id=3Dwrapper>
<DIV class=3Dtop>
<DIV class=3D"bottom clearfix">
<DIV id=3Dsecondary>
<DIV class=3Dsecondary-image><IMG=20
src=3D"http://www.clasp.org/admin/site/work_life_and_job_quality/intro/fi=
les/0001.jpg"></DIV><!-- condition/len(topicList)--><!-- =
define/topicList--><!-- condition/issue-->
<DIV id=3Dsubmenu>
<DIV class=3Dtitle><IMG alt=3DPublications=20
src=3D"http://www.clasp.org/assets/img/submenu_publications.png"></DIV>
<DIV class=3Dstate_pulldown>
<FORM><SELECT class=3Dpulldown onchange=3DJumpURL(this) size=3D1 =
name=3Dstand> <OPTION=20
  selected>Select a Type...</OPTION> <OPTION=20
  =
value=3D/resources_and_publications/filter?type=3Dreports_and_analyses&am=
p;issue=3Dwork_life_and_job_quality>Reports=20
  &amp; Analyses</OPTION> <OPTION=20
  =
value=3D/resources_and_publications/filter?type=3Dfact_sheets&amp;issue=3D=
work_life_and_job_quality>Fact=20
  Sheets</OPTION> <OPTION=20
  =
value=3D/resources_and_publications/filter?type=3Dpresentations&amp;issue=
=3Dwork_life_and_job_quality>Presentations</OPTION>=20
  <OPTION=20
  =
value=3D/resources_and_publications/filter?type=3Dtestimony_and_comments&=
amp;issue=3Dwork_life_and_job_quality>Testimony=20
  &amp; Comments</OPTION> <OPTION=20
  =
value=3D/resources_and_publications/filter?type=3Dpublished_articles&amp;=
issue=3Dwork_life_and_job_quality>Published=20
  Articles</OPTION></SELECT> </FORM></DIV></DIV><!--submenu-->
<DIV class=3Ddivider180></DIV>
<DIV id=3Dsubmenu>
<DIV><A title=3D"More Issues"=20
href=3D"http://www.clasp.org/advocacy_areas?type=3Dpathways_to_good_jobs"=
><IMG=20
alt=3D"More Issues"=20
src=3D"http://www.clasp.org/assets/img/submenu_pathways_to_good_jobs.png"=
></A></DIV>
<UL>
  <LI><A title=3D"Postsecondary Access and Success"=20
  =
href=3D"http://www.clasp.org/issues?type=3Dpostsecondary_access_and_succe=
ss">Postsecondary=20
  Access and Success</A> </LI>
  <LI><A title=3D"Basic Skills and Workforce Training"=20
  =
href=3D"http://www.clasp.org/issues?type=3Dbasic_skills_and_workforce_tra=
ining">Basic=20
  Skills and Workforce Training</A> </LI>
  <LI><A title=3D"Employment Strategies"=20
  =
href=3D"http://www.clasp.org/issues?type=3Demployment_strategies">Employm=
ent=20
  Strategies</A> </LI>
  <LI><A title=3D"Work/Life and Job Quality"=20
  =
href=3D"http://www.clasp.org/issues?type=3Dwork_life_and_job_quality">Wor=
k/Life=20
  and Job Quality</A> </LI>
  <LI><A title=3D"Work Supports"=20
  href=3D"http://www.clasp.org/issues?type=3Dwork_supports">Work =
Supports</A>=20
</LI></UL></DIV><!--submenu--><!--submenu-->
<DIV class=3Ddivider180></DIV><!-- container.id =3D=3D 'issues' --><!-- =
define/items --><!-- cond/issue -->
<DIV class=3Dbanner><A=20
href=3D"http://org2.democracyinaction.org/o/5728/t/6791/signUp.jsp?key=3D=
1169"=20
target=3D_blank><IMG alt=3D"Stay Informed"=20
src=3D"http://www.clasp.org/admin/site/global_banners/files/0003.png"></A=
></DIV>
<DIV class=3Dbanner><A=20
href=3D"https://org2.democracyinaction.org/o/5728/t/6791/shop/custom.jsp?=
donate_page_KEY=3D1149"=20
target=3D_blank><IMG alt=3D"Support CLASP"=20
src=3D"http://www.clasp.org/admin/site/global_banners/files/0004.png"></A=
></DIV><!-- define/items --></DIV><!--secondary-->
<DIV id=3Dprimary><!--container.id =3D=3D =
advocacy_areas--><!--not:exists:request/type-->
<DIV id=3Daid><A class=3Dpathways=20
href=3D"http://www.clasp.org/advocacy_areas?type=3Dpathways_to_good_jobs"=
><SPAN>Pathways=20
to Good Jobs</SPAN></A></DIV>
<DIV id=3Did><A class=3Dwork_life_and_job_quality=20
href=3D"http://www.clasp.org/issues?type=3Dwork_life_and_job_quality"><SP=
AN>work_life_and_job_quality</SPAN></A>=20
</DIV><!--request/type--><!--macro--><!--container.id =3D=3D issues-->
<DIV class=3Dpad>
<H1>In Focus</H1>
<DIV class=3Din_focus>
<P class=3Ddate>Nov 13, 2009&nbsp;&nbsp;|&nbsp;&nbsp;<A=20
title=3D"Crucial Support for Paid Sick Days"=20
href=3D"http://www.clasp.org/issues/in_focus?type=3Dwork_life_and_job_qua=
lity&amp;id=3D0005">Permalink=20
=C2=BB</A></P>
<H3>Crucial Support for Paid Sick Days</H3>
<P><SPAN style=3D"TEXT-DECORATION: underline"><A=20
href=3D"http://www.clasp.org/about/staff?id=3D0032">By Lexer =
Quamie</A></SPAN></P>
<P>The H1N1 epidemic has highlighted the critical need for federal =
legislation=20
that ensures all workers can earn paid sick time.</P>
<P>The Administration and several lawmakers have voiced strong support =
for paid=20
sick time.&nbsp; In fact, during a November 10 Senate HELP committee =
hearing on=20
H1N1 and paid sick days, Deputy Secretary of Labor Seth Harris =
said:&nbsp;</P>
<P>"While much has been done to help prepare for a national health =
emergency=20
like 2009 H1N1, more is needed to help protect the economic security of =
working=20
families who must choose between a pay check and their health and the =
health of=20
their families.&nbsp; That is why<STRONG> the Administration supports =
the=20
Healthy Families Act </STRONG>and other proposals that advance workplace =

flexibility and protect the income and security of workers."</P>
<P>Currently, there is no federal law that requires employers to provide =
sick=20
leave to their workers. There is also no law prohibiting an employer =
from=20
disciplining or firing a worker who calls in sick.&nbsp; This causes =
many sick=20
workers, particularly low-wage workers who cannot afford to lose a day's =
wages,=20
to go into work and risk spreading potentially dangerous viruses and =
illnesses,=20
including H1N1.</P>
<P>The Administration's support is key to ensuring that more workers =
have a=20
minimum standard.&nbsp; The Healthy Families Act <A=20
href=3D"http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=3D111_c=
ong_bills&amp;docid=3Df:h2460ih.txt.pdf">(H.R.=20
2460/S. 1152)</A> would provide the security that workers need, allowing =

millions more working Americans to earn up to seven days per year of =
paid sick=20
time to care for themselves or their families. Under the bill, an =
employer shall=20
permit each employee to earn at least one hour of paid sick time for =
ever thirty=20
hours worked.&nbsp; It assures them job security when they take leave =
and=20
provides income while they recuperate from illness, provide needed care =
to a=20
family member, or seek services to recover from domestic violence, =
stalking, or=20
sexual assault.&nbsp; Under the Act, an employer that offers paid time =
off or a=20
vacation policy that allows time off for sick days does not need to =
change its=20
policy as long as employees can take paid time off as outlined in the =
Act.=20
<BR><BR>Mr. Harris said, "[w]hile much has been done to help prepare for =
a=20
public health emergency like the current 2009 H1N1 pandemic, the =
Administration=20
believes that more must be done to help protect the economic security of =
working=20
families."</P>
<P>Subcommittee Chairman, Sen. Chris Dodd (D-Ct) emphasized his concern =
by=20
stating that those who are sick with H1N1 have the difficult choice to =
"either=20
go into work sick and risk infecting coworkers, or stay home and lose a =
day's=20
pay."&nbsp; Senator Dodd also announced that in addition to championing =
the=20
Healthy Families Act, he would soon introduce emergency sick-leave =
legislation=20
focused on the ongoing H1N1 pandemic flu outbreak.&nbsp;</P>
<P>CLASP strongly encourages support for the Healthy Families Act.&nbsp; =
CLASP=20
has created <A=20
href=3D"http://www.clasp.org/admin/site/publications/files/HFA-Business-F=
AQ.pdf">Answers=20
to Businesses' Frequently Asked Questions</A>, which provides an =
overview of the=20
Healthy Families Act in a Question and Answer form.&nbsp; The tool is =
aimed at=20
dispelling any myths about the legislation.</P></DIV>
<DIV class=3Din_focus>
<P class=3Ddate>Nov 03, 2009&nbsp;&nbsp;|&nbsp;&nbsp;<A=20
title=3D'A Win for Military Families and the "Valuing Families" Agenda'=20
href=3D"http://www.clasp.org/issues/in_focus?type=3Dwork_life_and_job_qua=
lity&amp;id=3D0004">Permalink=20
=C2=BB</A></P>
<H3>A Win for Military Families and the "Valuing Families" Agenda</H3>
<P><A href=3D"http://www.clasp.org/about/staff?id=3D0032">By Lexer =
Quamie</A></P>
<P>President Obama on October 28 signed the National Defense =
Authorization Act=20
for Fiscal Year 2010 (<A=20
href=3D"http://frwebgate.access.gpo.gov/cgi-bin/getdoc.cgi?dbname=3D111_c=
ong_bills&amp;docid=3Df:h2647enr.txt.pdf">H.R.=20
2647</A>), which includes expanded care-giving time for military =
families.</P>
<P>The bill's passage reflects a win for the Valuing Families =
Agenda.&nbsp; The=20
Agenda is spearheaded by the Family Values at Work Consortium, a network =
of=20
fourteen state coalitions that work on policies such as paid sick days =
and=20
affordable family leave along with the National Partnership for Women =
and=20
Families.&nbsp; The bill signing moves toward accomplishing one of the =
Agenda's=20
s goals-ensuring job-protected and affordable family and medical leave =
for <SPAN=20
style=3D"TEXT-DECORATION: underline">all</SPAN> workers.&nbsp; Other =
priorities=20
include guaranteeing a minimum number of paid sick days for all =
employees and=20
ensuring all employees have the right to greater control over their work =

schedules so they are not penalized for care-giving =
responsibilities.</P>
<P>Specifically, the new legislation will allow eligible employees to =
take up to=20
12 weeks of job-protected leave in a 12-month period for any qualifying =
need=20
arising out of the active duty or call to active duty status of a =
spouse, son,=20
daughter, or parent.&nbsp; In addition, primary caregivers of military =
members=20
are permitted to take up to 26 weeks of job-protected leave in a =
12-month period=20
to care for a covered service member with a serious injury or =
illness.&nbsp; The=20
law will extend the time in which a family member can take such leave, =
and=20
expand the scope of those who would be covered by exigency leave =
provisions.</P>
<P>The Valuing Families Agenda aspires for all workers to have =
job-protected=20
family and medical leave, and the bill's passage is an incremental step =
toward=20
that end.&nbsp; CLASP has signed on to the <A=20
href=3D"http://familyvaluesatwork.org/assets/files/ValuingFamilies_Agenda=
09new.pdf">Valuing=20
Families Agenda</A>, along with more than 50 advocacy organizations =
representing=20
women, labor, business, faith groups, children, elderly, and caregiver=20
groups.&nbsp; <EM></EM></P></DIV>
<DIV class=3Din_focus>
<P class=3Ddate>Sep 14, 2009&nbsp;&nbsp;|&nbsp;&nbsp;<A=20
title=3D"How Employers Are Controlling Costs During the Recession "=20
href=3D"http://www.clasp.org/issues/in_focus?type=3Dwork_life_and_job_qua=
lity&amp;id=3D0003">Permalink=20
=C2=BB</A></P>
<H3>How Employers Are Controlling Costs During the Recession </H3>
<P>By <A href=3D"http://www.clasp.org/about/staff?id=3D0032">Lexer =
Quamie</A></P>
<P>While soaring unemployment rates are dominating the headlines, many =
employers=20
are taking a range of actions to control costs.&nbsp; A recent Families =
and Work=20
Institute (FWI) report, "<SPAN style=3D"COLOR: #800000"><A=20
href=3D"http://familiesandwork.org/site/research/reports/Recession2009.pd=
f">The=20
Impact of the Recession on Employers</A><SPAN=20
style=3D"COLOR: #000000">"</SPAN></SPAN><SPAN style=3D"COLOR: #000000">, =

</SPAN>offers some insight into how these cost-cutting measures are =
affecting=20
job quality.</P>
<P><STRONG><SPAN style=3D"COLOR: #800000">Cost =
Cutting</SPAN></STRONG></P>
<P>Based on a representative sample of employers, the report finds that =
among=20
the two-thirds of employers that have seen their revenues decline, 90 =
percent=20
have turned to cost-cutting measures. &nbsp;Men have been =
disproportionately=20
affected. They are more likely than women to work for employers that =
have=20
laid-off employees, reduced working hours, and reduced salaries.&nbsp; =
In=20
addition, employers with more men on the payroll rely more heavily on =
compressed=20
workweeks (27 percent versus 15 percent) to control costs and are less =
likely to=20
help laid-off and other workers link to benefits or services (40 percent =
versus=20
51 percent) for which they might eligible.&nbsp; &nbsp;Other =
cost-cutting=20
measures include reduced hours that are "voluntary" (29 percent) and =
involuntary=20
(28 percent) as well as reductions in sick time (8 percent) and paid =
vacation (7=20
percent).</P>
<P>In comparing firms where most workers are hourly with firms where =
most=20
workers are salaried, the survey found two cost-controls that reached a=20
statistically significant difference.&nbsp; In the hourly worker firms,=20
employers are more likely to: &nbsp;</P>
<UL type=3Ddisc>
  <LI>Reduce health care coverage/increase co-pays </LI>
  <LI>See increases in "voluntary" hours reduction</LI></UL>
<P><STRONG><SPAN style=3D"COLOR: #800000">Flexible Work=20
Arrangements</SPAN></STRONG></P>
<P>While some have suggested that flexible work arrangements might be a =
casualty=20
of the recession, overall, the vast majority of the surveyed employers =
report=20
that during the recession to date, flexible work options have been =
maintained=20
(81 percent) or increased (13 percent).&nbsp; Indeed, more than one in =
four=20
employers (26 percent) report relying on flexible workplace options to =
minimize=20
the need to lay off employees.</P>
<P><STRONG><SPAN style=3D"COLOR: #800000">Work =
Sharing</SPAN></STRONG></P>
<P>One way some employers can avoid laying off workersduring this tough =
economic=20
time is to participate in work sharing, a federal-state unemployment =
insurance=20
program that allows employers to reduce employees' hours instead of =
their work=20
force. Employees at firms that participate in work sharing are eligible =
for=20
partial unemployment benefits. Currently, though, only 17 states have =
work=20
sharing and even in those states, it is under used. Earlier this year, =
CLASP=20
released <A =
href=3D"http://www.clasp.org/publications/files/0481.pdf">"<SPAN=20
style=3D"COLOR: #800000">Work Sharing-an Alternative to Layoffs for =
Tough=20
Times</SPAN>"</A>&nbsp;which describes how states can establish work =
sharing=20
programs through Unemployment Insurance.</P>
<P>&nbsp;</P></DIV>
<DIV class=3Drelated>
<UL class=3D"list dated">
  <LI><A title=3D"Lack of Paid Sick Days Could Expand the H1N1 Problem"=20
  =
href=3D"http://www.clasp.org/issues/in_focus?type=3Dwork_life_and_job_qua=
lity&amp;id=3D0001"><SPAN=20
  class=3Ddate>Sep 01, 09</SPAN> <SPAN class=3Dheadline>Lack of Paid =
Sick Days Could=20
  Expand the H1N1 Problem</SPAN> </A></LI>
  <LI><A title=3D"The Healthy Families Act Helps Low-Income Workers"=20
  =
href=3D"http://www.clasp.org/issues/in_focus?type=3Dwork_life_and_job_qua=
lity&amp;id=3D0002"><SPAN=20
  class=3Ddate>Jul 28, 09</SPAN> <SPAN class=3Dheadline>The Healthy =
Families Act=20
  Helps Low-Income Workers</SPAN>=20
</A></LI></UL></DIV></DIV></DIV><!--primary--></DIV><!--bottom =
clearfix--></DIV><!--top--></DIV><!--wrapper--></DIV><!--container-->
<DIV id=3Dsitemap class=3Dclearfix>
<DIV class=3Dlinks><A title=3DHome =
href=3D"http://www.clasp.org/">Home</A>=20
&nbsp;|&nbsp; <A title=3D"About Us" =
href=3D"http://www.clasp.org/about/">About=20
Us</A> &nbsp;|&nbsp; <A title=3DExperts=20
href=3D"http://www.clasp.org/experts/">Experts</A> &nbsp;|&nbsp; <A=20
title=3D"News Room" href=3D"http://www.clasp.org/news_room/">News =
Room</A>=20
&nbsp;|&nbsp; <A title=3D"Resources and Publications"=20
href=3D"http://www.clasp.org/resources_and_publications/">Resources/Publi=
cations</A>=20
&nbsp;|&nbsp; <A title=3DIssues =
href=3D"http://www.clasp.org/issues/">Issues</A>=20
&nbsp;|&nbsp; <A title=3D"Federal Policy"=20
href=3D"http://www.clasp.org/federal_policy/">Federal Policy</A> =
&nbsp;|&nbsp; <A=20
title=3D"In the States" href=3D"http://www.clasp.org/in_the_states/">In =
the=20
States</A><!-- &nbsp;|&nbsp; <a href=3D"/data/" =
title=3D"Data">Data</a>-->=20
&nbsp;|&nbsp; <A title=3DDonate =
href=3D"http://www.clasp.org/donate">Donate</A>=20
</DIV><!--links-->
<DIV class=3Dsearch>
<FORM id=3Dcse-search-box2 method=3Dget action=3D/results><INPUT=20
value=3D001033499641357643954:f6r5qoodvty type=3Dhidden name=3Dcx> =
<INPUT=20
value=3DFORID:11 type=3Dhidden name=3Dcof> <INPUT value=3DUTF-8 =
type=3Dhidden name=3Die>=20
<INPUT onblur=3D"if(this.value=3D=3D'')this.value=3D'Search';"=20
style=3D"BORDER-BOTTOM: transparent; BORDER-LEFT: transparent; =
PADDING-BOTTOM: 2px; PADDING-LEFT: 4px; PADDING-RIGHT: 0px; BORDER-TOP: =
transparent; BORDER-RIGHT: transparent; PADDING-TOP: 4px"=20
id=3Dcse_search_q2 class=3Dinput =
onfocus=3D"if(this.value=3D=3D'Search')this.value=3D'';"=20
value=3DSearch maxLength=3D255 type=3Dtext name=3Dq> <INPUT =
id=3Dcse_search_button class=3Dsubmit type=3Dsubmit name=3Dsa> </FORM>
<SCRIPT type=3Dtext/javascript =
src=3D"http://www.google.com/jsapi"></SCRIPT>

<SCRIPT type=3Dtext/javascript>google.load("elements", "1", {packages: =
"transliteration"});</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.google.com/coop/cse/t13n?form=3Dcse-search-box2&amp;t13=
n_langs=3Den"></SCRIPT>
</DIV></DIV><!--sitemap clearfix-->
<DIV id=3Dfooter class=3Dclearfix>
<DIV =
class=3Dcontact><STRONG>CLASP</STRONG>&nbsp;&nbsp;=E2=96=AA&nbsp;&nbsp;10=
15 15th=20
Street NW, Suite 400&nbsp;&nbsp;=E2=96=AA&nbsp;&nbsp;Washington, DC =
20005<BR>p 202 906=20
8000&nbsp;&nbsp;=E2=96=AA&nbsp;&nbsp;f 202 842 2885<BR><A =
title=3D"Contact Us"=20
href=3D"http://www.clasp.org/about/contact/">Contact Us</A> =
</DIV><!--contact-->
<DIV class=3Dcopyright><A title=3D"Site Map"=20
href=3D"http://www.clasp.org/site_map/">Site =
Map</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A=20
title=3D"Privacy Policy" href=3D"http://www.clasp.org/privacy/">Privacy=20
Policy</A>&nbsp;&nbsp;|&nbsp;&nbsp;<A class=3Drss_icon title=3D"RSS =
Feeds"=20
href=3D"http://www.clasp.org/rss_feeds/">RSS Feeds</A><BR>Copyright =
=C2=A9 2009 by the=20
Center for Law and Social Policy, Inc.<BR>All Rights Reserved. =
</DIV><!--copyright--></DIV><!--footer clearfix-->
<DIV id=3Dcredit>Design + Development: <A title=3D"Site Designed by =
Articulated Man"=20
href=3D"http://www.articulatedman.com/" target=3D_blank>Articulated =
Man</A> </DIV>
<SCRIPT type=3Dtext/javascript>=0A=
var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");=0A=
document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' type=3D'text/javascript'%3E%3C/script%3E"));=0A=
</SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
try {=0A=
var pageTracker =3D _gat._getTracker("UA-1912925-1");=0A=
pageTracker._trackPageview();=0A=
} catch(err) {}</SCRIPT>
</BODY></HTML>

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.clasp.org/admin/site/work_life_and_job_quality/intro/files/0001.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK
CwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU
FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCACUAJQDASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9JYB8
jfWuZ+JniQeEPBGs6u3W0tXkUerY+X9cV1ES7dw968o/ajEg+DOvlM4MQDFew3DP6VhUk4wbXYuC
5pJHz1deJkWHwJq1wfNRpRbs57u+xsn6ksKsW+lw+D9e0/TpDiO0u5JYl7GJpAyqfYcY/wB2vFrb
xwl94Jg0ouGuLW4W4t89eOoH+e59K9Mt9Zk8YGxuVZ3vPI8iZWHzKR90/wBa8SEowTbPRcJN2Oo8
dQzXXjG7uZZCIzI0YYnqkg8xefZh+tdt8Lb12sr/AESS3YhbgtGOwVtxb8OQPwFct4L8J3mu6mW1
cny1ABJJw2Ole/eD/Dmn6YFKRLuAA3dzWTrXfum8aNl7xWPhbzdKgULzEu1d3YViaFA+i+JHgICp
Ij4bPI+U/wCH616hLAso7hfQVx+s+F7iLUVvLVA4jBbaTzms22mmVypqx3+laitxBEN4ZmUHPr6/
rWiTkV5d4U8Sx26x21wxg+zKIzLLwCx6D8a9Kt5vMjGK9zD11VVuqPMq0nTs31JD0pjdKe3SmMa6
7mAxqiepW61E54pAVJuhrNuetacwyDWZcdaiQ0WdCOLh632+6a57ROLhvwroG+7WlP4SZbmReLmY
1DtqxdjMxqHaabQGvCnmMcEfjWR8QfBsfjTwHrWjHYJLy1eJHbJCsRwfzrqYIFjU4zz64p4AWMk9
B71jL3lYpaO5+N+l2v8AYev3ulahG8F5p908MkUhOUZWwR/9fv1r6Z+HGnW11BBNG6K2AOPSuN/b
n+HMvgj4zQeKrG2MWk+IgqzlBwt0owT9WUKf+AmsX4XeKJLOSKFpSB2IPWvj8XGVKpufU4flq0rn
1ppRSwQBQOeprrNFvnlmwpwPrXnfhjWre7tUEsgLEdSa6CDUhYMzxyM69SBzWUW9zRx6HqqTrbwe
bLIqIBks5wAKfbahbXLKUkDb/u9s/QV8RfFr9o3xJqXxG0fwzYW8ljoqTL9puycNtzhnUEEMVHIB
4B9TwPoX4L6VbTTXOppe6jqJlfEVxqM259gHoAFBPXAHFempPlTVtfPU4ZQ1ad9PLQ9D8V+FYNSs
JQI8OcSKFHVx0NdHoqPFaRRyOHdFCl16Ngdabep51v5YPUYBqfS4vKtwMAHuBXoYWko1XNdjgr1G
6Sg+5bbpTWNOamN1r1jzhrdaiepG61G1AFaYcVmXI+Y1py9KzbrrWchol0Y/v2rfc4Wuf0c4nY/S
ugc/LWlPYmW5mXX+tNRVNcH94aiz7CqYHSTTmEL8o5HUiq095mLapGT221HJciULnjFQSNhc8Vkl
3KPC/wBr7wHe/EP4IeJdP0uBLnWI4PtdnGcbmljIcBT2YgEA+pr88fBHjJpfDUGrLK1sGgErjydz
q44Zdp6EEEYNfpx8Zng1HwPrmnC/WyuLi0kSN0l2OrbTtxg564Ffm7Z6HpnwtNna6pCumpqd3IzR
zSZzJI24fTkkfl714GYzjfltr/V0e9l0Ju7W39aj/Avxq8YeJItZlivoNKtrKDzbYXsIaS6OcBAF
Iw3tzjvX0L+yF8Yrzx/4jn0HxRAkV6I98bIflJ6EfUZFcn4a+GHh+4SS7tI/Lkfk4PAz6Cr3h3Q7
Xwb8VvDrWkn2UFyWmzgE+h+ua8uVenJrlhY9OFGSTUpXPrLxB8F/DOrLBNe2aM9sSUYAAjPNanh6
w0zw7H5dowVV4C7sgVfvda0zVdFRZ5lbz1KeWjc7iO2K8S8Xw33w5RbxdRub2F2wttt8x29SMc4H
eumtNU2pQSaOalFzTjN2Z9BwXqTFcMDn0rYtjmMFRx615r4K1Eajo1peebv8xQwYe/Y16DY3kcMY
SRwueQTXpYKupO8tLnl4ulZaF4NuNIxyajS8tpbpIFnj85/uqT94+memattYzj/lma9mLUvh1PLa
a3KrHBqNjxVo2M7n/VNQNIuGH3APqwqrMkzJehrNueta1/bSWZIlXA9exrltY1+008ZmmSM9gzAE
1jNqK1Lim9jW0g/vm/Ct9z8teb2HjqytpSxYOhI5Q812+n61a6tbiS3lV1I/EU6NWE/dTCcJR1aC
4P7w1Hn2FPmIL1HWzIL5cBRkiuN+JniU+HNHtphN5Ubz7ZSOpQI7ED8QK6t2worx39p4yx/D2O5i
ba8N7Fx/eDBlI/WuTFtxoTkuxvh7SqxT7le/8ReH7HQbfVfEOoG0tbpN4jI8sZI6FupP865eX4W6
N4u027v7XSoNO0+4+ZbvUYmlnbIIykbcjrwD69KteMPD58T6X4S0i42DT5JEmmixl5Ci5XB7ANgm
vRbiW10TSL7UZ3Z4NLt2dS54XYhLH69s18zRpuvPl/E+jnVWHhzLc+KXe1+Fl3Bp9p4jn8TaZNcz
W4vfs+z7NIpJMTFRjAGQO42kHJqLxrNdanHHfWRklktxuVocbvwzXnOgv4/ufGWn6noFrLqWowyy
TS6RKVEE0Ekm9yQ5C5XeQcnlSRXpfxM8baF4R8aNp2l6XJYILWOe6tUmEiwO+covsMdM+mKwqUIy
pqtSd77o7vbThWdGqtSv4N+M3irell/Z06XMDb472/lwFOMcImQx+tfSvwlgm8QWkl7qTXF9fTHb
NdXXJIznao6ADpgenrXzr4J8V6Le6uszlCjYYFThh9R3FfRmh+PFha3ttKMc0TgLtRfuk+p7VjGb
futWNarTjaK+Z6Rpmmw6DciziYLCx3Y7KO9di0yXCptIIx1rzu/037ZZCbUZQlyWQwxKxDEDOScH
7pyMZrc03UHW3VQfu8V1X9muWx5U482tzrIrdi8TrwySI4P0YGu9Y4Brz3TrxzAWkwCATxXoCtvi
B9RmvoMttyyt5Hi4xNNXGvJgqPxriPiv8YNG+E2lW9xqG+5vbtilpYQf6ydh1P8AsqM8sf1JxXWX
03lfPkACMtk+3NfOnirRtO+JPjmbXLpjcC3X7PaRsflRAc/qck1vjcRKhD938T2IwtBVp+9si/b/
ABQ8TeN7N5p/L063k+5axAgD3JPJ/Sse40GS6n8wus8jHlpXzn6f/rrp7bw9aWMUaoc/QVZ1HU7T
Ro0jYIZH6A9h3NfPSdSprUZ66pxh8KMe1tbewsAWt1Mw7IM/yrFv/GdzYTB7dGtnjOSF+6wrVOpr
rNs8iMPLBO0gfrUcWh2t5CTK5ZiOoNOPMtYslxi/iOw8MeOYNe0iO5LqrglHUnGGFa39vwf89U/7
6rw668JXFrcyjTrp0t3bft9D3/lUX/COat/z+tXqxxrSXMtThlhLvRnuvhXx3onjQXKaVeLcSWrB
ZkwQVP0Ncz8d/Cd54r+H9zFYJ591ZzJerbD/AJeBGctGPcjOPfFc38H/AAfr3h3xfreoazDHbG4j
RUSBtyPycnNerX9+La0kkchEUFixPQCuujKWJw9q8eVu6aPLpTlBqfVHy54B+MEfiLxHpsJgYwGL
FtIf4cfeQg9DXqfj+0vte0XZbztFpl8nl3McQG5m75JHAPTFfPvjOwt/AHxotdTtAqaFrkrXMQT7
sU5/1gHs2Q4+relfT3hC6h1DSfJZg6/e5NfMUoypylTbPq3OMlGolozwS98IN4P1GGa2VUbynTeo
wxyRnNeA/HTwytprkOsqhzqEHkyP/toSR+hP/fNfZnjWw+06vCjJhVQgsOmSQAa8n+Jfw/TxH4eu
9LciKVv3lvKR9yQcg/T19ia6FSvRbiZTrWxClI+fv2d/hvB8R/ElxaaoXGm2oDHyyVYsTyAR0GP5
19i+LT4e+G3hmwtNOiSF53EFtDbgBuBksevTjk14H+zc1x4b1uTT7pJNPulma3uVKg/NnIJ9QQRg
19DfFD4evq8OgXkEqSxWs7+ZgdS4GD/47j8a4tfZtxWp6M5XqJN6GRpGtTXmoF5mfLgD53LHAHqa
9R0cm6tkCcKBkmuLg8EyQQxyDIwOors/DjrbWflHhlGKzgpJ+8RUtJXR0OnStIpXrn5fr2r1FmES
gegxXnvhWz+3ahEAP3UREjn6dB+ddvc3A5PpX1WXQcabk+p87jZJzUV0OQ+LmtNovw/1a8jfY8cL
RBs4xuwv9a+c/BOp3US7irGNvmDjoR6ivXf2gr5rz4ba1p1svnXFwq4weEKsGJPvgYx714B+z94m
ub/SW0jW7J7G7jyUR1IV0yQHQnqD3HavOx8+aurPRL8T0MFDloNtbs9htteDIHfoK434ji41O032
7ksSA2w4OPT9a6W60pYoXKt17Gufv1ENnKjyhGdSBIenSuOo242Z1RVnczdH1aXRdHginYl2GQpP
RR3rotP8WWUcaF3ChwFRT355rl9QsIVtUNxMB50RZOeijsPfA/WuM8cSpDdaUbWTbFC7SMc9iB/W
sHUlTWg+RTZ7iJYCM+Yqg8ge1HmQf89lrwmfxvqF1IWtg0sS/Jux3FM/4S7WP+eT/lT+sIz9k+57
pB8Z1gIa4WFog4ViHwVHrXJ/F/4rx+LtPtfC/h24IuNSfyrq4Q/6iM9cH1NcWn7IWoXlwHvvG108
OORFEFYj0zk1lfB3wla2HiPxPp0c0lxBYS7UuJR8+Vzzn8KMfXx2FoclSSfO7efmfH++2ovqXfi9
oq6v4Fv7aFcXOkKtxasOqmMf1XI/Gu7+BGr3WteF7KZpMv5YyDzmuK8b3MsWgX+ox/w28kcq9j8p
HP516T8HPDtlpmjaebFv3EsKuQTnBI5FaVdaqPqqOlJrzOpubRtZvrhGUhURYic5+Y5Of0rD8QaF
9v0hJyuJAMMR2YcH9a9L03T43mu0AQOSjgKAMgZzVCDShc2N5AR0mkx+JNe5RpfuUvX8zzq1S9Zs
+eNTsksNVsL0xIk6SCOWQDBYH7pP0OR+NfQHhOaLV9J8mRTtkXBHofWvJvHGjGF5IJV2qwK7vT0P
4Gug+C3jEzxvp92wFzbnYwPfHevIlFQq2fU9SnLnp37HojwSW0bWsq4K9G9R61HpHhm91G5JgQpD
nLTScIP8foK623mim2OUSQr0LqGraiV50jcsArDCqOh/CuzD4GNaV5PRdDnq4mVNaIg022g0ezEF
tlj1eVurmo7zUtgOTzU7yRCb7P5iefjIj3Ddj1xWLrsbxRsdmWAyBuAzX0Kp8kVGK0PI1m7vc8L8
f+IbrTPEl/okjxz6TeSRzJLKx8yBnPzoPUdx9cdq6Hw54JstG0WCG3Y3NuhLRlzuaPPYH0ry79pi
DUr2LS5NFa3sNQicyXJlQStKq42pwwA5J568V1Xw28aPJZQwTOSAo6+mK+RxEVSxEos+pppzw8Wv
mdXqBURNExK+5rzjxTqMPhw+bqsjJpuGeWRI2kKqASWCjkn2FeparLb3QDgAk815v8TPBl94/wBC
aGwnECiVlLDOVZVI7A5B3Hg9eK4q7aj7u50UVFySlt1OB+Lct3Y6XpGq6dfw6n4fvI2ks9QtCdrD
AyjA8qwHb/CvMtd8U3M0VhbMSZWRNw6kZ5x9eleh2uhXXh34UPo+pYkt45fOVAhG0qpBIUjODnH4
Vw/wt8PXHjnx3DMkLnY+IUdflB/vt9Bz7cVxxbnr3OmtGNNtR1S6nt3w7+Geo3/hiCRIFd9x8zd2
cgEj8ARXTf8ACptV/wCfVPzr13wzpkXhzRbawhJZYh8z45dj1b861PtR9TXtRp01FJnhtybucbo2
oBrCFJGLP5agn1OK8N8KSx+FvH/inRpsLNdXD3MWeCUYZznuMk1lfET406t4D8FafqGlW8c5upFj
LSt/qvXiuY/tnUPHt5pWuT3cVvdLKkckgGMx7huH5VhmlWGJp02n7yl/wGj5iUk5Ll3N/wCJd7Jo
/hbVLcKWF40duo9GLjJ/LNep/B3db6VbIeAFHFeQfF7UILxNDtoLuK6824M7rEQcbVx1HqWr2j4b
QhdJtyOu0U6rvXt2PqaStR9WekpHI2qwzxsQAoVgDz1zn6YB/Op7W4jhXLMFaRi2Pqc1UHntZXTW
5UXCQM6M/TjBOfYjI/GrKaNJfsjBSFAHJ9a+hwzbpqx49dWqO5ieNvDUeu6e7xqC4GRivni/ubvw
V4oS5UMhJwR/eA7V9Zx6HJbKcyAqRyDXmXxP+Gy+IrVzGoSUcq6jvWGLwzqx5o7m2GrqnKz2NfwX
8S7PU9HMjyhGCE4Priuwv/Eqr4Tnu4pCggtd8bKccgZ/oK+O9b8N+LvDsLW9t5eZX8lXdioGTgk/
QZP4V6tJ8U4PB/h5dJvt2p6bcw+QbpkCPG+Mc845/Ct8rlKHP7RW2OmvTjNpwdz3jxV5V1pNnrkU
Si8tljuI7lBhivG5Se4IzxT9flOoRRmPneuc1k/CPX7fxp8O7SBm3skPkyBhzwMf0pWt7rTruKzm
3BQ4VXPQrmvpE1ON0edblfL2PnL4lX9xp3i24hvLWWWyYqsbxruYMfbuK5bSfix4P0u9ngl1NrCe
3bEsV5A8RQ9epGMfjX1L4m8H2ep38LzxKdjiQk46g8VzniD4KaLdalNeyafDMlwAJcxg5GOuO/f8
68SvlkK1Rz6nqUsYoRSZwFh8RtM1K3U2l7DcIRwY3BzWx4etJLyaS5iuZYYZDuKoxAY1V1D4AyeH
7dDoSm5tCwwinLomen+0B7812+keGbi1t0gWGQBVAya+anhqsKnJUh/kdjrwcbwZx/iXw1NqFncG
K3e6IXiFSMuTwBzS/Cvw/Y+GC4jsvst2SVl8xSHBzyCD0r2DRPB+5Q08e2MYLb+pwc4ro9T8E6fr
wMksfk3oX5bhBhwO2fUexr0oZbOdP2m0vM5HjYxfJLY5qG4DRgg/lT/O9zTX8Ja1ZN5S2/2hR0ki
YYI/Gm/8I7rf/PhJ/wB9L/jXA6NZO3I/uNlUpPVSX3nzdY/CjQfH3gu4WS1j+1o7ByQSc9cgZ714
/MzaFqmq+EYFLfY4HmDyDB2heQc98V6d4f8AG0XhaS4W6dzb3EP7tEOMvnrntXz94v8AHjzeNr66
WV5JbuKW3U8BtrDGD61x43DSWJqx6br5nySs5xS6tF/wFYrdaikkcaqFUDCjqa+xvhuGXTIVPZQM
Gvln4X6d5UhJXkYr6p8CShbRMHjA4rKj8dz7eu76Hb3moXmmafcXFk6x3SxMFZ13LyMcjvWX4V1L
xRqvh7TdXmvILqC6iSRnt4ygUkcjbk459607oebYyqO6H+VU/gtqkcPhu30+QgxDcqg9iGIxXu4a
Tc+RvQ8evFKPMlqejafEZoI2kJZyoJzU1xpyzIcqKnjjWNQFwB2xUrOCuK92x5FzzDx54BttbtSr
qMDnivnvx/8ADiXSbOZYZJDC+d0bHKn8DX15qbpsIPNeMfFGeEWcy8M2DxXJWpL4luddCrKLSOI/
Zg8Yv4Vu7vSblyY1YlUB5CHnj6HNfT+rRLrelJdWLCR1IljI747V8pfCrwe+qR6zrsWVntnRLbbn
gg7mJx2PA/A17R4F8Zjw3qgsLxyNNuzvhZj/AKpu6/Su/BznGmuc6a0OaTlHc6C5uZtUidWQpOzh
SDxg13MdislqFIyQo/E1g+JWitb3TLsKHtpJ1V2Xpg8A/nUFxqkng7V2hnkLWMx3RmQ9PYH+ld9r
vQ47c2xqJaRicqrtBL32kYb3I6VdVZLd1WVxg9GCDmkvbOLV7RLy0b5/vhkPU+9Q2l4dUs5LfcEv
IuVz6ine+pG5rLAu5RycckmlguR9ubuNn9az9B1U6iZo5QIbiI7GRvWq8139meck7SG289hSUebQ
VtbM6ZMMoPBz6Uu0VnaazJZRg8HGSD6nmrPmn1rJxszNo/OfSdZRvDmnaq87wRRoDLLGu4qMYPFL
qupeDNUjha+1uZS6iRPtMOA4PQjK9PpWD8KLkav4OvLAn54WIHsCOK4B7mzOtXEd1CLRbWPy9pBL
ynPVGOdp78VhUjezMKcjtLvxVpXh4tJp+swhAeBHGGP5Cuk8LftAy6eiA6zZIh6farORQfx4rwzT
5rO/m1FI5c3GTg8GQ57EdCPpUaXdikEdvHdNHcow8yONDM6sO6qMnP8AjXnvC039lfcehHETW8j7
Esf2j7V4wkmp6NI5GCDIU7ehNVtA+J50UMNP1DT5UMjyhTIGwWYsQOemTXzra6N4i160aO30jVJh
c7TPdXgWMPjkZ34PWmt8Lr21In1W/wBD0hWYRgzsbhiT0G0YG6rhhIrVIU8Q3o2fYVr+0tq1pEFk
s9PugB1VmB/manj/AGpbh22yeH4j7x3JH81r5C0fwX4Kn8R3mlSa1dX2q2C7rqG1YW0cPAPzYORw
fWvUdM0qz0qztrbSY/8ASZ5PLjikDTsOmGLM2MHPp2ro9lN7MxU4LdHu6/HM6ymF0eWHP9yYN/Su
S8aeI9Pv9Nma4u4tPJUk/aplXH9a+Wvi38cNQ8PeLLnw1pP+lXlpCJLl3YiKPLEAYBAzgZOT3Fcj
4G1HxZ8W9dgsF16307T5D/pUkZRPkz8ygYySegGe9ZSSpr94/wBDopp1HalHU+zPhz44k8Cpb3ll
FFqmnzIqX0EWfnUcF0yByOe3OcV7n4g8Ead4v0aO708hoLhBLGycEZGQR6GuC8OCyuPC8GmX1hGY
bcYgntwsckZ6ZHGDnuDwe9avhrxLqPhKZoVxfaYT8m35HQf7vT8jW9KtSUbc2nn0O6VGpvb3l+Jm
QeMNb8AQyaP4jtZNS0NvljuwpLRemcc8etes6Vq/h/4oeHBAZ4bxWTBUMM/WucvfiB4c1CMx6hm3
3DpImRXI3ei+E1uWvtJ1yDTJ2OS0cwQH6jOK6Iyj/wAu5J/MylTctZRcX3sdjp2ga98KL7/iXXj6
54dkO57C6fFxbjuYmPDj/ZOD6HtXQ6neQahaR63pMo3r99emR3BHYivN0+Ldlo1m1nret6XqUAO1
TLMpLA+nOc0+C4j1G1kk8LaLLpDTfeuZC8UMnuY25f64H1qquIp0481R2YlRnN3a+Z0mt+JF1C2u
prG6/s3VRGMSOQE3qcrnPY8g/Wuc+GfxCu/iJfzNemO3ltmMUtsWXc0qsQx25ztHr3z6cnnZ/hPd
Xtxd3Osa7c34u0Cy2aKqWwx/dUgkc8/eNeQeHvhno3wT+Mp1mwihsF1qMWonbgCXduClv9rkc9wP
WvHhm0edRtudywacXZ6n3ZbgrCo8wce9SZ/2x+dcBpet+dYxNJdxRORyrNjFW/7WT/n/AIf+/le6
mnqeM6bTPzt+A0jDW76HcfLeHcR7g0r6ZHqvxUutHleRLN5MnyyAwyueuDTPgP8A8jHd/wDXA/zq
9p3/ACXSf/f/APZKxl8KPMp7v0O6g+FfhqxUS/2etzKP4rhtxrnPF+tv4PmSDSLSzslZNxaOABs/
WvULj/UV498VP+P+L/rnVJJLQG2zlL3xjrOqxsZ9RmIJ+6rbRU1h4GsfHpsbbU57sJb6jb3SGGQA
l1yRnIPFYEX+oP1r0H4d/wDH7H/18w/1oWobM3fFXgPw14fvL6a00KzF3rbmHULpt/mzqxCkEhh2
GKXw59o8beI7yG4vrnTrUTtGtvppWFFUHAAOC2Me9bnxF/4+bH/r4X/0Osb4U/8AIz3v/X1J/wCh
GjZpGcm7HqGifss/DQzm8ufDcGo3ch3PPfnz2Y+pLZrtR8EPBYjKJocEIUDHlDZj8q6TSP8AUJ9K
1x/FSq4elWS9pBP1Vwo4itS/hza9G0UB8NdP0rQBNaX2ow7QcJ54df8Ax5TXHaveT6XGqrMZgf8A
nqq/0Ar16/8A+RXP0NeOeKuifhXh46jClC9NW9D6fAVqlWVqjuc/rk7XdsWbCn/Zrl0Yl8Ek/Wuk
1H/jzNc0n+sr4bEzk5XufZ4dLlNjTJn06ZLi2IhmXkOqrkfpXWWPxK12GQRtcRzr/wBNIxn9MVyM
H+rH0qaD/j5FczrVF9p/eXKlCW8Ueraf4lu9ThzKIgf9hSP615X8e9Ph1bwreRXK7lI3DHBBHII9
DXfeH/8AUVxPxp/5Fu7/ANw/yrulJundnnRio1FYT4Ua7c6v4A0e6ugks7xAM5By2OMnnrxXXfaj
/wA84/yP+NcB8Ff+SaaL/wBcz/M13FfZUKknSi2+iPJrRSqSS7n/2Q==

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.clasp.org/assets/img/submenu_publications.png

iVBORw0KGgoAAAANSUhEUgAAAGIAAAAJCAMAAAD+SAmlAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAARFQTFRFenpi29vUnZ2LwMC1vr6xnJyJnJyKwMC02NjQv7+zg4NsgoJs
2NjP1tbOi4t2vb2w2trTlJSA2trS9fX0lJSB2dnR19fP8PDrpKSTtbWn0tLK8fHutrao5+fhjIx3
r6+g4eHbz8/F8vLw8/Pw39/Yv7+0k5N/3t7Xrq6g2dnS0NDHycnApaWU5OTeuLiq4ODYpaWV6Oji
zc3D4uLc6url7Ozn6Ojj7Ozo8vLvzs7D9PTxyMi96+vmtbWmk5OAz8/Gt7eqpqaW0dHJtrap39/X
7+/qx8e9i4t3rq6fra2d1tbN8fHs9fXz2trUra2erKyc1tbPxsa7ycm+7Ozp8PDq6enj4+Pd8fHt
pKSU9PTy////trN+SQAAAFt0Uk5T////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////AJz6
uLwAAAHBSURBVHjadJLnVuNADIWvncTGY9yI0yCB9CWh97JL24UtsAtso+j9HwRJ8Q+cA/ccazTy
8Xy+0qBsscpE9Nf6ydFaIzr4FcfxM2/24mMSjXZ0+VTp6kqVyiHHGdUCPc7+1+pGVZet+xrHoC95
6/ofESyIVogKsLgIWzKRS+RiTr+SIu3YXPwi2zbgSVU1Q7Mo8q4TAr4kRZTkJYdaid/XrxixZM0v
opxDuPFnY/KInjFeZVPPbiJM1EUCcaGIKsLfnZJkRSCaIBqIjk6G4qIwcfAaEROlUwgPH6VFsjVJ
E21JHEhUhIMtTkMoAoEi6ohapI16w0Vqp+ZPHmGDMo3htdGcQsAhbVKVnwh+TRABw4bb78witW0s
5xGb6GWIVexSaKYQ/qmkDWwwIohQ14G0Ip7GB3WhN2peOraG9axR53iYahSPoet16RBwHIOzPOKJ
/59ufF+cBMQnM6J/SXTEnnQWovIi1gtGrBSw7LoGe4z4PhiMshuVwPZCfGVW4jgOVvOIfR8/Gj46
E0TNF0QJd9FQXWQIOrgAUmmWXtpvemlZgwzRY0AyFtSuDnYhh6D9Wz62ShMEj0Fc1Lm0TS8CDAAe
mJpjijSvxgAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.clasp.org/assets/img/submenu_pathways_to_good_jobs.png

iVBORw0KGgoAAAANSUhEUgAAAGoAAAAlCAMAAACd8YwcAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAYBQTFRFlAcGenpimxcWzYuKoignyYiFsElIsEhH4Lu629vUzIqJwMC1
yoiHr0hH9+7ty4mIqDc2yomHoScmg4Ns37m34bu6nZ2LwMC02dnSv7+0r0hGv7+z3bi1yoiGnJyK
5cnG3be1xXp59ezq2dnR9PTz5srJ2aqprkdFy4qIyYeEvGdl2trT7drZvmlo6c3MjIx38ejl7NnW
nJyLtVdVvmpp4ry8tlhX3ri20ZmX1Jua4Lq4qDg29u3s8unm6+vm8N3d26yr7OzoqTg3mxcX0tLK
lJSB48fE2Kmn4+Pdy4qJwnd11JubuLirzIqK0pmY4ry7w3h2vGhm6tfUoigm69jV9Ovp16im1qel
pqaWvWlo0pqZvWln0ZiW7NrY8Ofk8vLv4bu78+rooicm79zc3ri379zb05uat1lXycm+r6+gtlhW
vWhm3be00JiV2trUt1lZ8+rn7tvavWhn5snH4Lq54Lu50JiWz5eVycnAqTg4rq6f3bi27tvZ0ZiX
58vJ////bVB6uQAAAIB0Uk5T////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////wA4BUtnAAAFQUlEQVR42uyW+VMTSRTHv90z
BAnkhiiQSAhIDgmBJYAIyH2DCChyiLfita6K7r28f933ugdIJPvDZqu2aqt8BTOve3r6k3f2oLuh
gVgaGqblRktmRNPXWUS5dYWlq9tMUtcST3Q98rR/KmhQao5oTqlGHs0VlYqJclmxxHi/VlHUFbtY
/UDUrq6KdrU21C7RrkE1qOKrubhol9Xl66/UvKBaz62yKNVeM6qopqf5woC4Ei8WlaCuy1BQV84X
eyjVVStqLdbYqBoFpeIy1ajel1s1H4/HK1DtKvaoRlTj62JxvkFQsXmZWlNL5bG6gOpqV7u1ojgn
fjWoXcX51x2LmVjxH1V1YBddVbWiqBjrNqjpmHq9FpOMlFiZyLWq31tbW29Voh7FakatrZFB0fTr
mIq/J4taktBVSfYuLquaUPSfyXfUv0Y5IlNmMOo4cltf94u0EPn9Mt5f/kj72S9EvaHPcgnJZChy
g6+L5kpNTR1EA8nkgwFv27t1Vu7K4H4ut2BQMPIT60ENbMicFb9osrQelyiLI6Lb2GMGhnnuJqCf
EB1qHBNFECb6y7x0x6IS3h4JolRUlMyWQQ0NTc2C7RqFixKve/zYj5mWlhflqBNooj25DEOsOsBT
iEERtNEHjQ4agN4ZSUaTFtWfSOSRTyT6aUEjn7qfQfgh7HYO2HU+jEIHZWULfNa9ZyhycULaxTXS
6CW6p3EDAXk4hhtv0UT0HFH23sR5aOpQJ7dB5OSWQc6igr9hlSb5Nx9htBJVz6IFVUD2BCGErmGb
xJXDzDxkrRkaY7KW/RTdHLmA0nho4oXB01i5QbasxD70VaKsMKoHR1n0usMhHPCDAG7TJ0RkzVtI
uDgrNjnU2PwWZR1D75ARlM/n6wyKi5yNKeBZdQem4R65tKcP0MNZCPQ0R/CUjFltp7t3JCVqlagw
UnLLYQWnWJryLOisjqIZ6D12nMY9ojve2sUyVNuI2fhbVA7hLU5DjXfnqBJ8XGAluH+DyoKdxuZI
MmzjIBSJBPDpHLXDoWqLStZXojgvkAmDk+MMFQT6bBinqqNOIKnnSqr3SNITHQNPzq16/kZzXkxc
QNEvDBp8973d/t9Qk6vOatAOg6PO+jPv0Qu//+W4KB+Xl5ez+3+Wv9YbMh2djiORRZsUTU3JZNI2
i466up3+qqhOUyKrMnK0qSwBjJtpvczqJVtE2bLXbpqcPwzI/NNmOUZw1tjz5sUfq6A64a4OObOz
k9LatbPx0kWBpOe5L1v8GvuCmrn0JavLWQb1ZAyBxea30MeC2hwZSUoRPEA4kVjRCa/Fp7a2Uh6q
D7PivL6gqSk5rsY1V1gf9LipZS2oelNX+htUxPb2CN4Iirv7BKJESQyy984cmNepcN6iHOlEQyyT
vP2MmevkU9FvGpS0oxMPxeq1StSwaUz0QX5DE/cKbhYPuO2y+8Ird8+W5sMpnfdQju3gDm14PWLd
oMxZbzqFh6rH50pUAM1nPcXGSjOK/hgU9SxWKdwf1HKQYEr2dxwfo4Lewejj5t1jsezMtIdKm0Zb
jrpjT5FmOa+sA6OwjYmP4FNvL+hcTi+YXxR0xSxutuYYLgXFKA4TM9is8YJQDCpdsLZJpt+zHxh8
KrJZh2NCNChu7CM0kGHn9Z+i+gdXFjILXgb2zcL1uZjlZstYzap+LAmheZr/04LSchTrEw8V0AF7
fkSAMVbfkBerMPSEHDDhjMZKtbqaLLlwS5Omgh0GFWwNvygwyJ8+rSu3kD59J7SNbfOBRs3DDLOf
ZyZW0R1Wf84wrO5iCX8VYAA7DE+Lo7XBcAAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.clasp.org/admin/site/global_banners/files/0003.png

iVBORw0KGgoAAAANSUhEUgAAAIwAAABaCAMAAABdeU4+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAYBQTFRF////WVlF6+vrVVVCq6uX4+PihIRpjo5uZmZRxMS4lZVzcnJY
oqKVRkY3TU08YmJMXV1Ji4t7fn5iaWlRS0s6fHxg9PTzSEg4dHRaSUk50dHMgoJ029vTk5NykZFx
iYlqbW1V4ODYTEw7k5SDm5yNUFA+zMzKgYFk3t7egIBjU1NAo6OZu7u0eHhdg4NmgIBiVlZEZWVO
dnZcnZ2ShIRmra2jenpekJBvkpJxvr6u09PSqamdkpJ9e3ttxMTC+vr6i4t1m5uGfn5kbGxZtbWp
YGBKcHBXh4dolJWJs7Oko6OMdXVjXFxHgYFpiopseXlhhYVu3d3Y2dnZWVlIXV1My8vBgYFuampU
hoZ4gIBmeHhffHxj/Pz8fn5xn6CSjY2B6enlcXFdfX1hd3dqj498sLCel5iLg4NqSko5ubmompp/
h4hxf39lSUk419bWeXlnkZF1R0c33NvbSEg5bW1gjIxsl5iFV1dHfX1jj49zSEg35+fm6OnpfHxn
7+/uSUk6ir6RTwAADe1JREFUeNrsmvtXGksSxwtwDEbkJUxwYBeRx/AO71xAiQYRRERAEBKjRiSK
kWuuJJrcgyH/+lb3DPiIeuPZbA4/7Jcw091VXfWZmu4BksD4CAnGx0ZGBObpiGj0YP41Ivo/zIMw
f4yIKMy/R0SjB/NiRDR6ME9EHZsspvjTJ8cWUcUnL5YslvfnT/IWU5E4TFiOz8m5ZsmjV422iVtN
8J84f/Liadxk4YjXizwd4/LUZzCfThSjCw4THwbpn1yHMQERuxQHUTymeQtMtoimeBadgSlmCYEF
8ln0WjVjm7hZBP9ypJhnaYv59zl6C8qfPyFH9H2KRjpRiD5wmCjehjl/8h7K67GjY8Yc4fU2MBl8
Ma35vM+aYDF7/gcLf2EH5psijC2CMdkPZpIolrXAUigWi+n5v1g49scWOTBFimM0xjEwfBEz1vDK
jvG8hBOXiXPseZ446JcYOKZBRZhzqjjEY3zE39GOm7Po5+Mj2eJ7qI1BfLxYjIPJH4fjDb5IXDE5
HwcpFqp4DuCLYL8ZiUTGzejia/ojvAkrMEZj+AH0WQAOsuZzC14Zmbis96O36BA5YeHETAkoTJHq
A1Y3njdns+YiuapYFsdw8hHLNrPFbBkmgPE1s9QVk7swJgc1P151CGGW82P5sQ/mHpzoicsqxPk8
jTEGUl8EYAze+z9AzUQnpvLonTeLScw1UPhp2GswxTEplvFlnAQT/T5gpOc1jFMsPkXbfCxSvA7D
S+F9VoChimPWEF8U5jfzwJrKaMnH0MfAMtoJmBdgxAWWF68YI7nMt2Gyrnm8WFiNmCl0hLr5yBxt
tmiegLjBJRSmWIalDtpimO8CE/mxbMsoG9+HVzzGNePt1edpTqki1EGYSSR5yfhMdKJpFZ3fu/JC
kuIERLXZIYxZVNbf0R+T1GayZpCpD4ypXAZYxHYcVjcioiPCaOmtx+WJMHwZLkJ6vb7J12DsNXHA
M5KaVk5AamhGzOjzNy6xsZgwcdUQQ2eXmOSvPpw0s2TWNZild0vZLK71CR/uUDCF/Ob8YI+vIh9J
LsLgArpo0n6EPA4ojLAm54G1RYiv1KAlm0U/Acs4F32el4Hd1osTybqNmIUkL06BM2ivYLJUE7iA
ywywLZ+f7KYQn63B6sqkwdACaSyCj4dVPAoiyYV+ER8dky7Sp7bIKgnSxyAhnsZA+6Kf3CbXKkwQ
IjJRiuUul/10UZVZYPQ+noa9BuPPcyywXMugFaD5vwFKIa2281wKCtc4Se6/gokJfYwIk9ohTJa3
YZD+RAlvDo0xjre9iet6shPBq+SFiYJiQuGZ5e2QNnIFExHEx0KGSUNIjzX0N0NYSlcIwVCuELr7
9SF6K6inL9TkhT6vN4RcpC/acBiD+Jq8GIOPGfQ8BnBFtLGmX5homCQKdZq0YYhpxbnXYfy8S6vV
ung/aWpd+OzSanmaAM9+HOIHMH4XtoW+nxpdQ9sgyCAGPdJAPEYWJzaJtDxtaK/CUhj/iIjC8COi
0YNxjYgojHZENHowzRERhdE/TsJMvJIO0WvUOs+v4+u1KDKs7aCDmORnA/8kTFPbeb2+XiqdnCwu
tlqteSrrleZFtchL1N8t9F1EnZyclMaP1tddHe3DZBQmdqfQ+rWzPl7CkPPWi6UlG9XhxQWmbpEU
pdI4ybH++rWr03n1Cv+80uIbG0K5UEdH4yW8BLwIQoQTjoQJWL1Xr76KYMOMFMZ3SzH9dueohAwX
S7bw7q5id9dmu7AiQOloXasVpvsepeHlUW03ta/I/SW4POH6uk1j3obZiH3tIIb10IYQRLu2Q2vr
pPT6q/6xAD9BuIGA2wNtvKEwIUGI8uposTXkwIogSGl9+40v9Fs0to4wBqLQxvbW4vxhWAShNWmd
IEnI8LtEK0Mavu0jjZXUxDOois2qKX39jSgiDH7BedMptS6uqkJYDucX1zdCwheh3yMRJrSxtYh1
EUEQhcBYNUfffIbJVqLXTXk9S7h6Ngy/B2ZdI8Dsiiy7YUJT+vbmjdcphbcv2f4lk0gtR8PzjU7o
fwmDPwFC30rCNhJAiPABl2s1tjScsyt9S4RIyNR3JlLeqK1lfLPyqyXArKxMIo3GintJILGFxeet
tRWtOJ2nl8hBhUzkxLJSZ4XzJm2ab6FBqA3r1uzKCj2saKzkSNtbtDlsb5BPj9kHYGZRK/uhbw3y
sAsLHIe2Q6rchNPprCSkA5oBk3Du95mUdZbKiz87Tk/qEJ2eDeOPdjZanwV2vz67CtN1NJNx0p6n
fwfUqM/eoSEMCquzpZnPIcEAJGfNKTiEcZ4m+jdpBCR42WO6UTrZBq3MVm1tGpLBeaitZZKscRqg
Jq+/B9U0gUkG67PYboFGXU9YgvX7YOqiZmf3174ZNXvWXI5wYD335sldcjLOBCf9geYtW+ESXcfe
LJnrgWRdpVLJIamqXaozqmAa22VIyqOglqMdx6fr2N6DRiYYhYy8/qMozHR98CI8oY9bRo1Gs4fv
RqPhJYVhGKfjZm2w3U+kHEjqXaMTDQmsg0KOlclAUp3GrxAfsb3KbiFAEB1wnMAUWpDU2N7V6Njt
lwBzQ0i0sr+29nHh28ePBxoHhen1KkgDV0uG7Tm8BMXZzYnTgjvJMuwGBZgWLowotuXOchIKQTTj
uHwaYTRkzdTkmeD0j7oDZoBUT6Ny9C4xvUuGG9bm7dt+1+FNVRjCmfgmTtgPqtTlBCGp9erBoFqg
2gIWCio0W7xquXzCgjANSaGgVsnvg5Hfq3TUKcJgfkeCpbtIepryphK9HoVZTk9Tz+i7qEbBepCh
sMWWd1tesJG2KgkgURE73h58E5iCShW8M5sAE7znJV9LiSyX/R7ncHD9l2yPQxQHI71kCEz3UPTd
974DS1JCAda8LFisQluVgECGOOBNJHaEUd+XjsIE79VeV4SRMgyWJuVIETmcUullj8I4tgauKrVE
guVXkXemIJFIhHYwI5GoBnYJtWXuy0ZhVPdJ7hHvUq/L9NlKSqBJOFlkEWCW00PnTAZ3NJ5+bA8d
hP696R6G2U8JMN2uFD+UpJQlccl2e4PCdA9Vv1APwxjJXsLnL4MkfXyfcqTJXlYuB3dpZ+Ca1hCl
aWuNXPygOzSlNVvCODluUdvWVmZNk7kJk7lHKg8umUrF2ZdeXkoJDdtnSYVYpnsp7CXv54EvfX7g
4kzX8JRYyGRoP6y+MjUA5NVMDmATB99RUyJRwMeQehDjQZj9FNM9deLixQVMYQRhs+ukMN3wwBV3
idEtkwUKCXZPtlZm8TnjccuioFIPTQhzKKnGAdyFjBW4skSdSXCyJMgKN2DU90hTOe0iirCdRBxy
vsQb5iQwicbQtwE7MtwuC7DnDkhU4JEgjKQBRsnQ1IBUOSCHFNglam95D9ISNUdg3JJBjAdhVru9
PkMWMG4nSiMIF0yfOaV3qX4NpswluIUk2GX4hMUs4DU2Eqw9UBiYGpCDtO2dB2GmwWNnowEC47kN
U7hH4YSz2x3AXA5RyOLtd3Ftdz3qoW8DvAqPJ+2BagB75ZSb/vvAmlsyNBlhJxUtexAmEIa62/vO
LeE4N+kOYjwIU13YO/Qsex2n5KPyclCVHvkgYKSnXWfCWLgGs2PHlZEGD1ZmAQ7doFCWOVomwRRA
mMN3ICfZyyzHlUETuAtG8oA2q/LPH417iuUUImGBCAruatxOp86U6soPM+JikUiiEDUm2bIdYexG
0AiLRbFjbKiIB5tSYvY0pHY9Htbr5ji7B9C2L8T4R5ghU1C+b8x5vI5EhXxEOLt9ppKU3IQh54Cn
DL3opl2GMAEvWw0QE5ERK+P25jC7PQqbSrs7ClUKg/IEHgVzJfla4zCKH5UJZ2otcDUccNtpZQIy
u12ptMvw7CZtGTEpUXY3esjc+McuI74yNLrR7qa2wBAm8Bh9+bJZrcoP9sLRPcn1cRk+SsSGmzbJ
QRjDEYQgCtAx2WCYjriJkc58PAwFQh6VvBr4xaIwsp9XIIDLR0W+Lcnr8s1rhowxg8eDA1naaDQe
YBNPRsGUNqaFrtGYThvF8QwZvKWfhyEY6qoqqLr6Zla9ZibLUyYbrMhylT5nIEpujxe8dqELCmoF
snoBuDX3HTDuByXDu7JZqOKNUVXph2tVeOOI7MrLCAtKN+7VOQV8+q5io3YIf8KH267dXQUOvtjt
c2E4+65D60y7PaeBhfbnlNx+M9PDMDKshgBypzavwezAgs7u5hxtBZzplJxDhzBzyijo7IegAqvS
blfAlE5JrUocCwfm5ubugrHfI9kXlIQcsDa3RYZkV747cKCz2znHp1042MlB+BmEZ+iospyaSlXa
BOZMiQcHh/dykwNI5ZS38j0I46Yb8GrzXj8Jm/MGTJvAPNslv6WjU9+xMkq7Bj5jWc5yoFLiYpqa
Qxjy9wpYnM/hCuTmHgFjd/+TrlwLsIcwvSRWZmrq7GxGicVR2lPsVBTwVwUkdeQ2EZips+/fdcqC
sv3J5GgrHwHzGHGsdSEFBwTmTDenVMLyQSMFe2e9Cpai0jtTkjWDMAcLCwtKRW93IceGp+6AUf4K
fVnugcM49R1h2qRPtjD28fsVVgqPbWpQ0K0988Xbg0p46tncjRC/Dmbu+xTqk073SYBpT1G1P02d
tXXts6nv1DD3TBilzmdt5Y8wc79Euvaff87o5ubabR3tzjx79mxGp9ORMezpdNTQ/lMYxvNM+1aE
Xwjz34vC6EZEFKY9IqIwMyOi0YN5NiIaPZizERGFmRoRjY3af/UfIf1HgAEANoFNFS+cOOsAAAAA
SUVORK5CYII=

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://www.clasp.org/admin/site/global_banners/files/0004.png

iVBORw0KGgoAAAANSUhEUgAAAIwAAABaCAMAAABdeU4+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
bWFnZVJlYWR5ccllPAAAAYBQTFRF0bCwjzEx+fn5kwgJ////tUdHbQQFso+PhAkJbA0OycnJm0BA
yQEBrysrwcHBjQkJYw8QqQUGsgQFzAEB9fX16AAAZw4PoQYHmwUFcwwNyDAw7+/vrgUFxAICvb29
lxcYwQIC6ry8fAwM03l5vgMDZg8QmAgIzwAAnAcIWgsMtQQEpGhowkZG/Pz8uwMDuXp6pQYGyXp6
tRMUiBsb8vLypxUW0AAA5c/PwpGRYAwNZA0OkgUF/v7+v7+/xcXFUwoLegcH6OHhZAAAtwME1pub
cwAAjAYGtQICuQMEm1JSzGhowBIS2YmJ0wkKx1dX4ZqazAwMfAAAvaOj893d2Gdn00VFqXl53wQE
sAICqQIC+e7urAICYAkJTQAApgIC0NDQlgcH36urZgoKVAAAXwAAuWpqoAMDpQMEsQMEyA8QrQME
3r6+9vDwYgsLww8R3Xh4eAAAzouLaAwNiAcHZw0OvbGx7szNZggIqQMEfgkJ2AcHdAgIf0FBbAkK
owMDeQkKns5MnwAACuZJREFUeNrsl4tXGkkWh2VTCNJCguMKIkReYZD3c43SstqNvGRwADEKihBf
BMyYxEhwHPVf31tV3YhGYs+cswx7zv5om1t176379e1qhLFXI6SxV/8cGWGYf42ICMzPI6LRg/lp
RPR/mP8FmEkCMzkiGjmYdz/wG7bOzw3UKotT5Q/4RDRpmhRtw33O+fmWMPpAwz5gu9zThwHF3r0a
ewMwpqePn3JeFiFUMphMP1lYu5lMn7NlM5wQVmULe4iJo8D9c74EttdrgRwAoC5k2TBNIlFs2WR6
shztDPiePM7ZzVA1lC1VNswmC9qxk9lz1uMDj83j8WQ7KG8CD5geW6ViMJsmt1ApH6qq6chURpvY
t4k6dlMZjA4JDfmeLkc6YxqkSml3h/fxIUPKPmlBuz4yeY48KXyqplKpEOqkAKa2A3bem/OZDKgT
qqZ8Pt5QKaXMAGPbBVcqh/J2sy+VoqFp89Pl3uHODIRBnV3ebDLb02ncmT4YM5x2zGaz3YKq8AdR
YCPLjn0TqXcAAnJsKOvDMDt28JVZWwrezEKoaSDMDzrTYBu42SacD+ukH8DgmqZSZdcneAyoUQWg
3RSttYHZCAzkb9H3+0UGd8Y8SBsd1tvJGez0omrk4khT7ORkhiKbtbTg2fRmq9CB3TTNtVuAE2Cq
PrPZUGLVpEO9RZ7Uj2HMqWwDPwsGu723jh02MMCwHYvFUkKdKL5NYFoqwFUVipuFW5IqoxL2edls
LSURxj5Y/M5uvoEqIZ8dr0Om8N6FE4ax2KLVlADTyNaqvAHlqj4htVOqpcpsCWPm1LUdMt1b5Ek9
B2P38a4W7EUXrHPrEmDkOz44ndS63W7LBZjsyW0X27zdXul00yTKDFuo1iyj4Mlpnv1ca9LZ3iJ/
AWaD4Pg8KNjy2VC+Sa6ug26bGKbl4nk+7SMVWjy1fTnkoVH2nNdzypfZYLfpaiCPyyfCNJ+B8Q3Q
hmWLx+/nKL+bMrCWKh5tocRtM41h0kKYBZ00BdMeqpwZSM4Wspy0XNCZLg+TpRD/OPQJEZj0AKeh
gyxZTxk+P0+qfCrHdsigoq65oE/yFv89DOScsbm8Z8sCW7vWxD3t8r50HuUouhSYAeJDNvyPBiWi
p00+7criAZtQw03BnenyQhiu0Evh1YkK/kdli942eR6erlMXzDZYT5N/FPp9OQzzOz9IrtapWi4/
OTkl+6PZJYNadYrnp7p0Dqt5Cqw9pVqncrlayJnq3nZdNKT1fehj/Y5hXD+QsQWPyRS1mzv3g6nm
VC+m2XyQMmXs1lrGh2Hi+6PQB3oeBtaZGjSQliJdBGZKqtLqvM3mwZbLZrM1e/Ou7P3QFYKYfAhb
HhuVQeLyfwrGYEH4O1XFZpyagvdTo+gI4T3r0RLbRr9BNQxG0YRN35IO05SiKaOnIn5XS2iNUEKv
FV1ZUvG0BXZOBChFW7bel7vPWqOEEgTGKEnqCova6pfzQWCSa6FCTCu6OvAsIxSFcQgaJ0/O59us
XK8FmGAyFgtCO3VaCRWkwzQ3oSPJui6gkzfU+gCGCQgeNWIbQcQew9iD2MWY/lbnVMd0GMavDwR0
8CVZHpAKA9QSDmjIvP5WqzUG9Ho96UxAcOVYdKz2osUTrTEEXSgFPVptIKAlndFrjdoOi5ia9vka
vwDMLxD37BEwILYNV4tHWihEYaivhNj5WAd51TAh7JkG8AAMm5DL4es4W4HM54tQGCmSI9SO3faG
GEZHzTzUTuqDsE31wBksCZs8oA0KexmhYzH2h5IOE4X+9y0JRZLCKIGLBWDjlOoBbUDnUPsb+LlT
B8SnqXKc1AekwgQkCR4ZuR4bUYMzgDdw0knmgRK12/gLHcrXA9FAwOmozzdYFHRAZxJyRs4kY7Dv
JUg6jC6L2DM5LBpNsA11H0y290vRm6gHEhY1PHDOz/Ag1eEJ8yfrsN2dklgojA7Sn3/pEnhjBj/D
njibd4LtD4LkOujYYhuLhX2chVMnGMS/eGV4G/ljTh2WlAIijCRFE+KHK5N0iu0Iwl6phC9iyWSs
jdjgfFts03GyH0aSCIzEeKdDnliET2F/OBnrwfjhhiQuYk6nw3kMLYrVSUwpARvlL8H8CnUkHc46
NOACeuCA2skLqhexC2AhAbHkRaxOYnCQ0+msJ5N1p1Pq8rpfMYxTuhx1kANbdUEOhzBBnA4h5oWj
b0Kq/izMf1UExuEcjReFGRGNHsyLFw7x+DvUKy7A9PTyxcvhqp8Kw3zokbx8CR8cyiEKyvURfSAw
L4WWAMjV1eoQdXWlJDgvCAKBEVt2obxavb6+Hr8ZH9Zxfb16pVSK9fthoC1MsfdzZDg6KzKryos+
mN/u+1Ik/3CHJlytCL25eAwD2+nu+gyHeIcmXO3s+k68Ub8RGCV+QWNu0BBJRJ6bO7xt8IvAUBbl
1fXN0Fm8XnRzDTAEgcKQwdXd9Tfk/ceQ5UXf8H0i6sEo/06Yq3uYDRHm5hsC9/QQBeXQt5s7KyXY
IDAwsCqtFGZ6erg0GOaOElAYYl/NYpjp6Ugk8pYB+RcjWG8zxJo+Zt5GInN+pg22n2HWptsM0fE0
fW/jYGoy92kRP1lqDazpNTDwxFgkcuam8UADMNdWK24GhcG21Xo3e7MHMDjGf8QVCtw6VF+TYesT
WMy+FfIZDpaKhPe5t5ExcBxyBSZSgJBCAc9HYGofRv1ph9jCqZG33H54OtJeD2Mzc0YuFWD2bmbv
HsBYBRjvXGRubg5g/HNzY9b19pybc69ha3GOOTyUrc0x62PgGWcOGYijo7lCYe5eJLU/DUIifi68
BtGHzDjEb3P+NaV1kYZH5igM0QOY93voQIXlPnLDeZtzvy6EVdSKy/bDRxmVbFyhUmXWi8z6JcyT
karAKUAa1X2qpi+NhGQ4hepynSmuZ1SqlbCVOXLTQqqDA3bvfT9MiJqzj2EUnEwxLlNRSyXjFGFu
G6/9+lMY6mTuYQ7HQYo+mP404oDZuPtoWxUuvMbeQ5lK1AHa+3IzSwlCPZhZESYej+MV43EoeLku
g2FcwWXwJRbXrWFYe5tjFAouDBG4Ujxe4NygyzgRSX2YBiEZbjsOl6JgjrZhHq6LBscJzPvvYayz
N+/32AOVsGI8fikb34Y8yH4dXlfgzsD8PqfQyPaPOO4QnCq6aqEQvxdJfZQWLyqtl9uQwh3tyx7A
xAWY2XuYWaqbj7gzcU1c4z4Ky2RWLqOJF684wYJLhNMRB/0JQyMyR5m4hsxpChAikxU1GprqhnPR
2ks7BN86t62BBEgLrxfFNPJSHbALGIZIhMF36WZvAcHmA7nhUV0NuzWalZViRrka3oY5WUGh0Vxa
C4pMIQPDy0Lhks5p8INd+IQtkvo4DXzMNo3XaDKrGWEpKpUKYL4QFOtsf2e+fFxgKYygFfy3siJY
z2hl5eGoP21l4ApxFVrYmxC68QgGwV1aGaIAhl34ODFBAaIAE6XmBOlMfOX1ELWCO/Pxy0Rvz7zp
weA9M3QYFsNM9HVmAr8mhNv0d3SGADyGOcOP9hAFj/YZgSEEBGaCCmCKaweqoepgrbhEYLD6Yb4u
L/9RjAz3Rxwq/rG0/PUJmC9fl5cWFv49VC0sAMtTnZmB1iwtAc8QtbS0vPx1RqiPYebhHR8zmIbw
DE243teZGQFg/s3YzDxg0AO0PGSRokJ52pmZ0dD8K+jMiLB8ncedmZl5MxKCPQN/o6EZ0pkRgXlD
YEZGADNC+o8AAwCyyOPO1uadFwAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/reset.css

HTML {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
BODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DIV {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
SPAN {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
OBJECT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
IFRAME {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
H1 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
H2 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
H3 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
H4 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
H5 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
H6 {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
P {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
BLOCKQUOTE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
PRE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
A {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
ABBR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
ACRONYM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
ADDRESS {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
CODE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DEL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DFN {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
EM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
IMG {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
Q {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
DD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
OL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
UL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
LI {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
FIELDSET {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
FORM {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
LABEL {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
LEGEND {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
TABLE {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
CAPTION {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
TBODY {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
TFOOT {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
THEAD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
TR {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
TH {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
TD {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; FONT-STYLE: =
inherit; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
FONT-FAMILY: inherit; FONT-SIZE: 100%; VERTICAL-ALIGN: baseline; =
BORDER-TOP: 0px; FONT-WEIGHT: inherit; BORDER-RIGHT: 0px; PADDING-TOP: =
0px
}
BODY {
	LINE-HEIGHT: 1.5
}
TABLE {
	BORDER-SPACING: 0; BORDER-COLLAPSE: separate
}
CAPTION {
	TEXT-ALIGN: left; FONT-WEIGHT: normal
}
TH {
	TEXT-ALIGN: left; FONT-WEIGHT: normal
}
TD {
	TEXT-ALIGN: left; FONT-WEIGHT: normal
}
TABLE {
	VERTICAL-ALIGN: middle
}
TD {
	VERTICAL-ALIGN: middle
}
TH {
	VERTICAL-ALIGN: middle
}
BLOCKQUOTE:before {
	CONTENT: ""
}
BLOCKQUOTE:after {
	CONTENT: ""
}
Q:before {
	CONTENT: ""
}
Q:after {
	CONTENT: ""
}
BLOCKQUOTE {
	QUOTES: "" ""
}
Q {
	QUOTES: "" ""
}
A IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/typography.css

BODY {
	FONT-FAMILY: Arial, Helvetica, Verdana, sans-serif; COLOR: #818181; =
FONT-SIZE: 85%
}
.body_med {
	FONT-SIZE: 1em
}
.body_large {
	FONT-SIZE: 1.1em
}
H1 {
	COLOR: #818181; FONT-WEIGHT: normal
}
H2 {
	COLOR: #818181; FONT-WEIGHT: normal
}
H3 {
	COLOR: #818181; FONT-WEIGHT: normal
}
H4 {
	COLOR: #818181; FONT-WEIGHT: normal
}
H5 {
	COLOR: #818181; FONT-WEIGHT: normal
}
H6 {
	COLOR: #818181; FONT-WEIGHT: normal
}
H1 {
	LINE-HEIGHT: 1em; MARGIN-TOP: 5px; MARGIN-BOTTOM: 0.5em; FONT-SIZE: =
1.8em
}
H2 {
	LINE-HEIGHT: 1em; MARGIN-BOTTOM: 0.75em; FONT-SIZE: 1.5em
}
H3 {
	LINE-HEIGHT: 1em; MARGIN-BOTTOM: 1em; FONT-SIZE: 1.3em
}
H4 {
	LINE-HEIGHT: 1.25em; MARGIN-BOTTOM: 1.25em; HEIGHT: 1.25em; FONT-SIZE: =
1.2em
}
H5 {
	MARGIN-BOTTOM: 1.5em; FONT-SIZE: 1.1em; FONT-WEIGHT: bold
}
H6 {
	FONT-SIZE: 1em; FONT-WEIGHT: bold
}
H1 IMG {
	MARGIN: 0px
}
H2 IMG {
	MARGIN: 0px
}
H3 IMG {
	MARGIN: 0px
}
H4 IMG {
	MARGIN: 0px
}
H5 IMG {
	MARGIN: 0px
}
H6 IMG {
	MARGIN: 0px
}
#related H2 {
	TEXT-TRANSFORM: uppercase; FONT-SIZE: 10px
}
P {
	MARGIN: 0px 0px 1.5em
}
.left {
	PADDING-BOTTOM: 0px; MARGIN: 1.5em 1.5em 1.5em 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FLOAT: left; PADDING-TOP: 0px
}
.right {
	MARGIN: 1.5em 0px 1.5em 1.5em; FLOAT: right
}
P.date {
	PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; MARGIN: -4px 0px 15px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #868687; FONT-SIZE: =
0.75em; PADDING-TOP: 0px
}
P.title {
	PADDING-BOTTOM: 0px; TEXT-TRANSFORM: uppercase; MARGIN: -4px 0px 15px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #868687; FONT-SIZE: =
0.75em; PADDING-TOP: 0px
}
SPAN.date {
	TEXT-TRANSFORM: uppercase; COLOR: #868687; FONT-SIZE: 0.75em
}
P.intro {
	COLOR: #eb702f; FONT-WEIGHT: bold
}
A:focus {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; =
COLOR: #530000
}
A:hover {
	OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: medium; =
COLOR: #530000
}
A {
	COLOR: #920000; TEXT-DECORATION: none
}
BLOCKQUOTE {
	FONT-STYLE: italic; MARGIN: 1.5em; COLOR: #666
}
STRONG {
	FONT-WEIGHT: bold
}
EM {
	FONT-STYLE: italic
}
DFN {
	FONT-STYLE: italic
}
DFN {
	FONT-WEIGHT: bold
}
SUP {
	LINE-HEIGHT: 0
}
SUB {
	LINE-HEIGHT: 0
}
ABBR {
	BORDER-BOTTOM: #666 1px dotted
}
ACRONYM {
	BORDER-BOTTOM: #666 1px dotted
}
ADDRESS {
	FONT-STYLE: italic; MARGIN: 0px 0px 1.5em
}
DEL {
	COLOR: #666
}
PRE {
	MARGIN: 1.5em 0px; WHITE-SPACE: pre
}
CODE {
	MARGIN: 1.5em 0px; WHITE-SPACE: pre
}
PRE {
	FONT: 1em/1.5 "andale mono", "lucida console", monospace
}
CODE {
	FONT: 1em/1.5 "andale mono", "lucida console", monospace
}
TT {
	FONT: 1em/1.5 "andale mono", "lucida console", monospace
}
LI UL {
	MARGIN: 0px 1.5em
}
LI OL {
	MARGIN: 0px 1.5em
}
UL {
	MARGIN: 0px 1.5em 1.5em
}
OL {
	MARGIN: 0px 1.5em 1.5em
}
UL {
	LIST-STYLE-TYPE: disc
}
OL {
	LIST-STYLE-TYPE: decimal
}
DL {
	MARGIN: 0px 0px 1em
}
DL DT {
	FONT-WEIGHT: bold
}
DD {
	MARGIN-LEFT: 1.5em
}
TD {
	COLOR: #818181; FONT-SIZE: 85%; VERTICAL-ALIGN: top
}
.smallheading {
	LINE-HEIGHT: 1.1em; TEXT-TRANSFORM: uppercase; DISPLAY: block; =
MARGIN-BOTTOM: 6px; FONT-SIZE: 10px
}
.small {
	LINE-HEIGHT: 1.1em; MARGIN-BOTTOM: 1em; FONT-SIZE: 0.8em
}
.footnotes {
	LINE-HEIGHT: 1.1em; MARGIN-BOTTOM: 1em; FONT-SIZE: 0.8em
}
.quotes P.small {
	LINE-HEIGHT: 1.1em; MARGIN: 0px; FONT-SIZE: 0.9em
}
.large {
	LINE-HEIGHT: 2.5em; MARGIN-BOTTOM: 1.25em; FONT-SIZE: 1.2em
}
.hide {
	DISPLAY: none
}
.quiet {
	COLOR: #666
}
.loud {
	COLOR: #000
}
.highlight {
	BACKGROUND: #ff0
}
.added {
	BACKGROUND: #060; COLOR: #fff
}
.removed {
	BACKGROUND: #900; COLOR: #fff
}
.first {
	PADDING-LEFT: 0px; MARGIN-LEFT: 0px
}
.last {
	PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px
}
.top {
	MARGIN-TOP: 0px; PADDING-TOP: 0px
}
.bottom {
	PADDING-BOTTOM: 0px; MARGIN-BOTTOM: 0px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/shell.css

BODY {
	MARGIN: auto; BACKGROUND: url(/assets/img/tile.jpg) white repeat-x =
center top
}
#nav {
	MARGIN: auto; WIDTH: 960px
}
#wrapper {
	MARGIN: auto; WIDTH: 960px
}
#header {
	MARGIN: auto; BACKGROUND: url(/assets/img/header_tile.jpg) no-repeat =
center top; HEIGHT: 158px; _overflow: hidden
}
#header .clearfix {
	MARGIN: auto; WIDTH: 960px; BACKGROUND: =
url(/assets/img/header_tile.jpg) no-repeat center top; HEIGHT: 127px; =
OVERFLOW: hidden
}
#logo {
	FLOAT: left
}
#search {
	FLOAT: left
}
#logo {
	WIDTH: 683px; HEIGHT: 127px
}
#logo A {
	WIDTH: 683px; HEIGHT: 127px
}
#logo A {
	DISPLAY: block; BACKGROUND: url(/assets/img/logo.png) no-repeat 5px 5px
}
#logo A SPAN {
	DISPLAY: none
}
#search {
	MARGIN: 52px 0px 0px; WIDTH: 277px
}
#container {
	TEXT-ALIGN: left; MARGIN: auto; MIN-HEIGHT: 336px; BACKGROUND: =
url(/assets/img/container_tile.jpg) no-repeat center top
}
#wrapper {
	TEXT-ALIGN: left
}
#wrapper {
	BACKGROUND: url(/assets/img/wrapper_tile.png) white repeat-y center top
}
#home #wrapper {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.wide #wrapper {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#wrapper .top {
	MIN-HEIGHT: 215px; BACKGROUND: url(/assets/img/wrapper_top_generic.png) =
no-repeat center top
}
#wrapper .bottom {
	MIN-HEIGHT: 315px; BACKGROUND: url(/assets/img/wrapper_bottom.png) =
no-repeat center bottom
}
#primary {
	FLOAT: left; OVERFLOW: hidden
}
#secondary {
	FLOAT: left; OVERFLOW: hidden
}
#primary {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 780px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
#secondary {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 0px; WIDTH: 180px; PADDING-RIGHT: =
0px; PADDING-TOP: 14px
}
.pad {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; =
PADDING-TOP: 20px
}
#index .pad {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; =
PADDING-TOP: 0px
}
.clearfix:after {
	DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; CONTENT: =
"."
}
.container:after {
	DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; CONTENT: =
"."
}
.clearfix {
	DISPLAY: inline-block
}
.container {
	DISPLAY: inline-block
}
* HTML .clearfix {
	HEIGHT: 1%
}
* HTML .container {
	HEIGHT: 1%
}
.clearfix {
	DISPLAY: block
}
.container {
	DISPLAY: block
}
.clear {
	CLEAR: both
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/elements.css

.secondary-image {
	WIDTH: 148px; HEIGHT: 148px; MARGIN-LEFT: 16px; OVERFLOW: hidden
}
.secondary-image IMG {
	WIDTH: 148px; HEIGHT: 148px
}
.breadcrumbs {
	BORDER-BOTTOM: #d9d9ca 1px dotted; PADDING-BOTTOM: 20px; =
TEXT-TRANSFORM: uppercase; MARGIN: 0px 0px 20px; PADDING-LEFT: 0px; =
WIDTH: 100%; PADDING-RIGHT: 0px; HEIGHT: 9px; FONT-SIZE: 10px; =
PADDING-TOP: 0px; _overflow: hidden
}
.title {
	TEXT-TRANSFORM: uppercase; WIDTH: 100%; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: left top; HEIGHT: 9px; FONT-SIZE: 10px; _overflow: =
hidden
}
.title A {
	TEXT-TRANSFORM: uppercase; WIDTH: 100%; BACKGROUND-REPEAT: no-repeat; =
BACKGROUND-POSITION: left top; HEIGHT: 9px; FONT-SIZE: 10px; _overflow: =
hidden
}
.title {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.title A {
	DISPLAY: block
}
.title A:hover {
	BACKGROUND-POSITION: left -18px
}
.title A SPAN {
	DISPLAY: none
}
.title SPAN {
	DISPLAY: none
}
H3.title {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
MARGIN-BOTTOM: 0px; PADDING-TOP: 20px
}
.wrap {
	HEIGHT: 18px
}
.more {
	PADDING-BOTTOM: 12px; LINE-HEIGHT: 12px; TEXT-TRANSFORM: uppercase; =
PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: 0px; FONT-SIZE: 10px; =
BORDER-TOP: #d9d9ca 1px dotted; PADDING-TOP: 9px
}
#home .more {
	PADDING-BOTTOM: 8px; LINE-HEIGHT: 10px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 8px
}
.all {
	FLOAT: left; OVERFLOW: hidden
}
.tabs {
	FLOAT: left; OVERFLOW: hidden
}
.rss {
	FLOAT: left; OVERFLOW: hidden
}
.all {
	WIDTH: 50%
}
#home .all {
	WIDTH: 100px
}
.tabs {
	WIDTH: 80px
}
.rss {
	WIDTH: 50%
}
#home .rss {
	WIDTH: 100px
}
.rss A {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 16px; WIDTH: 21px; PADDING-RIGHT: =
0px; DISPLAY: block; BACKGROUND: url(/assets/img/icon_rss.png) no-repeat =
left -1px; FLOAT: right; HEIGHT: 14px; PADDING-TOP: 0px
}
A.rss_icon {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 16px; PADDING-RIGHT: 0px; =
BACKGROUND: url(/assets/img/icon_rss.png) no-repeat left top; =
PADDING-TOP: 0px
}
.intro {
	PADDING-BOTTOM: 58px; PADDING-LEFT: 20px; WIDTH: 740px; PADDING-RIGHT: =
20px; BACKGROUND: url(/assets/img/divider780.jpg) no-repeat left bottom; =
PADDING-TOP: 20px
}
.advocacy_areas .intro {
	PADDING-BOTTOM: 38px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; =
PADDING-TOP: 15px
}
.issues .intro {
	PADDING-BOTTOM: 38px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; =
PADDING-TOP: 10px
}
.federal_policy .intro {
	PADDING-BOTTOM: 38px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; =
PADDING-TOP: 15px
}
.publications_tabs #tabs {
	MARGIN-TOP: 20px
}
.publications_tabs .ui-tabs-nav {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: auto; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; WIDTH: 780px; PADDING-RIGHT: 0px; DISPLAY: block; =
BACKGROUND: url(/assets/img/publications_tabs_border.png) repeat-x left =
bottom; OVERFLOW: hidden; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
.publications_tabs .ui-tabs-nav LI {
	MIN-WIDTH: 20px; TEXT-ALIGN: center; LINE-HEIGHT: 16px; MARGIN: 0px; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; OUTLINE-WIDTH: 0px; DISPLAY: =
block; FLOAT: left; FONT-SIZE: 14px; OVERFLOW: hidden
}
.publications_tabs .ui-tabs-nav LI A {
	BORDER-BOTTOM: #e2e2d6 1px solid; BORDER-LEFT: medium none; =
PADDING-BOTTOM: 10px; PADDING-LEFT: 12px; PADDING-RIGHT: 12px; DISPLAY: =
block; BACKGROUND: #f6f6f1; BORDER-TOP: #e2e2d6 1px solid; BORDER-RIGHT: =
#e2e2d6 1px solid; PADDING-TOP: 10px
}
.publications_tabs .ui-tabs-nav A.communities {
	BACKGROUND: #efefe6
}
.publications_tabs .ui-tabs-nav LI.first {
	BORDER-LEFT: #e2e2d6 1px solid; MARGIN-LEFT: 20px
}
.publications_tabs .ui-tabs-nav .ui-tabs-selected A {
	Z-INDEX: 2; BORDER-BOTTOM: white 1px solid; BACKGROUND: white; COLOR: =
#8c8c8b; FONT-WEIGHT: bold
}
.publications_tabs .ui-tabs-nav .ui-tabs-selected A.communities {
	Z-INDEX: 2; BORDER-BOTTOM: white 1px solid; BACKGROUND: white; COLOR: =
#8c8c8b; FONT-WEIGHT: bold
}
.publications_tabs .ui-tabs-panel {
	PADDING-BOTTOM: 20px; PADDING-LEFT: 20px; WIDTH: 740px; PADDING-RIGHT: =
20px; BACKGROUND: white; CLEAR: both; PADDING-TOP: 20px
}
.keyword_search {
	WIDTH: 50%; FLOAT: left
}
.filters {
	WIDTH: 50%; FLOAT: left
}
.keyword_search .input {
	WIDTH: 250px
}
.keyword_search FIELDSET {
	PADDING-BOTTOM: 0px; MARGIN: 4px 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.keyword_search FIELDSET INPUT {
	DISPLAY: block; FLOAT: left
}
.keyword_search LABEL {
	DISPLAY: block; FLOAT: left
}
.keyword_search FIELDSET INPUT {
	WIDTH: 22px
}
.keyword_search LABEL {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-SIZE: =
11px; FONT-WEIGHT: normal; PADDING-TOP: 2px
}
.keyword_search .submit {
	BORDER-BOTTOM: #660000 1px solid; BORDER-LEFT: #660000 1px solid; =
PADDING-BOTTOM: 6px; MARGIN: 15px 0px 0px; PADDING-LEFT: 6px; =
PADDING-RIGHT: 6px; BACKGROUND: #a70000; COLOR: white; FONT-SIZE: 14px; =
BORDER-TOP: #660000 1px solid; FONT-WEIGHT: normal; BORDER-RIGHT: =
#660000 1px solid; PADDING-TOP: 6px
}
.filters SELECT {
	MARGIN: 0px 0px 15px
}
.toggle #tabs {
	TEXT-ALIGN: center
}
.toggle .ui-tabs-nav {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: auto; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; WIDTH: 300px; PADDING-RIGHT: 0px; DISPLAY: block; =
HEIGHT: 16px; OVERFLOW: hidden; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
.toggle .ui-tabs-nav LI {
	MIN-WIDTH: 20px; TEXT-ALIGN: center; LINE-HEIGHT: 16px; TEXT-TRANSFORM: =
uppercase; MARGIN: 0px; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 16px; =
FONT-SIZE: 14px; OVERFLOW: hidden
}
.toggle .ui-tabs-nav LI A {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; =
PADDING-TOP: 0px
}
.toggle .ui-tabs-nav LI.rightborder {
	BORDER-RIGHT: #8c8c8b 1px solid
}
.toggle .ui-tabs-nav .ui-tabs-selected A {
	Z-INDEX: 2; COLOR: #8c8c8b; FONT-WEIGHT: bold
}
.toggle .ui-tabs-panel {
	TEXT-ALIGN: left; WIDTH: 740px; BACKGROUND: white; CLEAR: both
}
#issues_overview {
	PADDING-BOTTOM: 0px; MARGIN: -15px 0px 0px; PADDING-LEFT: 20px; WIDTH: =
380px; PADDING-RIGHT: 20px; FLOAT: left; PADDING-TOP: 0px
}
#issues_overview .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_issues.png)
}
#in_focus {
	PADDING-BOTTOM: 0px; MARGIN: -15px 0px 0px; MIN-HEIGHT: 200px; =
PADDING-LEFT: 20px; WIDTH: 380px; PADDING-RIGHT: 20px; FLOAT: left; =
PADDING-TOP: 0px; _height: 200px
}
#in_focus .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_in_focus.png)
}
#in_focus H3 {
	MARGIN-BOTTOM: 5px
}
#in_focus SPAN {
	FONT-SIZE: 12px
}
.in_focus {
	BORDER-BOTTOM: #d9d9ca 1px dotted; PADDING-BOTTOM: 15px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; MARGIN-BOTTOM: 20px; PADDING-TOP: 5px
}
.in_focus .date {
	MARGIN-BOTTOM: 0px
}
.in_focus H3 {
	MARGIN: 5px 0px
}
.in_focus .permalink {
	TEXT-TRANSFORM: uppercase; FONT-SIZE: 10px
}
#announcement {
	BORDER-BOTTOM: #eeeee5 1px solid; BORDER-LEFT: #eeeee5 1px solid; =
PADDING-BOTTOM: 9px; PADDING-LEFT: 9px; WIDTH: 320px; PADDING-RIGHT: =
9px; BACKGROUND: #f9f9f5; OVERFLOW: hidden; BORDER-TOP: #eeeee5 1px =
solid; BORDER-RIGHT: #eeeee5 1px solid; PADDING-TOP: 9px
}
#announcement .title {
	BACKGROUND-IMAGE: url(/assets/img/title_sign_on_letter.png)
}
#announcement H3 {
	MARGIN-BOTTOM: 5px
}
#announcement SPAN {
	LINE-HEIGHT: 15px; FONT-SIZE: 11px
}
#announcement SPAN A {
	FONT-SIZE: 10px
}
#announcement .imgright {
	WIDTH: 120px
}
#index #highlights #tabs {
	BORDER-BOTTOM: #eeeee5 1px solid; BORDER-LEFT: #eeeee5 1px solid; =
BACKGROUND: #f9f9f5; OVERFLOW: hidden; BORDER-TOP: #eeeee5 1px solid; =
BORDER-RIGHT: #eeeee5 1px solid; PADDING-TOP: 9px
}
#index .narrow #tabs {
	WIDTH: 338px
}
#index .wide #tabs {
	WIDTH: 740px
}
#index #highlights #tabs .title {
	BACKGROUND-IMAGE: url(/assets/img/a_title_highlights.png); =
BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; TEXT-TRANSFORM: =
uppercase; BACKGROUND-COLOR: #f9f9f5; WIDTH: 110px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: 9px 0px; FLOAT: left; HEIGHT: 9px; =
FONT-SIZE: 10px; BORDER-TOP: medium none; BORDER-RIGHT: medium none; =
_overflow: hidden
}
#index #highlights #tabs .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_highlights.png); =
BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; TEXT-TRANSFORM: =
uppercase; BACKGROUND-COLOR: #f9f9f5; WIDTH: 110px; BACKGROUND-REPEAT: =
no-repeat; BACKGROUND-POSITION: 9px 0px; FLOAT: left; HEIGHT: 9px; =
FONT-SIZE: 10px; BORDER-TOP: medium none; BORDER-RIGHT: medium none; =
_overflow: hidden
}
#index #highlights #tabs .title {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#index #highlights #tabs .title A {
	DISPLAY: block
}
#index #highlights #tabs .title A:hover {
	BACKGROUND-POSITION: 9px -18px
}
#index #highlights #tabs {
	MARGIN-TOP: 20px
}
#index #highlights .ui-tabs-nav {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: auto; =
OUTLINE-STYLE: none; OUTLINE-COLOR: invert; PADDING-LEFT: 0px; =
OUTLINE-WIDTH: 0px; PADDING-RIGHT: 0px; DISPLAY: block; BACKGROUND: =
url(/assets/img/highlights_tabs_border.png) repeat-x left bottom; =
OVERFLOW: hidden; LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
#index .narrow .ui-tabs-nav {
	WIDTH: 338px
}
#index .wide .ui-tabs-nav {
	WIDTH: 740px
}
#index #highlights .ui-tabs-nav LI {
	MIN-WIDTH: 20px; TEXT-ALIGN: center; LINE-HEIGHT: 12px; TEXT-TRANSFORM: =
uppercase; MARGIN: 0px; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; FONT-SIZE: 10px; =
OVERFLOW: hidden
}
#index #highlights .ui-tabs-nav LI A {
	BORDER-BOTTOM: #eeeee5 1px solid; BORDER-LEFT: medium none; =
PADDING-BOTTOM: 3px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; DISPLAY: =
block; BACKGROUND: #eeeee5; BORDER-TOP: #eeeee5 1px solid; BORDER-RIGHT: =
#eeeee5 1px solid; PADDING-TOP: 3px
}
#index #highlights .ui-tabs-nav LI.first {
	BORDER-LEFT: #eeeee5 1px solid; MARGIN-LEFT: 20px
}
#index #highlights .ui-tabs-nav .ui-tabs-selected A {
	Z-INDEX: 2; BORDER-BOTTOM: white 1px solid; BACKGROUND: white; COLOR: =
#8c8c8b; FONT-WEIGHT: bold
}
#index #highlights .ui-tabs-panel {
	PADDING-BOTTOM: 9px; PADDING-LEFT: 9px; PADDING-RIGHT: 9px; BACKGROUND: =
white; CLEAR: both; PADDING-TOP: 9px
}
#index .narrow .ui-tabs-panel {
	WIDTH: 320px
}
#index .wide .ui-tabs-panel {
	WIDTH: 722px
}
.ui-tabs-nav .ui-tabs-selected A:link {
	CURSOR: default
}
.ui-tabs-nav .ui-tabs-selected A:visited {
	CURSOR: default
}
.ui-tabs-nav A:hover {
	CURSOR: pointer
}
.ui-tabs-nav A:focus {
	CURSOR: pointer
}
.ui-tabs-nav A:active {
	CURSOR: pointer
}

@media Screen, Projection   =20
{
.ui-tabs-hide {
	DISPLAY: none
}
    }
.ui-tabs-hide {
	DISPLAY: none
}
.related {
	PADDING-BOTTOM: 20px; MARGIN-TOP: 20px; PADDING-LEFT: 20px; WIDTH: =
740px; PADDING-RIGHT: 20px; BACKGROUND: url(/assets/img/divider780.jpg) =
no-repeat left top; PADDING-TOP: 20px
}
.related #meet_our_experts {
	MARGIN: 0px 0px 20px; MIN-HEIGHT: 220px; WIDTH: 220px; FLOAT: left; =
OVERFLOW: hidden
}
.related #in_the_states {
	MARGIN: 0px 0px 20px; MIN-HEIGHT: 220px; WIDTH: 220px; FLOAT: left; =
OVERFLOW: hidden
}
.related .borderleft {
	BORDER-LEFT: #d9d9ca 1px dotted; PADDING-BOTTOM: 0px; MARGIN: 0px 0px =
20px 19px; PADDING-LEFT: 20px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#did_you_know {
	MARGIN: 20px 0px; MIN-HEIGHT: 220px; WIDTH: 580px; OVERFLOW: hidden
}
.related #did_you_know {
	MARGIN: 0px 0px 20px; WIDTH: 470px; PADDING-RIGHT: 20px; FLOAT: left
}
.related #did_you_know .title {
	PADDING-BOTTOM: 6px
}
.related #did_you_know .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_did_you_know.png)
}
.dyk_item {
	BORDER-BOTTOM: #d9d9ca 1px dotted; PADDING-BOTTOM: 20px; MARGIN: 0px =
0px 20px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.fact_image {
	TEXT-ALIGN: center; WIDTH: 290px; FLOAT: right; MARGIN-LEFT: 15px; =
OVERFLOW: hidden
}
.fact_big {
	LINE-HEIGHT: 22px; FONT-SIZE: 20px
}
.fact_small {
	FONT-SIZE: 14px
}
.fact_source {
	TEXT-ALIGN: left; LINE-HEIGHT: 11px; MARGIN-TOP: 6px; DISPLAY: block; =
COLOR: #a7a7a7; FONT-SIZE: 10px
}
.fact_link {
	TEXT-TRANSFORM: uppercase; MARGIN-TOP: 6px; DISPLAY: block; FONT-SIZE: =
10px
}
.related #meet_our_experts {
=09
}
.related #meet_our_experts .title {
	PADDING-BOTTOM: 6px
}
.related #meet_our_experts .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_meet_our_experts.png)
}
.related #in_the_states {
=09
}
#in_the_states #communities .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_communities.png)
}
.related #in_the_states .state_pulldown {
	WIDTH: 139px; MARGIN-RIGHT: 6px
}
.related #in_the_states .state_pulldown SELECT {
	MARGIN: 0px; WIDTH: 137px
}
.related #in_the_states .state_enlarge {
	WIDTH: 75px
}
.related #in_the_states .state_enlarge #enlarge_map_button {
	CURSOR: pointer
}
#secondary #enlarge_map_button {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 15px; PADDING-RIGHT: 0px; DISPLAY: =
block; HEIGHT: 22px; CURSOR: pointer; PADDING-TOP: 15px
}
.ui-widget-overlay {
	BACKGROUND: url(/assets/img/modal_overlay.png) center top
}
#enlarged_map {
	WIDTH: 740px; BACKGROUND: white; HEIGHT: 480px
}
.banner {
	MARGIN: 20px 0px 0px 20px; WIDTH: 140px
}
.imgright {
	MARGIN: 0px 0px 10px 10px; FLOAT: right
}
.imgleft {
	MARGIN: 0px 10px 10px 0px; FLOAT: left
}
.thumbright {
	BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 1px solid; MARGIN: =
0px 0px 8px 8px; FLOAT: right; BORDER-TOP: white 1px solid; =
BORDER-RIGHT: white 1px solid
}
.thumbleft {
	BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 1px solid; MARGIN: =
0px 8px 8px 0px; FLOAT: left; BORDER-TOP: white 1px solid; BORDER-RIGHT: =
white 1px solid
}
.divider {
	BORDER-BOTTOM: #bbcee2 1px dotted; PADDING-BOTTOM: 30px; WIDTH: 740px; =
MARGIN-BOTTOM: 30px; HEIGHT: 1px; FONT-SIZE: 1px; line-spacing: 1px
}
.divider180 {
	WIDTH: 180px; BACKGROUND: url(/assets/img/divider180.png) no-repeat =
left top; HEIGHT: 2px
}
HR {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; MARGIN: 0px 0px =
1.45em; WIDTH: 100%; BACKGROUND: #ddd; FLOAT: none; HEIGHT: 0.1em; =
COLOR: #ddd; CLEAR: both; BORDER-TOP: medium none; BORDER-RIGHT: medium =
none
}
HR.space {
	BACKGROUND: #fff; COLOR: #fff
}
.leftcolumn {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 48%; PADDING-RIGHT: 0px; =
FLOAT: left; PADDING-TOP: 20px
}
.rightcolumn {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 48%; PADDING-RIGHT: 0px; =
FLOAT: right; PADDING-TOP: 20px
}
.threecolumns {
	WIDTH: 740px; BACKGROUND: url(/assets/img/intro_3col.png) no-repeat =
center top
}
.rightcolborder {
	BORDER-LEFT: #d9d9ca 1px dotted; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
17px; MARGIN: 0px 0px 0px 20px; PADDING-LEFT: 20px; WIDTH: 40%; =
PADDING-RIGHT: 0px; FLOAT: right; FONT-SIZE: 12px; PADDING-TOP: 0px
}
.sitemap {
	BORDER-BOTTOM: #d9d9ca 1px dotted; PADDING-BOTTOM: 20px; MARGIN: 0px =
0px 20px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
.sitemap UL {
	LIST-STYLE-TYPE: none; MARGIN: 0px; WIDTH: 185px; FLOAT: left; =
FONT-WEIGHT: bold
}
.sitemap UL.states {
	WIDTH: 780px; FLOAT: none
}
.sitemap UL UL {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; LIST-STYLE-TYPE: =
disc; MARGIN: 0px 0px 0px 1.5em; WIDTH: 165px; FLOAT: none; FONT-SIZE: =
12px; BORDER-TOP: medium none; FONT-WEIGHT: normal; BORDER-RIGHT: medium =
none
}
.sitemap UL.states UL {
	MARGIN: 0px; WIDTH: 780px
}
.sitemap UL.states UL UL {
	MARGIN: 0px 0px 1.5em 1.5em; WIDTH: 160px; FLOAT: left
}
#babies .dividers {
	WIDTH: 756px; HEIGHT: auto
}
#babies .dividers H1 {
	MARGIN: 0px auto; WIDTH: 450px; BACKGROUND: =
url(/assets/img/title-key-principles.gif) no-repeat left top; HEIGHT: =
69px
}
#babies .dividers H1 SPAN {
	DISPLAY: none
}
#babies .column {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 15px; WIDTH: 21%; PADDING-RIGHT: =
15px; BACKGROUND: url(/assets/img/column-dividers.gif) no-repeat right =
top; FLOAT: left; PADDING-TOP: 0px
}
#babies .first {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 15px; =
PADDING-TOP: 0px
}
#babies .column UL {
	LIST-STYLE-POSITION: outside; PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: =
square; MARGIN: 0px 0px 0px 14px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#babies .column LI {
	PADDING-BOTTOM: 8px; LINE-HEIGHT: 15px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; COLOR: #818181; FONT-SIZE: 12px; PADDING-TOP: 0px
}
#babies .column A {
	COLOR: #920000; TEXT-DECORATION: none
}
#babies H2.blue {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; HEIGHT: 100px; COLOR: #496aa4; FONT-SIZE: 14px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
#babies H3 {
	PADDING-BOTTOM: 10px; TEXT-TRANSFORM: uppercase; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: #616161; FONT-SIZE: 14px; =
FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.babiesinchildcare #project-bar {
	WIDTH: 780px; BACKGROUND: =
url(/assets/img/projectbar-babies-in-childcare.png) no-repeat left top; =
HEIGHT: 33px
}
.babiesinchildcare #project-bar SPAN {
	DISPLAY: none
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/menus.css

#nav {
	Z-INDEX: 999; TEXT-ALIGN: left; MARGIN: 0px auto; HEIGHT: 31px; =
_overflow: hidden
}
#nav UL {
	Z-INDEX: 999; LIST-STYLE-TYPE: none; MARGIN: 0px auto; WIDTH: 960px; =
HEIGHT: 31px; LIST-STYLE-IMAGE: none
}
#nav LI {
	Z-INDEX: 999; POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; =
HEIGHT: 31px; PADDING-TOP: 0px
}
#nav LI A {
	Z-INDEX: 999; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; HEIGHT: 31px; PADDING-TOP: 0px
}
#nav LI A SPAN {
	DISPLAY: none
}
#nav_home {
	BACKGROUND-IMAGE: url(/assets/img/menu_home.png); WIDTH: 68px
}
#nav_about {
	BACKGROUND-IMAGE: url(/assets/img/menu_about.png); WIDTH: 95px
}
#nav_experts {
	BACKGROUND-IMAGE: url(/assets/img/menu_experts.png); WIDTH: 85px
}
#nav_news_room {
	BACKGROUND-IMAGE: url(/assets/img/menu_news_room.png); WIDTH: 110px
}
#nav_resources_and_publications {
	BACKGROUND-IMAGE: url(/assets/img/menu_resources_and_publications.png); =
WIDTH: 218px
}
#nav_issues {
	BACKGROUND-IMAGE: url(/assets/img/menu_issues.png); WIDTH: 74px
}
#nav_federal_policy {
	BACKGROUND-IMAGE: url(/assets/img/menu_federal_policy.png); WIDTH: =
133px
}
#nav_in_the_states {
	BACKGROUND-IMAGE: url(/assets/img/menu_in_the_states.png); WIDTH: 118px
}
#nav_data {
	BACKGROUND-IMAGE: url(/assets/img/menu_data.png); WIDTH: 59px
}
#nav_home:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_home {
	BACKGROUND-POSITION: 0px -32px
}
#nav_about:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_about {
	BACKGROUND-POSITION: 0px -32px
}
#nav_experts:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_experts {
	BACKGROUND-POSITION: 0px -32px
}
#nav_news_room:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_news_room {
	BACKGROUND-POSITION: 0px -32px
}
#nav_resources_and_publications:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_resources_and_publications {
	BACKGROUND-POSITION: 0px -32px
}
#nav_issues:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_issues {
	BACKGROUND-POSITION: 0px -32px
}
#nav_federal_policy:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_federal_policy {
	BACKGROUND-POSITION: 0px -32px
}
#nav_in_the_states:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_in_the_states {
	BACKGROUND-POSITION: 0px -32px
}
#nav_data:hover {
	BACKGROUND-POSITION: 0px -32px
}
.over#nav_data {
	BACKGROUND-POSITION: 0px -32px
}
#nav_home LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_about LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_experts LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_news_room LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_resources_and_publications LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_issues LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_federal_policy LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_in_the_states LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_data LI A {
	BACKGROUND: url(/assets/img/menu_bullet.png) white no-repeat 5px 8px
}
#nav_home LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_about LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_experts LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_news_room LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_resources_and_publications LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_issues LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_federal_policy LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_in_the_states LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav_data LI A:hover {
	BACKGROUND: url(/assets/img/menu_bullet.png) #f2f2f2 no-repeat 5px =
-202px
}
#nav UL UL {
	POSITION: absolute; PADDING-BOTTOM: 10px; LINE-HEIGHT: 16px; =
PADDING-LEFT: 10px; WIDTH: 195px; PADDING-RIGHT: 10px; DISPLAY: none; =
BACKGROUND: url(/assets/img/menu_dropdown.png) no-repeat left bottom; =
HEIGHT: auto; FONT-SIZE: 12px; TOP: 31px; PADDING-TOP: 5px; LEFT: 1px; =
_background: url(/assets/img/menu_dropdown_ie.png) no-repeat left bottom
}
#nav UL #nav_in_the_states UL {
	WIDTH: 625px; BACKGROUND: url(/assets/img/menu_dropdown_state.png) =
no-repeat left bottom; HEIGHT: 315px; LEFT: -410px; _background: =
url(/assets/img/menu_dropdown_state_ie.png) no-repeat left bottom
}
#nav UL #nav_in_the_states UL LI {
	POSITION: static; WIDTH: 625px; FLOAT: none; HEIGHT: 315px
}
#nav .clearfix {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#nav UL #nav_in_the_states UL UL {
	POSITION: static; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 140px; =
PADDING-RIGHT: 0px; BACKGROUND: none transparent scroll repeat 0% 0%; =
FLOAT: left; PADDING-TOP: 0px
}
#nav UL #nav_data UL {
	LEFT: -158px
}
#nav UL UL LI {
	WIDTH: 195px; DISPLAY: block; HEIGHT: auto
}
#nav UL #nav_in_the_states UL UL LI {
	WIDTH: 140px; DISPLAY: block; HEIGHT: auto
}
#nav UL UL LI A {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 15px; WIDTH: 100%; PADDING-RIGHT: =
0px; DISPLAY: block; HEIGHT: auto !important; COLOR: #818181; =
PADDING-TOP: 4px; _width: 140px
}
#nav UL #nav_in_the_states UL UL LI A {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 15px; WIDTH: 100%; PADDING-RIGHT: =
0px; DISPLAY: block; HEIGHT: auto !important; COLOR: #818181; =
PADDING-TOP: 4px; _width: 140px
}
#nav UL UL LI > A {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 15px; WIDTH: auto; PADDING-RIGHT: =
15px; DISPLAY: block; PADDING-TOP: 4px
}
#nav UL #nav_in_the_states UL UL LI > A {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 15px; WIDTH: auto; PADDING-RIGHT: =
15px; DISPLAY: block; PADDING-TOP: 4px
}
#nav UL UL LI A:hover {
	DISPLAY: block; BACKGROUND: #f2f2f2; COLOR: #9d2828; TEXT-DECORATION: =
none
}
#nav UL #nav_in_the_states UL UL LI A:hover {
	DISPLAY: block; BACKGROUND: #f2f2f2; COLOR: #9d2828; TEXT-DECORATION: =
none
}
#nav LI:hover UL {
	DISPLAY: block
}
#nav LI.over UL {
	DISPLAY: block
}
#anav {
	Z-INDEX: 899; TEXT-ALIGN: left; MARGIN: auto; HEIGHT: 66px; =
PADDING-TOP: 10px; _overflow: hidden
}
#anav UL {
	Z-INDEX: 899; LIST-STYLE-TYPE: none; MARGIN: auto; WIDTH: 920px; =
HEIGHT: 56px; LIST-STYLE-IMAGE: none
}
#anav LI {
	Z-INDEX: 899; POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; =
HEIGHT: 56px; PADDING-TOP: 0px
}
#anav LI A {
	Z-INDEX: 999; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; HEIGHT: 56px; PADDING-TOP: 0px
}
#anav LI A SPAN {
	DISPLAY: none
}
#anav LI SPAN {
	DISPLAY: none
}
#anav_advocacy_areas {
	BACKGROUND-IMAGE: url(/assets/img/amenu_advocacy_areas.png); WIDTH: =
162px
}
#anav_strengthening_children_youth_and_families {
	BACKGROUND-IMAGE: =
url(/assets/img/amenu_strengthening_children_youth_and_families.png); =
WIDTH: 215px
}
#anav_pathways_to_good_jobs {
	BACKGROUND-IMAGE: url(/assets/img/amenu_pathways_to_good_jobs.png); =
WIDTH: 215px
}
#anav_opportunity_and_equal_justice {
	BACKGROUND-IMAGE: =
url(/assets/img/amenu_opportunity_and_equal_justice.png); WIDTH: 215px
}
#anav_view_intro {
	BACKGROUND-IMAGE: url(/assets/img/amenu_view_intro.png); WIDTH: 113px
}
#anav_strengthening_children_youth_and_families:hover {
	BACKGROUND-POSITION: 0px -57px
}
.over#nav_strengthening_children_youth_and_families {
	BACKGROUND-POSITION: 0px -57px
}
#anav_pathways_to_good_jobs:hover {
	BACKGROUND-POSITION: 0px -57px
}
.over#nav_pathways_to_good_jobs {
	BACKGROUND-POSITION: 0px -57px
}
#anav_opportunity_and_equal_justice:hover {
	BACKGROUND-POSITION: 0px -57px
}
.over#nav_opportunity_and_equal_justice {
	BACKGROUND-POSITION: 0px -57px
}
#anav_view_intro:hover {
	BACKGROUND-POSITION: 0px -57px
}
.over#nav_view_intro {
	BACKGROUND-POSITION: 0px -57px
}
#anav_strengthening_children_youth_and_families LI A {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#anav_pathways_to_good_jobs LI A {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#anav_opportunity_and_equal_justice LI A {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#anav_view_intro LI A {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
#anav UL UL {
	POSITION: absolute; PADDING-BOTTOM: 15px; LINE-HEIGHT: 18px; =
PADDING-LEFT: 8px; WIDTH: 215px; PADDING-RIGHT: 10px; DISPLAY: none; =
BACKGROUND: url(/assets/img/amenu_dropdown.png) no-repeat left bottom; =
HEIGHT: auto !important; FONT-SIZE: 14px; TOP: 56px; PADDING-TOP: 0px; =
LEFT: -9px; _background: url(/assets/img/amenu_dropdown_ie.png) =
no-repeat left bottom
}
#anav UL UL LI {
	WIDTH: 213px; DISPLAY: block; HEIGHT: auto
}
#anav UL UL LI A {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 15px; WIDTH: 100%; PADDING-RIGHT: =
0px; DISPLAY: block; HEIGHT: auto !important; COLOR: #edcccc; =
PADDING-TOP: 4px
}
#anav UL UL LI > A {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 15px; WIDTH: auto; PADDING-RIGHT: =
15px; DISPLAY: block; PADDING-TOP: 4px
}
#anav UL UL LI A:hover {
	DISPLAY: block; COLOR: white; TEXT-DECORATION: none
}
#anav LI:hover UL {
	DISPLAY: block
}
#anav LI.over UL {
	DISPLAY: block
}
#wrapper #submenu {
	PADDING-BOTTOM: 15px; PADDING-LEFT: 15px; WIDTH: 150px; PADDING-RIGHT: =
15px; PADDING-TOP: 15px
}
#submenu UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 150px; PADDING-RIGHT: 0px; LIST-STYLE-IMAGE: none; =
PADDING-TOP: 0px
}
#submenu LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 150px; =
PADDING-RIGHT: 0px; DISPLAY: block; PADDING-TOP: 0px
}
#submenu LI A {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 12px; MARGIN: 0px auto; PADDING-LEFT: =
0px; WIDTH: 150px; PADDING-RIGHT: 0px; DISPLAY: block; FONT-SIZE: 12px; =
PADDING-TOP: 9px
}
#submenu .title {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: =
block; PADDING-TOP: 0px
}
#submenu FIELDSET {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 6px
}
#submenu .checkbox {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 1px =
6px 0px 0px; PADDING-LEFT: 0px; WIDTH: 14px; PADDING-RIGHT: 0px; FLOAT: =
left; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
#submenu LABEL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 14px; MARGIN: 0px; PADDING-LEFT: 0px; =
WIDTH: 130px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; =
FONT-SIZE: 12px; FONT-WEIGHT: normal; PADDING-TOP: 0px
}
#submenu P {
	PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-SIZE: 12px; PADDING-TOP: 4px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/id.css

#aid {
	TEXT-ALIGN: left; MARGIN: 0px auto; WIDTH: 780px; HEIGHT: 24px; =
OVERFLOW: hidden
}
#aid .strengthening {
	BACKGROUND: url(/assets/img/aid_strengthening.png) no-repeat
}
#aid .pathways {
	BACKGROUND: url(/assets/img/aid_pathways.png) no-repeat
}
#aid .opportunity {
	BACKGROUND: url(/assets/img/aid_opportunity.png) no-repeat
}
#aid .strengthening {
	WIDTH: 780px; DISPLAY: block; BACKGROUND-POSITION: 8px 12px; HEIGHT: =
24px
}
#aid .pathways {
	WIDTH: 780px; DISPLAY: block; BACKGROUND-POSITION: 8px 12px; HEIGHT: =
24px
}
#aid .opportunity {
	WIDTH: 780px; DISPLAY: block; BACKGROUND-POSITION: 8px 12px; HEIGHT: =
24px
}
#id .strengthening {
	BACKGROUND: =
url(/assets/img/id_strengthening_children_youth_and_families.png) =
no-repeat
}
#id .pathways {
	BACKGROUND: url(/assets/img/id_pathways_to_good_jobs.png) no-repeat
}
#id .opportunity {
	BACKGROUND: url(/assets/img/id_opportunity_and_equal_justice.png) =
no-repeat
}
#id .strengthening {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; HEIGHT: =
100px
}
#id .pathways {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; HEIGHT: =
100px
}
#id .opportunity {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; HEIGHT: =
100px
}
#id {
	TEXT-ALIGN: left; MARGIN: 0px auto; WIDTH: 780px; HEIGHT: 60px; =
OVERFLOW: hidden
}
.issues #id {
	HEIGHT: 48px
}
#id .about {
	BACKGROUND: url(/assets/img/id_about.png) no-repeat
}
#id .experts {
	BACKGROUND: url(/assets/img/id_experts.png) no-repeat
}
#id .news_room {
	BACKGROUND: url(/assets/img/id_news_room.png) no-repeat
}
#id .resources_and_publications {
	BACKGROUND: url(/assets/img/id_r&p.png) no-repeat
}
#id .issues {
	BACKGROUND: url(/assets/img/id_issues.png) no-repeat
}
#id .federal_policy {
	BACKGROUND: url(/assets/img/id_federal_policy.png) no-repeat
}
#id .in_the_states {
	BACKGROUND: url(/assets/img/id_in_the_states.png) no-repeat
}
#id .data {
	BACKGROUND: url(/assets/img/id_data.png) no-repeat
}
#id .results {
	BACKGROUND: url(/assets/img/id_results.png) no-repeat
}
#id .privacy {
	BACKGROUND: url(/assets/img/id_privacy.png) no-repeat
}
#id .site_map {
	BACKGROUND: url(/assets/img/id_site_map.png) no-repeat
}
#id .rss_feeds {
	BACKGROUND: url(/assets/img/id_rss_feeds.png) no-repeat
}
#id .projects {
	BACKGROUND: url(/assets/img/id_projects.png) no-repeat
}
#id .identity {
	BACKGROUND: url(/assets/img/id_identity.png) no-repeat
}
#id .about {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .experts {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .news_room {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .resources_and_publications {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .issues {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .federal_policy {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .in_the_states {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .data {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .results {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .privacy {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .site_map {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .rss_feeds {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .projects {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#id .identity {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 24px; HEIGHT: =
100px
}
#aid A SPAN {
	DISPLAY: none
}
#id A SPAN {
	DISPLAY: none
}
#id .in_the_states {
	WIDTH: 158px; FLOAT: left
}
#id .alabama {
	BACKGROUND: url(/assets/img/id_alabama.png) no-repeat
}
#id .alaska {
	BACKGROUND: url(/assets/img/id_alaska.png) no-repeat
}
#id .arizona {
	BACKGROUND: url(/assets/img/id_arizona.png) no-repeat
}
#id .arkansas {
	BACKGROUND: url(/assets/img/id_arkansas.png) no-repeat
}
#id .california {
	BACKGROUND: url(/assets/img/id_california.png) no-repeat
}
#id .colorado {
	BACKGROUND: url(/assets/img/id_colorado.png) no-repeat
}
#id .connecticut {
	BACKGROUND: url(/assets/img/id_connecticut.png) no-repeat
}
#id .delaware {
	BACKGROUND: url(/assets/img/id_delaware.png) no-repeat
}
#id .florida {
	BACKGROUND: url(/assets/img/id_florida.png) no-repeat
}
#id .georgia {
	BACKGROUND: url(/assets/img/id_georgia.png) no-repeat
}
#id .hawaii {
	BACKGROUND: url(/assets/img/id_hawaii.png) no-repeat
}
#id .idaho {
	BACKGROUND: url(/assets/img/id_idaho.png) no-repeat
}
#id .illinois {
	BACKGROUND: url(/assets/img/id_illinois.png) no-repeat
}
#id .indiana {
	BACKGROUND: url(/assets/img/id_indiana.png) no-repeat
}
#id .iowa {
	BACKGROUND: url(/assets/img/id_iowa.png) no-repeat
}
#id .kansas {
	BACKGROUND: url(/assets/img/id_kansas.png) no-repeat
}
#id .kentucky {
	BACKGROUND: url(/assets/img/id_kentucky.png) no-repeat
}
#id .louisiana {
	BACKGROUND: url(/assets/img/id_louisiana.png) no-repeat
}
#id .maine {
	BACKGROUND: url(/assets/img/id_maine.png) no-repeat
}
#id .maryland {
	BACKGROUND: url(/assets/img/id_maryland.png) no-repeat
}
#id .massachusetts {
	BACKGROUND: url(/assets/img/id_massachusetts.png) no-repeat
}
#id .michigan {
	BACKGROUND: url(/assets/img/id_michigan.png) no-repeat
}
#id .minnesota {
	BACKGROUND: url(/assets/img/id_minnesota.png) no-repeat
}
#id .mississippi {
	BACKGROUND: url(/assets/img/id_mississippi.png) no-repeat
}
#id .missouri {
	BACKGROUND: url(/assets/img/id_missouri.png) no-repeat
}
#id .montana {
	BACKGROUND: url(/assets/img/id_montana.png) no-repeat
}
#id .nebraska {
	BACKGROUND: url(/assets/img/id_nebraska.png) no-repeat
}
#id .nevada {
	BACKGROUND: url(/assets/img/id_nevada.png) no-repeat
}
#id .new_hampshire {
	BACKGROUND: url(/assets/img/id_new_hampshire.png) no-repeat
}
#id .new_jersey {
	BACKGROUND: url(/assets/img/id_new_jersey.png) no-repeat
}
#id .new_mexico {
	BACKGROUND: url(/assets/img/id_new_mexico.png) no-repeat
}
#id .new_york {
	BACKGROUND: url(/assets/img/id_new_york.png) no-repeat
}
#id .north_carolina {
	BACKGROUND: url(/assets/img/id_north_carolina.png) no-repeat
}
#id .north_dakota {
	BACKGROUND: url(/assets/img/id_north_dakota.png) no-repeat
}
#id .ohio {
	BACKGROUND: url(/assets/img/id_ohio.png) no-repeat
}
#id .oklahoma {
	BACKGROUND: url(/assets/img/id_oklahoma.png) no-repeat
}
#id .oregon {
	BACKGROUND: url(/assets/img/id_oregon.png) no-repeat
}
#id .pennsylvania {
	BACKGROUND: url(/assets/img/id_pennsylvania.png) no-repeat
}
#id .rhode_island {
	BACKGROUND: url(/assets/img/id_rhode_island.png) no-repeat
}
#id .south_carolina {
	BACKGROUND: url(/assets/img/id_south_carolina.png) no-repeat
}
#id .south_dakota {
	BACKGROUND: url(/assets/img/id_south_dakota.png) no-repeat
}
#id .tennessee {
	BACKGROUND: url(/assets/img/id_tennessee.png) no-repeat
}
#id .texas {
	BACKGROUND: url(/assets/img/id_texas.png) no-repeat
}
#id .utah {
	BACKGROUND: url(/assets/img/id_utah.png) no-repeat
}
#id .vermont {
	BACKGROUND: url(/assets/img/id_vermont.png) no-repeat
}
#id .virginia {
	BACKGROUND: url(/assets/img/id_virginia.png) no-repeat
}
#id .washington {
	BACKGROUND: url(/assets/img/id_washington.png) no-repeat
}
#id .west_virginia {
	BACKGROUND: url(/assets/img/id_west_virginia.png) no-repeat
}
#id .wisconsin {
	BACKGROUND: url(/assets/img/id_wisconsin.png) no-repeat
}
#id .wyoming {
	BACKGROUND: url(/assets/img/id_wyoming.png) no-repeat
}
#id .district_of_columbia {
	BACKGROUND: url(/assets/img/id_district_of_columbia.png) no-repeat
}
#id .alabama {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .alaska {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .arizona {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .arkansas {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .california {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .colorado {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .connecticut {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .delaware {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .florida {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .georgia {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .hawaii {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .idaho {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .illinois {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .indiana {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .iowa {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .kansas {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .kentucky {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .louisiana {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .maine {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .maryland {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .massachusetts {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .michigan {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .minnesota {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .mississippi {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .missouri {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .montana {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .nebraska {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .nevada {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .new_hampshire {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .new_jersey {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .new_mexico {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .new_york {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .north_carolina {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .north_dakota {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .ohio {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .oklahoma {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .oregon {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .pennsylvania {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .rhode_island {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .south_carolina {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .south_dakota {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .tennessee {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .texas {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .utah {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .vermont {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .virginia {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .washington {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .west_virginia {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .wisconsin {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .wyoming {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .district_of_columbia {
	WIDTH: 300px; DISPLAY: block; BACKGROUND-POSITION: 8px 28px; FLOAT: =
left; HEIGHT: 100px
}
#id .child_care_and_early_education {
	BACKGROUND: url(/assets/img/id_child_care_and_early_education.png) =
no-repeat
}
#id .child_welfare {
	BACKGROUND: url(/assets/img/id_child_welfare.png) no-repeat
}
#id .child_support_and_fathers {
	BACKGROUND: url(/assets/img/id_child_support_and_fathers.png) no-repeat
}
#id .youth {
	BACKGROUND: url(/assets/img/id_youth.png) no-repeat
}
#id .temporary_assistance {
	BACKGROUND: url(/assets/img/id_temporary_assistance.png) no-repeat
}
#id .postsecondary_access_and_success {
	BACKGROUND: url(/assets/img/id_postsecondary_access_and_success.png) =
no-repeat
}
#id .basic_skills_and_workforce_training {
	BACKGROUND: url(/assets/img/id_basic_skills_and_workforce_training.png) =
no-repeat
}
#id .reconnecting_youth {
	BACKGROUND: url(/assets/img/id_reconnecting_youth.png) no-repeat
}
#id .employment_strategies {
	BACKGROUND: url(/assets/img/id_employment_strategies.png) no-repeat
}
#id .work_life_and_job_quality {
	BACKGROUND: url(/assets/img/id_work_life_and_job_quality.png) no-repeat
}
#id .work_supports {
	BACKGROUND: url(/assets/img/id_work_supports.png) no-repeat
}
#id .poverty_and_opportunity {
	BACKGROUND: url(/assets/img/id_poverty_and_opportunity.png) no-repeat
}
#id .civil_legal_assistance {
	BACKGROUND: url(/assets/img/id_civil_legal_assistance.png) no-repeat
}
#id .prisoner_re-entry {
	BACKGROUND: url(/assets/img/id_prisoner_re-entry.png) no-repeat
}
#id .child_care_and_early_education {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .child_welfare {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .child_support_and_fathers {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .youth {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .temporary_assistance {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .postsecondary_access_and_success {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .basic_skills_and_workforce_training {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .reconnecting_youth {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .employment_strategies {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .work_life_and_job_quality {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .work_supports {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .poverty_and_opportunity {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .civil_legal_assistance {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}
#id .prisoner_re-entry {
	WIDTH: 600px; DISPLAY: block; BACKGROUND-POSITION: 8px 4px; HEIGHT: =
76px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/footer.css

#sitemap {
	MARGIN: auto; WIDTH: 960px; OVERFLOW: hidden
}
#footer {
	MARGIN: auto; WIDTH: 960px; OVERFLOW: hidden
}
#sitemap {
	TEXT-ALIGN: left; MARGIN: auto; FONT-FAMILY: verdana, arial, sanserif; =
BACKGROUND: url(/assets/img/sitemap_tile.png) repeat-x center top; =
HEIGHT: 28px; COLOR: #6e6f6f; FONT-SIZE: 10px
}
#sitemap .links {
	FLOAT: left; OVERFLOW: hidden
}
#sitemap .search {
	FLOAT: left; OVERFLOW: hidden
}
#sitemap .links {
	PADDING-BOTTOM: 6px; TEXT-TRANSFORM: uppercase; PADDING-LEFT: 10px; =
WIDTH: 844px; PADDING-RIGHT: 10px; HEIGHT: 7px; COLOR: #ddddc4; =
PADDING-TOP: 6px
}
#sitemap .links A {
	COLOR: #ececdf
}
#sitemap .links A:hover {
	COLOR: white
}
#sitemap .search {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; WIDTH: 90px; PADDING-RIGHT: =
5px; HEIGHT: 18px; PADDING-TOP: 5px
}
#footer {
	TEXT-ALIGN: left; LINE-HEIGHT: 15px; MARGIN: auto; BACKGROUND: =
url(/assets/img/footer_tile.png) repeat-x center top; FONT-SIZE: 11px
}
#footer A {
	TEXT-TRANSFORM: uppercase; FONT-SIZE: 10px
}
#footer .contact {
	FLOAT: left; OVERFLOW: hidden
}
#footer .copyright {
	FLOAT: left; OVERFLOW: hidden
}
#footer .contact {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 10px; WIDTH: 460px; PADDING-RIGHT: =
10px; PADDING-TOP: 8px
}
#footer .copyright {
	TEXT-ALIGN: right; PADDING-BOTTOM: 8px; PADDING-LEFT: 10px; WIDTH: =
460px; PADDING-RIGHT: 10px; PADDING-TOP: 8px
}
#credit {
	TEXT-ALIGN: right; PADDING-BOTTOM: 6px; LINE-HEIGHT: 17px; MARGIN: =
auto; PADDING-LEFT: 12px; WIDTH: 936px; PADDING-RIGHT: 12px; BACKGROUND: =
url(/assets/img/divider940.png) no-repeat center top; COLOR: #6e6f6f; =
FONT-SIZE: 11px; PADDING-TOP: 6px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/forms.css

LABEL {
	FONT-WEIGHT: bold
}
FIELDSET {
	PADDING-BOTTOM: 1.4em; MARGIN: 0px 0px 1.5em; PADDING-LEFT: 1.4em; =
PADDING-RIGHT: 1.4em; PADDING-TOP: 1.4em
}
LEGEND {
	FONT-SIZE: 1.2em; FONT-WEIGHT: bold
}
INPUT {
	FONT-FAMILY: arial, helvetica, sanserif
}
TEXTAREA {
	FONT-FAMILY: arial, helvetica, sanserif
}
SELECT {
	FONT-FAMILY: arial, helvetica, sanserif
}
#search FORM {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#search .input {
	BACKGROUND: none transparent scroll repeat 0% 0%; FONT-WEIGHT: bold
}
#search .submit {
	BACKGROUND: none transparent scroll repeat 0% 0%; FONT-WEIGHT: bold
}
#search .input {
	LINE-HEIGHT: 16px; WIDTH: 202px; COLOR: #660000; FONT-SIZE: 14px
}
#search .submit {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
5px; LINE-HEIGHT: 11px; PADDING-LEFT: 5px; WIDTH: 60px; PADDING-RIGHT: =
4px; COLOR: #737351; FONT-SIZE: 11px; BORDER-TOP: medium none; =
BORDER-RIGHT: medium none; PADDING-TOP: 2px
}
#search .submit:hover {
	BACKGROUND: url(/assets/img/search_button_header.png) repeat-x left =
top; COLOR: #4f4f32
}
.search FORM {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.search .input {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
2px; TEXT-TRANSFORM: uppercase; MARGIN: 0px; PADDING-LEFT: 4px; WIDTH: =
67px; PADDING-RIGHT: 0px; BACKGROUND: #ecece2; COLOR: #909075; =
FONT-SIZE: 10px; BORDER-TOP: medium none; BORDER-RIGHT: medium none; =
PADDING-TOP: 4px
}
.search .submit {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
3px; MARGIN: 0px 0px 0px -4px; PADDING-LEFT: 3px; WIDTH: 19px; =
PADDING-RIGHT: 0px; BACKGROUND: =
url(/assets/img/search_button_footer.png) #d9d9c5 no-repeat left top; =
HEIGHT: 19px; COLOR: #737351; BORDER-TOP: medium none; BORDER-RIGHT: =
medium none; PADDING-TOP: 0px
}
.search .submit:hover {
	BACKGROUND: url(/assets/img/search_button_footer.png) #d9d9c5 no-repeat =
left -19px
}
#signup FIELDSET {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
#signup .input {
	LINE-HEIGHT: 12px; MARGIN: 0px; COLOR: white; FONT-SIZE: 12px
}
#signup .submit {
	LINE-HEIGHT: 12px; MARGIN: 0px; COLOR: white; FONT-SIZE: 12px
}
#signup .input {
	BORDER-BOTTOM: #8e8e6c 1px solid; BORDER-LEFT: #8e8e6c 1px solid; =
PADDING-BOTTOM: 5px; MARGIN: 0px; PADDING-LEFT: 6px; PADDING-RIGHT: 5px; =
BACKGROUND: url(/assets/img/signup_input_tile_home.png) #999977 =
no-repeat left top; COLOR: white; BORDER-TOP: #8e8e6c 1px solid; =
BORDER-RIGHT: medium none; PADDING-TOP: 5px
}
#signup .submit {
	BORDER-BOTTOM: #78785d 1px solid; BORDER-LEFT: #78785d 1px solid; =
PADDING-BOTTOM: 4px; TEXT-TRANSFORM: uppercase; MARGIN: 0px 0px 0px =
-4px; PADDING-LEFT: 4px; PADDING-RIGHT: 4px; BACKGROUND: =
url(/assets/img/signup_submit_tile_home.png) #838368 no-repeat left top; =
BORDER-TOP: #78785d 1px solid; FONT-WEIGHT: bold; BORDER-RIGHT: #78785d =
1px solid; PADDING-TOP: 4px
}
#signup .input_error {
	BORDER-BOTTOM: #8e8e6c 1px solid; BORDER-LEFT: #8e8e6c 1px solid; =
PADDING-BOTTOM: 5px; LINE-HEIGHT: 12px; MARGIN: 0px; PADDING-LEFT: 6px; =
PADDING-RIGHT: 5px; BACKGROUND: =
url(/assets/img/signup_input_error_home.png) #a60000 no-repeat left top; =
COLOR: white; FONT-SIZE: 12px; BORDER-TOP: #8e8e6c 1px solid; =
FONT-WEIGHT: bold; BORDER-RIGHT: medium none; PADDING-TOP: 5px
}
#primary SELECT {
	BORDER-BOTTOM: #d9d9c5 1px solid; BORDER-LEFT: #d9d9c5 1px solid; =
PADDING-BOTTOM: 2px; MARGIN-TOP: 5px; PADDING-LEFT: 2px; PADDING-RIGHT: =
2px; COLOR: #898989; FONT-SIZE: 12px; BORDER-TOP: #d9d9c5 1px solid; =
BORDER-RIGHT: #d9d9c5 1px solid; PADDING-TOP: 2px
}
#primary .input {
	BORDER-BOTTOM: #d9d9c5 1px solid; BORDER-LEFT: #d9d9c5 1px solid; =
PADDING-BOTTOM: 2px; MARGIN-TOP: 5px; PADDING-LEFT: 2px; PADDING-RIGHT: =
2px; COLOR: #898989; FONT-SIZE: 12px; BORDER-TOP: #d9d9c5 1px solid; =
BORDER-RIGHT: #d9d9c5 1px solid; PADDING-TOP: 2px
}
#secondary SELECT {
	BORDER-BOTTOM: #d9d9c5 1px solid; BORDER-LEFT: #d9d9c5 1px solid; =
PADDING-BOTTOM: 2px; MARGIN-TOP: 5px; PADDING-LEFT: 2px; PADDING-RIGHT: =
2px; COLOR: #898989; FONT-SIZE: 12px; BORDER-TOP: #d9d9c5 1px solid; =
BORDER-RIGHT: #d9d9c5 1px solid; PADDING-TOP: 2px
}
#secondary .input {
	BORDER-BOTTOM: #d9d9c5 1px solid; BORDER-LEFT: #d9d9c5 1px solid; =
PADDING-BOTTOM: 2px; MARGIN-TOP: 5px; PADDING-LEFT: 2px; PADDING-RIGHT: =
2px; COLOR: #898989; FONT-SIZE: 12px; BORDER-TOP: #d9d9c5 1px solid; =
BORDER-RIGHT: #d9d9c5 1px solid; PADDING-TOP: 2px
}
#primary SELECT {
	WIDTH: 200px
}
#secondary SELECT {
	WIDTH: 150px
}
FORM DL {
	WIDTH: 600px
}
FORM DT {
	FLOAT: left
}
FORM DD {
	FLOAT: left
}
FORM DT {
	TEXT-ALIGN: right; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; =
WIDTH: 155px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
FORM DD {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 350px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
FORM DT LABEL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 0.9em; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 0.9em; PADDING-TOP: 0px
}
FORM DD INPUT {
	BORDER-BOTTOM: #a3acb5 1px solid; BORDER-LEFT: #a3acb5 1px solid; =
PADDING-BOTTOM: 3px; LINE-HEIGHT: 11px; MARGIN: 0px 0px 0px 10px; =
PADDING-LEFT: 6px; WIDTH: 400px; PADDING-RIGHT: 2px; BACKGROUND: =
#e9f2fa; FONT-SIZE: 11px; BORDER-TOP: #a3acb5 1px solid; FONT-WEIGHT: =
normal; BORDER-RIGHT: #a3acb5 1px solid; PADDING-TOP: 3px
}
FORM DD TEXTAREA {
	BORDER-BOTTOM: #a3acb5 1px solid; BORDER-LEFT: #a3acb5 1px solid; =
PADDING-BOTTOM: 3px; LINE-HEIGHT: 11px; MARGIN: 0px 0px 0px 10px; =
PADDING-LEFT: 6px; WIDTH: 400px; PADDING-RIGHT: 2px; BACKGROUND: =
#e9f2fa; FONT-SIZE: 11px; BORDER-TOP: #a3acb5 1px solid; FONT-WEIGHT: =
normal; BORDER-RIGHT: #a3acb5 1px solid; PADDING-TOP: 3px
}
FORM DD SELECT {
	BORDER-BOTTOM: #a3acb5 1px solid; BORDER-LEFT: #a3acb5 1px solid; =
PADDING-BOTTOM: 3px; LINE-HEIGHT: 11px; MARGIN: 0px 0px 0px 10px; =
PADDING-LEFT: 6px; WIDTH: 400px; PADDING-RIGHT: 2px; BACKGROUND: =
#e9f2fa; FONT-SIZE: 11px; BORDER-TOP: #a3acb5 1px solid; FONT-WEIGHT: =
normal; BORDER-RIGHT: #a3acb5 1px solid; PADDING-TOP: 3px
}
FORM DD .submit {
	BORDER-BOTTOM: #a3acb5 1px solid; BORDER-LEFT: #a3acb5 1px solid; =
PADDING-BOTTOM: 3px; LINE-HEIGHT: 11px; MARGIN: 0px; PADDING-LEFT: 6px; =
PADDING-RIGHT: 6px; BACKGROUND: url(/assets/img/8e9db1.png) #8e9db1; =
FONT-SIZE: 11px; BORDER-TOP: #a3acb5 1px solid; FONT-WEIGHT: bold; =
BORDER-RIGHT: #a3acb5 1px solid; PADDING-TOP: 3px
}
FORM TABLE {
	WIDTH: 100%; MARGIN-BOTTOM: 1.4em
}
FORM TH {
	FONT-WEIGHT: bold
}
FORM TH {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 5px; PADDING-RIGHT: 10px; =
PADDING-TOP: 4px
}
FORM TD {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 5px; PADDING-RIGHT: 10px; =
PADDING-TOP: 4px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/lists.css

.list_format {
	BORDER-BOTTOM: #d9d9ca 1px dotted; PADDING-BOTTOM: 4px; TEXT-TRANSFORM: =
uppercase; MARGIN-BOTTOM: 10px; FONT-SIZE: 10px
}
.list_format A.selected {
	COLOR: #616161
}
UL.list {
	LIST-STYLE-TYPE: none; MARGIN: 0px; LIST-STYLE-IMAGE: none
}
UL.list LI {
	PADDING-BOTTOM: 12px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 8px
}
UL.list LI A {
	LINE-HEIGHT: 1.15em; DISPLAY: block; FONT-SIZE: 0.9em; TEXT-DECORATION: =
none
}
A SPAN.headline {
	LINE-HEIGHT: 1.1em; DISPLAY: block; FONT-SIZE: 1.1em
}
.summary A SPAN.headline {
	FONT-SIZE: 1.2em; FONT-WEIGHT: bold
}
.headlines_only A SPAN.headline {
	FONT-SIZE: 1.1em
}
A SPAN.description {
	LINE-HEIGHT: 1.25em; DISPLAY: block; COLOR: #5c5b5b; FONT-SIZE: 1em; =
FONT-WEIGHT: normal
}
.headlines_only A SPAN.description {
	DISPLAY: none
}
A:hover SPAN.description {
	COLOR: #424242
}
A SPAN.description .more {
	TEXT-TRANSFORM: uppercase; COLOR: #1668a8; FONT-SIZE: 10px; =
FONT-WEIGHT: bold
}
A:hover SPAN.description .more {
	COLOR: #626262
}
A SPAN.date {
	PADDING-BOTTOM: 2px; LINE-HEIGHT: 1.1em; TEXT-TRANSFORM: uppercase; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: block; COLOR: #818181; =
FONT-SIZE: 10px; PADDING-TOP: 0px
}
#home A SPAN.date {
	FONT-SIZE: 10px
}
A:hover SPAN.date {
	COLOR: #4a4a4a
}
SPAN.format_links {
	PADDING-BOTTOM: 2px; LINE-HEIGHT: 1.1em; TEXT-TRANSFORM: uppercase; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-SIZE: 10px; PADDING-TOP: 0px
}
.headlines_only SPAN.source {
	DISPLAY: none
}
.headlines_only SPAN.format_links {
	DISPLAY: none
}
UL.archive LI A {
	PADDING-BOTTOM: 6px; LINE-HEIGHT: 1.15em; PADDING-LEFT: 90px; =
PADDING-RIGHT: 0px; DISPLAY: block; FONT-SIZE: 0.95em; TEXT-DECORATION: =
none; PADDING-TOP: 6px; _width: 630px; _padding: 6px 0 6px 0
}
UL.archive LI A SPAN.date {
	LINE-HEIGHT: 1.15em; TEXT-TRANSFORM: uppercase; MARGIN: 3px 0px 0px =
-90px; DISPLAY: block; FLOAT: left; COLOR: #919191; FONT-SIZE: 0.8em; =
_width: 90px; _margin: 2px 0 0 0; _padding-top: 1px
}
UL.archive LI A:hover SPAN.date {
	COLOR: #787878
}
UL.projects LI A {
	MIN-HEIGHT: 41px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: =
left 10px
}
UL.projects LI A DIV {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
UL.projects LI A:hover {
	BACKGROUND-POSITION: left -1005px
}
UL.projects LI A SPAN.headline {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 45px; PADDING-RIGHT: 0px; =
PADDING-TOP: 2px
}
UL.projects LI A SPAN.description {
	PADDING-LEFT: 45px; DISPLAY: block
}
UL.issues LI A {
	MIN-HEIGHT: 41px; BACKGROUND: url(/assets/img/bullet_issues.png) =
no-repeat left 10px
}
UL.issues LI A DIV {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
UL.issues LI A:hover {
	BACKGROUND-POSITION: left -105px
}
UL.issues LI A SPAN.headline {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 45px; PADDING-RIGHT: 0px; =
PADDING-TOP: 2px
}
UL.issues LI A SPAN.description {
	PADDING-LEFT: 45px; DISPLAY: block
}
UL.dated LI A SPAN.headline {
	PADDING-LEFT: 70px
}
UL.dated LI A SPAN.description {
	PADDING-LEFT: 70px
}
UL.dated LI A SPAN.source {
	PADDING-LEFT: 70px
}
UL.dated LI A SPAN.headline {
=09
}
#home UL.dated {
=09
}
#home UL.dated LI A SPAN.headline {
=09
}
UL.dated LI A SPAN.date {
	MARGIN: 4px 0px 0px; WIDTH: 70px; FLOAT: left
}
#newsroom .list {
	PADDING-BOTTOM: 0px; MIN-HEIGHT: 322px; PADDING-LEFT: 10px; =
PADDING-RIGHT: 10px; PADDING-TOP: 3px
}
#newsroom .list LI A {
	PADDING-BOTTOM: 8px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 8px
}
#newsroom A SPAN.description {
	LINE-HEIGHT: 1.3em; FONT-SIZE: 0.8em
}
#newsroom .headlines A SPAN.headline {
	FONT-SIZE: 0.9em
}
#newsroom .headlines LI A SPAN.headline {
=09
}
#newsroom .headlines LI A SPAN.date {
	MARGIN: 2px 0px 0px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/home.css

#advocacy_areas {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 20px; PADDING-RIGHT: 20px; HEIGHT: =
30px; PADDING-TOP: 20px
}
#tier1 {
	TEXT-ALIGN: left; MARGIN: 20px 0px 0px 20px; MIN-HEIGHT: 460px; WIDTH: =
920px; BACKGROUND: url(/assets/img/tier1_home_tile.png) white repeat-y =
310px top; _overflow: hidden; _height: 460px
}
#tier1 #featured {
	FLOAT: left; OVERFLOW: hidden
}
#tier1 #highlights {
	FLOAT: left; OVERFLOW: hidden
}
#tier1 #signup_and_map {
	FLOAT: left; OVERFLOW: hidden
}
#featured {
	MARGIN: 0px 20px 0px 0px; WIDTH: 290px
}
#featured .title {
	BACKGROUND-IMAGE: url(/assets/img/title_featured.png)
}
#featured .media {
	WIDTH: 290px; HEIGHT: 190px
}
#featured .media A {
	WIDTH: 290px; DISPLAY: block; HEIGHT: 190px
}
#featured .media A:hover {
	BORDER-BOTTOM: #cfcfc1 5px solid; BORDER-LEFT: #cfcfc1 5px solid; =
WIDTH: 280px; HEIGHT: 180px; BORDER-TOP: #cfcfc1 5px solid; =
BORDER-RIGHT: #cfcfc1 5px solid
}
#featured .text {
	PADDING-BOTTOM: 10px; MIN-HEIGHT: 215px; PADDING-LEFT: 0px; WIDTH: =
280px; PADDING-RIGHT: 0px; PADDING-TOP: 10px; _height: 215px
}
#featured H1 {
	LINE-HEIGHT: 22px; MARGIN: 0px; FONT-SIZE: 22px
}
#featured P {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 13px; PADDING-TOP: 6px
}
#featured P A {
	TEXT-TRANSFORM: uppercase; FONT-SIZE: 10px
}
#featured .rotator_controls {
	WIDTH: 136px; MARGIN-LEFT: 80px
}
#home #highlights {
	MARGIN: 0px 20px; WIDTH: 280px
}
#home #highlights .title {
	PADDING-BOTTOM: 6px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
#highlights .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_highlights.png)
}
#home #highlights .rotator_controls {
	WIDTH: 79px
}
#home #highlights .list {
	MIN-HEIGHT: 320px
}
#home #highlights .list LI {
	WIDTH: 280px
}
#home #highlights #highlights_frame1 {
	MIN-HEIGHT: 425px; _height: 425px
}
#home #highlights #highlights_frame2 {
	MIN-HEIGHT: 425px; _height: 425px
}
#home #highlights #highlights_frame3 {
	MIN-HEIGHT: 425px; _height: 425px
}
.hidden {
	DISPLAY: none
}
.rotator_controls {
	PADDING-BOTTOM: 4px; LIST-STYLE-TYPE: none; MARGIN: auto; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; HEIGHT: 11px; OVERFLOW: hidden; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 4px
}
.rotator_controls LI {
	MIN-WIDTH: 11px; MARGIN: 0px; FLOAT: left
}
.rotator_controls .selected A {
	Z-INDEX: 2
}
.rotator_controls .frame-prev {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-1 {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-2 {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-3 {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-4 {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-5 {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-6 {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-next {
	TEXT-ALIGN: center; OUTLINE-STYLE: none; OUTLINE-COLOR: invert; =
OUTLINE-WIDTH: 0px; DISPLAY: block; FLOAT: left; HEIGHT: 11px; OVERFLOW: =
hidden
}
.rotator_controls .frame-prev {
	WIDTH: 11px; BACKGROUND: url(/assets/img/rotator_back.png) no-repeat =
left top
}
.rotator_controls .frame-1 {
	WIDTH: 19px; BACKGROUND: url(/assets/img/rotator_button.png) no-repeat =
center top
}
.rotator_controls .frame-2 {
	WIDTH: 19px; BACKGROUND: url(/assets/img/rotator_button.png) no-repeat =
center top
}
.rotator_controls .frame-3 {
	WIDTH: 19px; BACKGROUND: url(/assets/img/rotator_button.png) no-repeat =
center top
}
.rotator_controls .frame-4 {
	WIDTH: 19px; BACKGROUND: url(/assets/img/rotator_button.png) no-repeat =
center top
}
.rotator_controls .frame-5 {
	WIDTH: 19px; BACKGROUND: url(/assets/img/rotator_button.png) no-repeat =
center top
}
.rotator_controls .frame-6 {
	WIDTH: 19px; BACKGROUND: url(/assets/img/rotator_button.png) no-repeat =
center top
}
.rotator_controls .frame-next {
	WIDTH: 11px; BACKGROUND: url(/assets/img/rotator_next.png) no-repeat =
left top
}
.rotator_controls .frame-prev:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-1:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-2:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-3:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-4:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-5:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-6:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .frame-next:hover {
	BACKGROUND-POSITION: left -23px
}
.rotator_controls .ui-tabs-selected .frame-prev {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-1 {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-2 {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-3 {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-4 {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-5 {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-6 {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected .frame-next {
	BACKGROUND-POSITION: left -45px
}
.rotator_controls .ui-tabs-selected A:link {
	CURSOR: default
}
.rotator_controls .ui-tabs-selected A:visited {
	CURSOR: default
}
.rotator_controls .ui-tabs-hide {
	DISPLAY: none
}
.rotator_controls A:hover {
	CURSOR: pointer
}
.rotator_controls A:focus {
	CURSOR: pointer
}
.rotator_controls A:active {
	CURSOR: pointer
}
.rotator_controls A SPAN {
	DISPLAY: none
}
.rotator_controls .ui-tabs-selected A SPAN {
	DISPLAY: none
}
#signup_and_map {
	MARGIN: 0px 0px 0px 20px; WIDTH: 270px
}
#signup {
	BORDER-BOTTOM: #d9d9ca 1px dotted; PADDING-BOTTOM: 20px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
#signup .title {
	BACKGROUND-IMAGE: url(/assets/img/title_stay_informed.png); =
PADDING-BOTTOM: 0px; HEIGHT: 39px
}
#in_the_states {
	MARGIN: 20px 0px 0px
}
#in_the_states .title {
	PADDING-BOTTOM: 6px
}
#in_the_states .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_in_the_states.png)
}
#in_the_states .state_pulldown {
	MARGIN-TOP: 15px; FLOAT: left
}
#in_the_states .state_enlarge {
	MARGIN-TOP: 15px; FLOAT: left
}
#in_the_states .state_pulldown {
	WIDTH: 164px; MARGIN-RIGHT: 6px
}
#in_the_states .state_pulldown SELECT {
	BORDER-BOTTOM: #d9d9c5 1px solid; BORDER-LEFT: #d9d9c5 1px solid; =
PADDING-BOTTOM: 2px; TEXT-TRANSFORM: uppercase; PADDING-LEFT: 2px; =
WIDTH: 162px; PADDING-RIGHT: 2px; COLOR: #898989; FONT-SIZE: 10px; =
BORDER-TOP: #d9d9c5 1px solid; BORDER-RIGHT: #d9d9c5 1px solid; =
PADDING-TOP: 2px
}
#in_the_states .state_enlarge {
	WIDTH: 100px
}
#in_the_states .state_enlarge A {
	BORDER-BOTTOM: #d9d9c5 1px solid; BORDER-LEFT: #d9d9c5 1px solid; =
PADDING-BOTTOM: 4px; LINE-HEIGHT: 12px; TEXT-TRANSFORM: uppercase; =
PADDING-LEFT: 18px; PADDING-RIGHT: 3px; DISPLAY: block; BACKGROUND: =
url(/assets/img/bullet_enlarge.png) no-repeat 3px 3px; FONT-SIZE: 10px; =
BORDER-TOP: #d9d9c5 1px solid; BORDER-RIGHT: #d9d9c5 1px solid; =
PADDING-TOP: 3px
}
#in_the_states .state_enlarge A:hover {
	BORDER-BOTTOM: #999977 1px solid; BORDER-LEFT: #999977 1px solid; =
BORDER-TOP: #999977 1px solid; BORDER-RIGHT: #999977 1px solid
}
#tier2 {
	TEXT-ALIGN: left; PADDING-BOTTOM: 0px; MARGIN: 20px 0px 0px; =
PADDING-LEFT: 0px; WIDTH: 960px; PADDING-RIGHT: 0px; BACKGROUND: =
url(/assets/img/divider940.png) no-repeat center top; PADDING-TOP: 14px; =
_overflow: hidden
}
#anniversary {
	FLOAT: left; OVERFLOW: hidden
}
#anniversary {
	WIDTH: 306px; HEIGHT: 107px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/about.css

.staff TR:hover {
	BACKGROUND: #f6f6f2
}
.staff TD {
	PADDING-BOTTOM: 4px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 4px
}
.staff_name {
	WIDTH: 190px; FONT-WEIGHT: bold
}
.staff_title {
	WIDTH: 480px
}
.staff_email {
	WIDTH: 70px
}
.staff_email A {
	PADDING-LEFT: 22px; BACKGROUND: url(/assets/img/icon_email.png) =
no-repeat left 1px
}
#personnel .personnel_headshot {
	MARGIN: 3px 15px 25px 0px; FLOAT: left
}
#personnel .personnel_title {
	LINE-HEIGHT: 17px; DISPLAY: block
}
#personnel .personnel_heading {
	LINE-HEIGHT: 17px; DISPLAY: block
}
#personnel .personnel_description {
	LINE-HEIGHT: 17px; DISPLAY: block
}
#personnel H1 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-SIZE: 24px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
#personnel .personnel_title {
	TEXT-TRANSFORM: uppercase; MARGIN: 6px 0px
}
#personnel .personnel_heading {
	FONT-WEIGHT: bold
}
#personnel .personnel_smallheading {
	TEXT-TRANSFORM: uppercase; MARGIN: 2px 0px 0px; DISPLAY: block; =
FONT-SIZE: 10px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/experts.css

.threecol {
	PADDING-BOTTOM: 5px; MARGIN: 0px 0px 15px 15px; MIN-HEIGHT: 110px; =
PADDING-LEFT: 5px; WIDTH: 228px; PADDING-RIGHT: 5px; FLOAT: left; =
PADDING-TOP: 0px
}
.experts .threecol:hover {
	BACKGROUND: #fbfbf3
}
.experts .threecol .personnel_thumbnail {
	MARGIN: 5px 0px 0px -50px; FLOAT: left
}
#meet_our_experts .personnel_thumbnail {
	MARGIN: 0px 0px 10px 10px; FLOAT: right
}
.experts .threecol A {
	MARGIN: 0px 0px 0px 50px; DISPLAY: block
}
.experts A .personnel_name {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
#meet_our_experts A .personnel_name {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
.experts A .personnel_title {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
#meet_our_experts A .personnel_title {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
.experts A .personnel_heading {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
#meet_our_experts A .personnel_heading {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
.experts A .personnel_description {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
#meet_our_experts A .personnel_description {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; DISPLAY: block; COLOR: #818181; PADDING-TOP: 0px
}
A:hover .personnel_name {
	COLOR: #424242
}
A:hover .personnel_title {
	DISPLAY: block; COLOR: #676767
}
A:hover .personnel_heading {
	DISPLAY: block; COLOR: #676767
}
A:hover .personnel_description {
	DISPLAY: block; COLOR: #676767
}
.experts A .personnel_name {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 17px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.experts A .personnel_title {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 11px; TEXT-TRANSFORM: uppercase; =
MARGIN: 1px 0px 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FONT-SIZE: =
10px; PADDING-TOP: 0px
}
.experts A .personnel_heading {
	FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.experts A .personnel_description {
	LINE-HEIGHT: 16px; FONT-SIZE: 12px
}
.experts A .personnel_more {
	TEXT-TRANSFORM: uppercase; MARGIN: 2px 0px 0px; DISPLAY: block; =
FONT-SIZE: 10px
}
#meet_our_experts A .personnel_more {
	TEXT-TRANSFORM: uppercase; MARGIN: 2px 0px 0px; DISPLAY: block; =
FONT-SIZE: 10px
}
.experts .personnel_headshot {
	MARGIN: 3px 15px 25px 0px; FLOAT: left
}
.experts .personnel_title {
	LINE-HEIGHT: 17px; DISPLAY: block
}
.experts .personnel_heading {
	LINE-HEIGHT: 17px; DISPLAY: block
}
.experts .personnel_description {
	LINE-HEIGHT: 17px; DISPLAY: block
}
.experts H1 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-SIZE: 24px; FONT-WEIGHT: bold; PADDING-TOP: 0px
}
.experts .personnel_title {
	TEXT-TRANSFORM: uppercase; MARGIN: 6px 0px
}
.experts .personnel_heading {
	MARGIN-TOP: 10px; FONT-WEIGHT: bold
}
.experts .personnel_description {
	LINE-HEIGHT: 16px; FONT-STYLE: italic; MARGIN-BOTTOM: 20px; FONT-SIZE: =
12px
}
.related .publications {
	FLOAT: left
}
.related .activities {
	FLOAT: left
}
.related .publications {
	WIDTH: 360px
}
.related .publications .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_publications.png)
}
.related .activities {
	BORDER-BOTTOM: #edede3 1px solid; BORDER-LEFT: #edede3 1px solid; =
PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; WIDTH: 318px; PADDING-RIGHT: =
10px; BACKGROUND: #f9f9f5; MARGIN-LEFT: 20px; BORDER-TOP: #edede3 1px =
solid; BORDER-RIGHT: #edede3 1px solid; PADDING-TOP: 10px
}
.related .activities .title A {
	BACKGROUND-IMAGE: =
url(/assets/img/a_title_recent_and_upcoming_activities.png)
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/newsroom.css

.border3col {
	MARGIN: 20px 0px; BACKGROUND: url(/assets/img/divider_news.png) =
repeat-y 253px top
}
#clips {
	PADDING-BOTTOM: 0px; MIN-HEIGHT: 300px; PADDING-LEFT: 0px; WIDTH: =
213px; PADDING-RIGHT: 20px; FLOAT: left; PADDING-TOP: 0px
}
#news_releases {
	PADDING-BOTTOM: 0px; MIN-HEIGHT: 300px; PADDING-LEFT: 0px; WIDTH: =
213px; PADDING-RIGHT: 20px; FLOAT: left; PADDING-TOP: 0px
}
#calendar {
	PADDING-BOTTOM: 0px; MIN-HEIGHT: 300px; PADDING-LEFT: 0px; WIDTH: =
213px; PADDING-RIGHT: 20px; FLOAT: left; PADDING-TOP: 0px
}
#clips {
	MARGIN: 0px 20px 0px 0px
}
#news_releases {
	MARGIN: 0px 20px 0px 0px
}
#clips .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_news_clips.png)
}
#news_releases .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_news_releases.png)
}
#calendar .title A {
	BACKGROUND-IMAGE: url(/assets/img/a_title_calendar.png)
}
#calendar P {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 15px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 12px; PADDING-TOP: 0px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/data.css

.step {
	PADDING-BOTTOM: 0px; MARGIN: 10px 0px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; BORDER-TOP: #ecece4 1px solid; PADDING-TOP: 10px
}
.step FIELDSET {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 0px
}
.step_number {
	FLOAT: left; OVERFLOW: hidden
}
.choose_subject {
	FLOAT: left; OVERFLOW: hidden
}
.choose_year {
	FLOAT: left; OVERFLOW: hidden
}
.step .explanation {
	FLOAT: left; OVERFLOW: hidden
}
.step .buttons {
	FLOAT: left; OVERFLOW: hidden
}
.selections .issues {
	FLOAT: left; OVERFLOW: hidden
}
.selections .variable-box {
	FLOAT: left; OVERFLOW: hidden
}
.step .pulldown {
	FLOAT: left; OVERFLOW: hidden
}
.step LABEL {
	FLOAT: left; OVERFLOW: hidden
}
.step_number {
	WIDTH: 64px; PADDING-TOP: 10px
}
.choose_subject {
	WIDTH: 325px; MARGIN-RIGHT: 20px; BORDER-RIGHT: #d9d9ca 1px dotted
}
.choose_subject LABEL {
	WIDTH: 155px; PADDING-TOP: 4px
}
.choose_subject LABEL .small {
	DISPLAY: block; FONT-WEIGHT: normal
}
#tab1 .choose_subject SELECT {
	WIDTH: 150px
}
#tab2 .choose_subject SELECT {
	WIDTH: 150px
}
.choose_year {
	WIDTH: 300px
}
.choose_year LABEL {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 20px; WIDTH: 120px; PADDING-RIGHT: =
0px; PADDING-TOP: 4px
}
.choose_year LABEL .small {
	DISPLAY: block; FONT-WEIGHT: normal
}
#tab1 .choose_year SELECT {
	WIDTH: 150px
}
#tab2 .choose_year SELECT {
	WIDTH: 150px
}
.explanation {
	WIDTH: 300px
}
.explanation H2 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-SIZE: 14px; FONT-WEIGHT: bold; PADDING-TOP: 8px
}
.explanation P {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 16px; MARGIN: 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 12px; PADDING-TOP: 0px
}
.selections {
	LINE-HEIGHT: 15px; MARGIN: 15px 0px 0px 64px; BACKGROUND: =
url(/assets/img/data_selection_tile.png) repeat-y left top; FONT-SIZE: =
12px
}
.selections .issues {
	WIDTH: 235px
}
.selections .issues UL {
	PADDING-BOTTOM: 0px; LIST-STYLE-TYPE: none; MARGIN: 0px; PADDING-LEFT: =
0px; WIDTH: 214px; PADDING-RIGHT: 0px; BORDER-TOP: #c9c9b5 1px dotted; =
LIST-STYLE-IMAGE: none; PADDING-TOP: 0px
}
.selections .issues LI {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; WIDTH: 214px; =
PADDING-RIGHT: 0px; DISPLAY: block; PADDING-TOP: 0px
}
.selections .issues LI A {
	BORDER-BOTTOM: #c9c9b5 1px dotted; PADDING-BOTTOM: 9px; MARGIN: 0px =
auto; PADDING-LEFT: 9px; WIDTH: 196px; PADDING-RIGHT: 9px; DISPLAY: =
block; PADDING-TOP: 9px
}
.selections .issues LI A:hover {
	BACKGROUND: #fcfcfa
}
.selections .issues LI.selected A {
	BACKGROUND: url(/assets/img/data-issues-selected-arrow.png) white =
no-repeat 200px 14px; COLOR: #818181; FONT-WEIGHT: bold
}
.selections .issues LI A .count {
	TEXT-TRANSFORM: uppercase; DISPLAY: none; FONT-SIZE: 10px
}
.selections .variable-box {
	MARGIN: 0px 0px 15px; WIDTH: 435px
}
.variable-box H3 {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; FONT-SIZE: 12px; FONT-WEIGHT: bold; PADDING-TOP: 15px
}
.variable-box FIELDSET {
	PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: =
0px; PADDING-TOP: 6px
}
.variable-box .checkbox {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 1px =
6px 0px 0px; PADDING-LEFT: 0px; WIDTH: 14px; PADDING-RIGHT: 0px; FLOAT: =
left; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px
}
.variable-box LABEL {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 14px; MARGIN: 0px; PADDING-LEFT: 0px; =
WIDTH: 415px; PADDING-RIGHT: 0px; DISPLAY: block; FLOAT: left; =
FONT-SIZE: 12px; FONT-WEIGHT: normal; PADDING-TOP: 0px
}
.buttons {
	MARGIN-LEFT: 290px
}
.step .buttons {
	MARGIN-LEFT: 110px
}
.buttons .submit {
	BORDER-BOTTOM: #c9c9b5 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#c9c9b5 1px solid; PADDING-BOTTOM: 5px; MARGIN: 20px 0px 0px 10px; =
PADDING-LEFT: 5px; WIDTH: 110px; PADDING-RIGHT: 5px; BACKGROUND: =
#f4f4ef; COLOR: #950908; FONT-SIZE: 14px; BORDER-TOP: #c9c9b5 1px solid; =
BORDER-RIGHT: #c9c9b5 1px solid; PADDING-TOP: 5px
}
.buttons .focus {
	FONT-WEIGHT: bold
}
#data_query_results {
	COLOR: #898989; FONT-SIZE: 12px
}
#ui-dialog-title-data_target H1 {
	PADDING-BOTTOM: 0px; LINE-HEIGHT: 1.2em; MARGIN: 0px; PADDING-LEFT: =
0px; PADDING-RIGHT: 0px; FONT-SIZE: 1em; PADDING-TOP: 0px
}
#data_query_results TH {
	BORDER-BOTTOM: #e3e3dd 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: =
5px; LINE-HEIGHT: 16px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; =
VERTICAL-ALIGN: bottom; BORDER-RIGHT: #e3e3dd 1px solid; PADDING-TOP: =
5px
}
#data_query_results TD {
	BORDER-BOTTOM: #e3e3dd 1px solid; TEXT-ALIGN: center; PADDING-BOTTOM: =
5px; LINE-HEIGHT: 16px; PADDING-LEFT: 7px; PADDING-RIGHT: 7px; =
VERTICAL-ALIGN: bottom; BORDER-RIGHT: #e3e3dd 1px solid; PADDING-TOP: =
5px
}
#data_query_results TH {
	CURSOR: pointer
}
#data_query_results TH.first {
	TEXT-ALIGN: left; BORDER-LEFT: #e3e3dd 1px solid; FONT-WEIGHT: bold
}
#data_query_results TD.first {
	TEXT-ALIGN: left; BORDER-LEFT: #e3e3dd 1px solid; TEXT-TRANSFORM: =
capitalize
}
#data_query_results TD.source {
	TEXT-ALIGN: left; BORDER-LEFT: #e3e3dd 1px solid
}
#data_query_results TD.level0 {
	BORDER-BOTTOM: #e3e3dd 1px solid; BORDER-LEFT: #e3e3dd 1px solid; =
TEXT-TRANSFORM: uppercase; BACKGROUND: #9d9d82; COLOR: white; =
BORDER-TOP: #e3e3dd 1px solid; FONT-WEIGHT: bold; BORDER-RIGHT: #e3e3dd =
1px solid
}
#data_query_results TD.level1 {
	BACKGROUND: #bbbba0; COLOR: white; FONT-WEIGHT: bold
}
#data_query_results TD.level2 {
	BACKGROUND: #e0e0d5; FONT-WEIGHT: bold
}
#data_query_results TH.level3 {
	BACKGROUND: #f3f3e7
}
#data_query_results A SPAN {
	DISPLAY: none
}
.controls {
	LIST-STYLE-TYPE: none; MARGIN: 10px auto auto; WIDTH: 33px; HEIGHT: =
11px; LIST-STYLE-IMAGE: none
}
.controls LI {
	WIDTH: 11px; FLOAT: left; HEIGHT: 11px; FONT-SIZE: 10px
}
.descending {
	WIDTH: 11px; DISPLAY: block; HEIGHT: 11px
}
.ascending {
	WIDTH: 11px; DISPLAY: block; HEIGHT: 11px
}
.delete {
	WIDTH: 11px; DISPLAY: block; HEIGHT: 11px
}
.descending {
	BACKGROUND: url(/assets/img/data-col-sort-descending.png) no-repeat =
left 0px
}
.ascending {
	BACKGROUND: url(/assets/img/data-col-sort-ascending.png) no-repeat =
right 0px
}
.delete {
	BACKGROUND: url(/assets/img/data-col-delete.png) no-repeat right 0px
}
.selected {
	BACKGROUND-POSITION: left -34px; COLOR: white
}
.descending:active {
	BACKGROUND-POSITION: left -34px; COLOR: white
}
.ascending:active {
	BACKGROUND-POSITION: left -34px; COLOR: white
}
.delete:active {
	BACKGROUND-POSITION: left -34px; COLOR: white
}
.headerSortUp .descending {
	BACKGROUND-POSITION: left -34px; COLOR: white
}
.headerSortDown .ascending {
	BACKGROUND-POSITION: left -34px; COLOR: white
}
#ui-dialog-title-data_target H1 .buttons {
	POSITION: absolute; PADDING-BOTTOM: 0px; LINE-HEIGHT: 10px; MARGIN: =
0px; PADDING-LEFT: 0px; WIDTH: 210px; PADDING-RIGHT: 0px; FONT-SIZE: =
10px; OVERFLOW: hidden; TOP: 16px; RIGHT: 20px; PADDING-TOP: 0px
}
#ui-dialog-title-data_target H1 .export {
	LINE-HEIGHT: 10px; TEXT-TRANSFORM: uppercase; DISPLAY: inline; =
FONT-SIZE: 10px
}
#ui-dialog-title-data_target H1 .print {
	LINE-HEIGHT: 10px; TEXT-TRANSFORM: uppercase; DISPLAY: inline; =
FONT-SIZE: 10px
}
#ui-dialog-title-data_target H1 .export {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 15px; PADDING-RIGHT: 10px; =
BACKGROUND: url(/assets/img/icon_download.png) no-repeat 1px 3px; =
PADDING-TOP: 0px
}
#ui-dialog-title-data_target H1 .print {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 25px; PADDING-RIGHT: 10px; =
BACKGROUND: url(/assets/img/icon_print.png) no-repeat 10px 3px; FLOAT: =
none; PADDING-TOP: 0px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.clasp.org/utility/css/projects.css

TABLE#charting_progress {
	MARGIN-BOTTOM: 20px
}
TABLE#charting_progress TH {
	BORDER-BOTTOM: #c3d9ff 1px solid; PADDING-RIGHT: 15px; PADDING-TOP: 15px
}
TABLE#charting_progress TD {
	BORDER-BOTTOM: #c3d9ff 1px solid; PADDING-RIGHT: 15px; PADDING-TOP: 15px
}
TABLE#charting_progress TD H3 {
	FONT-SIZE: 14px; FONT-WEIGHT: bold
}
TABLE#charting_progress TD UL {
	MARGIN-TOP: 0px
}
TABLE#charting_progress TD P {
	MARGIN-BOTTOM: 0px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.clasp.org/utility/css/screen.css

@import url( /utility/css/reset.css );
@import url( /utility/css/typography.css );
@import url( /utility/css/shell.css );
@import url( /utility/css/elements.css );
@import url( /utility/css/menus.css );
@import url( /utility/css/id.css );
@import url( /utility/css/footer.css );
@import url( /utility/css/forms.css );
@import url( /utility/css/lists.css );
@import url( /utility/css/home.css );
@import url( /utility/css/about.css );
@import url( /utility/css/experts.css );
@import url( /utility/css/newsroom.css );
@import url( /utility/css/data.css );
@import url( /utility/css/projects.css );

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/print.css

BODY {
	LINE-HEIGHT: 1.5; FONT-FAMILY: "Helvetica Neue", Helvetica, Arial, =
sans-serif; BACKGROUND: none transparent scroll repeat 0% 0%; COLOR: =
#000; FONT-SIZE: 10pt
}
#logo {
	CONTENT: "<h1>CLASP: Policy Solutions That Work for Low-Income =
People</h1>"
}
.container {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
HR {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: =
0px; MARGIN: 2em 0px; PADDING-LEFT: 0px; WIDTH: 100%; PADDING-RIGHT: =
0px; BACKGROUND: #e5e5e5; HEIGHT: 2px; COLOR: #e5e5e5; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0px
}
HR.space {
	BACKGROUND: #fff; COLOR: #fff
}
H1 {
	FONT-FAMILY: "Helvetica Neue", Arial, "Lucida Grande", sans-serif
}
H2 {
	FONT-FAMILY: "Helvetica Neue", Arial, "Lucida Grande", sans-serif
}
H3 {
	FONT-FAMILY: "Helvetica Neue", Arial, "Lucida Grande", sans-serif
}
H4 {
	FONT-FAMILY: "Helvetica Neue", Arial, "Lucida Grande", sans-serif
}
H5 {
	FONT-FAMILY: "Helvetica Neue", Arial, "Lucida Grande", sans-serif
}
H6 {
	FONT-FAMILY: "Helvetica Neue", Arial, "Lucida Grande", sans-serif
}
CODE {
	FONT: 0.9em "Courier New", Monaco, Courier, monospace
}
IMG {
	MARGIN: 1.5em 1.5em 1.5em 0px
}
A IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
P IMG.top {
	MARGIN-TOP: 0px
}
BLOCKQUOTE {
	PADDING-BOTTOM: 1em; FONT-STYLE: italic; MARGIN: 1.5em; PADDING-LEFT: =
1em; PADDING-RIGHT: 1em; FONT-SIZE: 0.9em; PADDING-TOP: 1em
}
.small {
	FONT-SIZE: 0.9em
}
.large {
	FONT-SIZE: 1.1em
}
.quiet {
	COLOR: #999
}
.hide {
	DISPLAY: none
}
.headline {
	DISPLAY: block; FONT-SIZE: 1.2em
}
.description {
	COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
.date {
	COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
A .description {
	COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
A .date {
	COLOR: black; FONT-WEIGHT: normal; TEXT-DECORATION: none
}
.intro {
	FONT-WEIGHT: bold
}
A:link {
	BACKGROUND: none transparent scroll repeat 0% 0%; FONT-WEIGHT: 700; =
TEXT-DECORATION: underline
}
A:visited {
	BACKGROUND: none transparent scroll repeat 0% 0%; FONT-WEIGHT: 700; =
TEXT-DECORATION: underline
}
A:link:after {
	FONT-SIZE: 90%; CONTENT: " (" attr(href) ") "
}
A:visited:after {
	FONT-SIZE: 90%; CONTENT: " (" attr(href) ") "
}
A[href^=3D'/']:after {
	CONTENT: " (http://www.clasp.org" attr(href) ") "
}
#data_query_results {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; =
BORDER-COLLAPSE: collapse; FONT-SIZE: 14px; BORDER-TOP: black 1px solid; =
BORDER-RIGHT: black 1px solid; PADDING-TOP: 3px
}
#data_query_results UL.controls {
	DISPLAY: none
}
#data_query_results TD {
	BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: right; BORDER-LEFT: black =
1px solid; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid
}
#data_query_results TD.first {
	TEXT-ALIGN: left
}
#data_query_results TH {
	BORDER-BOTTOM: black 1px solid; TEXT-ALIGN: center; BORDER-LEFT: black =
1px solid; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid
}
#data_query_results TD.level0 {
	TEXT-ALIGN: center
}
#data_query_results TD.level1 {
	TEXT-ALIGN: center
}
#data_query_results TD.level2 {
	TEXT-ALIGN: center
}
#data_query_results TD.level3 {
	TEXT-ALIGN: center
}
#data_query_results TD.source {
	TEXT-ALIGN: left
}
#signup {
	DISPLAY: none
}
#nav {
	DISPLAY: none
}
#id {
	DISPLAY: none
}
#secondary {
	DISPLAY: none
}
#sitemap {
	DISPLAY: none
}
#footer {
	DISPLAY: none
}
#related {
	DISPLAY: none
}
.more {
	DISPLAY: none
}
#credit {
	DISPLAY: none
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/ie.css

BODY {
	TEXT-ALIGN: center
}
.container {
	TEXT-ALIGN: left
}
* HTML .column {
	OVERFLOW-X: hidden
}
* HTML LEGEND {
	PADDING-BOTTOM: 0px; MARGIN: -18px -8px 16px 0px; PADDING-LEFT: 0px; =
PADDING-RIGHT: 0px; PADDING-TOP: 0px
}
OL {
	MARGIN-LEFT: 2em
}
SUP {
	VERTICAL-ALIGN: text-top
}
SUB {
	VERTICAL-ALIGN: text-bottom
}
HTML > BODY P CODE {
=09
}
HR {
	MARGIN: -8px auto 11px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/jquery-ui/base/ui.core.css

.ui-helper-hidden {
	DISPLAY: none
}
.ui-helper-hidden-accessible {
	POSITION: absolute; LEFT: -1342177.28px
}
.ui-helper-reset {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; LINE-HEIGHT: =
1.3; LIST-STYLE-TYPE: none; MARGIN: 0px; OUTLINE-STYLE: none; =
OUTLINE-COLOR: invert; PADDING-LEFT: 0px; OUTLINE-WIDTH: 0px; =
PADDING-RIGHT: 0px; FONT-SIZE: 100%; BORDER-TOP: 0px; LIST-STYLE-IMAGE: =
none; BORDER-RIGHT: 0px; TEXT-DECORATION: none; PADDING-TOP: 0px
}
.ui-helper-clearfix:after {
	DISPLAY: block; HEIGHT: 0px; VISIBILITY: hidden; CLEAR: both; CONTENT: =
"."
}
.ui-helper-clearfix {
	DISPLAY: inline-block
}
* HTML .ui-helper-clearfix {
	HEIGHT: 1%
}
.ui-helper-clearfix {
	DISPLAY: block
}
.ui-helper-zfix {
	POSITION: absolute; FILTER: Alpha(Opacity=3D0); WIDTH: 100%; HEIGHT: =
100%; TOP: 0px; LEFT: 0px; opacity: 0
}
.ui-state-disabled {
	CURSOR: default !important
}
.ui-icon {
	TEXT-INDENT: -99999px; DISPLAY: block; BACKGROUND-REPEAT: no-repeat; =
OVERFLOW: hidden
}
.ui-widget-overlay {
	POSITION: absolute; WIDTH: 100%; HEIGHT: 100%; TOP: 0px; LEFT: 0px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/jquery-ui/base/ui.dialog.css

.ui-dialog {
	BORDER-BOTTOM: #878769 1px solid; POSITION: relative; BORDER-LEFT: =
#878769 1px solid; PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 760px; =
PADDING-RIGHT: 0px; OVERFLOW: hidden; BORDER-TOP: #878769 1px solid; =
BORDER-RIGHT: #878769 1px solid; PADDING-TOP: 0px
}
.ui-dialog .ui-dialog-titlebar {
	POSITION: relative; PADDING-BOTTOM: 9px; PADDING-LEFT: 9px; =
PADDING-RIGHT: 9px; BACKGROUND: url(/assets/img/modal_title.png) white =
repeat-x center bottom; HEIGHT: 22px; OVERFLOW: hidden; PADDING-TOP: 9px
}
.ui-dialog .ui-dialog-title {
	LINE-HEIGHT: 22px; FLOAT: left; FONT-SIZE: 22px
}
.ui-dialog .ui-dialog-titlebar-close {
	POSITION: absolute; WIDTH: 23px; HEIGHT: 23px; TOP: 9px; RIGHT: 9px
}
.ui-dialog .ui-dialog-titlebar-close SPAN {
	DISPLAY: none
}
.ui-dialog .ui-dialog-titlebar-close {
	POSITION: absolute; WIDTH: 23px; BACKGROUND: =
url(/assets/img/modal_close.png) white no-repeat left top; HEIGHT: 23px; =
TOP: 7px; RIGHT: 7px
}
.ui-dialog .ui-dialog-titlebar-close:hover {
	BACKGROUND-POSITION: left -41px
}
.ui-dialog .ui-dialog-titlebar-close:focus {
	BACKGROUND-POSITION: left -41px
}
.ui-dialog .ui-dialog-content {
	BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0.5em; =
PADDING-LEFT: 1em; PADDING-RIGHT: 1em; ZOOM: 1; BACKGROUND: none =
transparent scroll repeat 0% 0%; OVERFLOW: auto; BORDER-TOP: 0px; =
BORDER-RIGHT: 0px; PADDING-TOP: 0.5em
}
.ui-dialog .ui-dialog-buttonpane {
	BACKGROUND-IMAGE: none; TEXT-ALIGN: left; PADDING-BOTTOM: 0.5em; =
BORDER-RIGHT-WIDTH: 0px; MARGIN: 0.5em 0px 0px; PADDING-LEFT: 0.4em; =
PADDING-RIGHT: 1em; BORDER-TOP-WIDTH: 1px; BORDER-BOTTOM-WIDTH: 0px; =
BORDER-LEFT-WIDTH: 0px; PADDING-TOP: 0.3em
}
.ui-dialog .ui-dialog-buttonpane BUTTON {
	PADDING-BOTTOM: 0.3em; LINE-HEIGHT: 1.4em; MARGIN: 0.5em 0.4em 0.5em =
0px; PADDING-LEFT: 0.6em; WIDTH: auto; PADDING-RIGHT: 0.6em; FLOAT: =
right; OVERFLOW: visible; CURSOR: pointer; PADDING-TOP: 0.2em
}
.ui-dialog .ui-resizable-se {
	WIDTH: 14px; BOTTOM: 3px; HEIGHT: 14px; RIGHT: 3px
}
.ui-draggable .ui-dialog-titlebar {
	CURSOR: move
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/jcarousel/lib/jquery.jcarousel.css

.jcarousel-container {
	POSITION: relative
}
.jcarousel-clip {
	Z-INDEX: 2; POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; OVERFLOW: hidden; PADDING-TOP: =
0px
}
.jcarousel-list {
	Z-INDEX: 1; POSITION: relative; PADDING-BOTTOM: 0px; MARGIN: 0px; =
PADDING-LEFT: 0px; PADDING-RIGHT: 0px; OVERFLOW: hidden; TOP: 0px; =
PADDING-TOP: 0px; LEFT: 0px
}
.jcarousel-list LI {
	LIST-STYLE-TYPE: none; WIDTH: 75px; FLOAT: left; HEIGHT: 75px; =
LIST-STYLE-IMAGE: none
}
.jcarousel-item {
	LIST-STYLE-TYPE: none; WIDTH: 75px; FLOAT: left; HEIGHT: 75px; =
LIST-STYLE-IMAGE: none
}
.jcarousel-next {
	Z-INDEX: 3; DISPLAY: none
}
.jcarousel-prev {
	Z-INDEX: 3; DISPLAY: none
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/css/jcarousel.css

.jcarousel-skin-clasp {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; WIDTH: 644px; PADDING-RIGHT: =
0px; BACKGROUND: url(/assets/img/banner_rotator_tile.jpg) no-repeat left =
13px; FLOAT: left; OVERFLOW: hidden; PADDING-TOP: 5px
}
.jcarousel-skin-clasp .jcarousel-container {
	WIDTH: 644px
}
.jcarousel-skin-clasp .jcarousel-container-horizontal {
	WIDTH: 644px
}
.jcarousel-skin-clasp .jcarousel-clip-horizontal {
	MARGIN: 0px 0px 0px 26px; WIDTH: 602px; HEIGHT: 100px
}
.jcarousel-skin-clasp .jcarousel-item {
	WIDTH: 140px; HEIGHT: 90px
}
.jcarousel-skin-clasp .jcarousel-item-horizontal {
	MARGIN-RIGHT: 14px
}
.jcarousel-skin-clasp .jcarousel-item-placeholder {
	BACKGROUND: #fff; COLOR: #000
}
.jcarousel-skin-clasp .jcarousel-next-horizontal {
	POSITION: absolute; WIDTH: 9px; BACKGROUND: =
url(/assets/img/banner_rotator_next.png) no-repeat 0px 1px; HEIGHT: =
17px; TOP: 35px; CURSOR: pointer; RIGHT: 0px
}
.jcarousel-skin-clasp .jcarousel-next-horizontal:hover {
	BACKGROUND-POSITION: 0px -23px
}
.jcarousel-skin-clasp .jcarousel-prev-horizontal {
	POSITION: absolute; WIDTH: 9px; BACKGROUND: =
url(/assets/img/banner_rotator_back.png) no-repeat 0px 1px; HEIGHT: =
17px; TOP: 35px; CURSOR: pointer; LEFT: 10px
}
.jcarousel-skin-clasp .jcarousel-prev-horizontal:hover {
	BACKGROUND-POSITION: 0px -23px
}
#banner_rotator {
	WIDTH: 644px; HEIGHT: 107px
}

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/swfobject.js

/**
 * SWFObject v1.4.1: Flash Player detection and embed - =
http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT =
License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. =
The name was changed for
 *   legal reasons.
 */
if(typeof deconcept=3D=3D"undefined"){var deconcept=3Dnew Object();}
if(typeof deconcept.util=3D=3D"undefined"){deconcept.util=3Dnew =
Object();}
if(typeof =
deconcept.SWFObjectUtil=3D=3D"undefined"){deconcept.SWFObjectUtil=3Dnew =
Object();}
deconcept.SWFObject=3Dfunction(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
if(!document.createElement||!document.getElementById){return;}
this.DETECT_KEY=3D_b?_b:"detectflash";
this.skipDetect=3Ddeconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=3Dnew Object();
this.variables=3Dnew Object();
this.attributes=3Dnew Array();
if(_1){this.setAttribute("swf",_1);}
if(id){this.setAttribute("id",id);}
if(w){this.setAttribute("width",w);}
if(h){this.setAttribute("height",h);}
if(_5){this.setAttribute("version",new =
deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=3Ddeconcept.SWFObjectUtil.getPlayerVersion(this.getAttr=
ibute("version"),_7);
if(c){this.addParam("bgcolor",c);}
var q=3D_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var _d=3D(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype=3D{setAttribute:function(_e,_f){
this.attributes[_e]=3D_f;
},getAttribute:function(_10){
return this.attributes[_10];
},addParam:function(_11,_12){
this.params[_11]=3D_12;
},getParams:function(){
return this.params;
},addVariable:function(_13,_14){
this.variables[_13]=3D_14;
},getVariable:function(_15){
return this.variables[_15];
},getVariables:function(){
return this.variables;
},getVariablePairs:function(){
var _16=3Dnew Array();
var key;
var _18=3Dthis.getVariables();
for(key in _18){_16.push(key+"=3D"+_18[key]);}
return _16;
},getSWFHTML:function(){
var _19=3D"";
if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType"=
,"PlugIn");}
_19=3D"<embed type=3D\"application/x-shockwave-flash\" =
src=3D\""+this.getAttribute("swf")+"\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\"";
_19+=3D" id=3D\""+this.getAttribute("id")+"\" =
name=3D\""+this.getAttribute("id")+"\" ";
var _1a=3Dthis.getParams();
for(var key in _1a){_19+=3D[key]+"=3D\""+_1a[key]+"\" ";}
var _1c=3Dthis.getVariablePairs().join("&");
if(_1c.length>0){_19+=3D"flashvars=3D\""+_1c+"\"";}
_19+=3D"/>";}else{if(this.getAttribute("doExpressInstall")){this.addVaria=
ble("MMplayerType","ActiveX");}
_19=3D"<object id=3D\""+this.getAttribute("id")+"\" =
classid=3D\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" =
width=3D\""+this.getAttribute("width")+"\" =
height=3D\""+this.getAttribute("height")+"\">";
_19+=3D"<param name=3D\"movie\" value=3D\""+this.getAttribute("swf")+"\" =
/>";
_19+=3D"<param name=3D\"wmode\" value=3D\"transparent\" />";
var _1d=3Dthis.getParams();
for(var key in _1d){_19+=3D"<param name=3D\""+key+"\" =
value=3D\""+_1d[key]+"\" />";}
_19+=3D"<param name=3D\"wmode\" value=3D\"transparent\" />";var =
_1f=3Dthis.getVariablePairs().join("&");
if(_1f.length>0){_19+=3D"<param name=3D\"flashvars\" value=3D\""+_1f+"\" =
/>";}_19+=3D"</object>";}
return _19;},write:function(_20){
if(this.getAttribute("useExpressInstall")){
var _21=3Dnew deconcept.PlayerVersion([6,0,65]);
if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsVal=
id(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl"=
)));
document.title=3Ddocument.title.slice(0,47)+" - Flash Player =
Installation";
this.addVariable("MMdoctitle",document.title);}}
if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installed=
Ver.versionIsValid(this.getAttribute("version"))){
var n=3D(typeof _20=3D=3D"string")?document.getElementById(_20):_20;
n.innerHTML=3Dthis.getSWFHTML();return true;
}else{if(this.getAttribute("redirectUrl")!=3D""){document.location.replac=
e(this.getAttribute("redirectUrl"));}}return false;}};
deconcept.SWFObjectUtil.getPlayerVersion=3Dfunction(_23,_24){
var _25=3Dnew deconcept.PlayerVersion([0,0,0]);
if(navigator.plugins&&navigator.mimeTypes.length){
var x=3Dnavigator.plugins["Shockwave Flash"];
if(x&&x.description){_25=3Dnew =
deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/,"").rep=
lace(/(\s+r|\s+b[0-9]+)/,".").split("."));}
}else{try{var axo=3Dnew ActiveXObject("ShockwaveFlash.ShockwaveFlash");
for(var i=3D3;axo!=3Dnull;i++){axo=3Dnew =
ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);_25=3Dnew =
deconcept.PlayerVersion([i,0,0]);}}
catch(e){}
if(_23&&_25.major>_23.major){return _25;}
if(!_23||((_23.minor!=3D0||_23.rev!=3D0)&&_25.major=3D=3D_23.major)||_25.=
major!=3D6||_24){
try{_25=3Dnew =
deconcept.PlayerVersion(axo.GetVariable("$version").split(" =
")[1].split(","));}
catch(e){}}}return _25;};
deconcept.PlayerVersion=3Dfunction(_29){
this.major=3DparseInt(_29[0])!=3Dnull?parseInt(_29[0]):0;
this.minor=3DparseInt(_29[1])||0;
this.rev=3DparseInt(_29[2])||0;};
deconcept.PlayerVersion.prototype.versionIsValid=3Dfunction(fv){
if(this.major<fv.major){return false;}
if(this.major>fv.major){return true;}
if(this.minor<fv.minor){return false;}
if(this.minor>fv.minor){return true;}
if(this.rev<fv.rev){return false;}return true;};
deconcept.util=3D{getRequestParameter:function(_2b){
var q=3Ddocument.location.search||document.location.hash;
if(q){var _2d=3Dq.indexOf(_2b+"=3D");
var _2e=3D(q.indexOf("&",_2d)>-1)?q.indexOf("&",_2d):q.length;
if(q.length>1&&_2d>-1){return q.substring(q.indexOf("=3D",_2d)+1,_2e);}}
return "";}};
deconcept.SWFObjectUtil.cleanupSWFs=3Dfunction(){
var _2f=3Ddocument.getElementsByTagName("OBJECT");
for(var i=3D0;i<_2f.length;i++){
for(var x in _2f[i]){if(typeof =
_2f[i][x]=3D=3D"function"){_2f[i][x]=3Dnull;}}}};
if(typeof window.onunload=3D=3D"function"){
var oldunload=3Dwindow.onunload;
window.onunload=3Dfunction(){deconcept.SWFObjectUtil.cleanupSWFs();oldunl=
oad();};
}else{window.onunload=3Ddeconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.prototype.push=3D=3Dnull){
Array.prototype.push=3Dfunction(_32){
this[this.length]=3D_32;
return this.length;};}

var getQueryParamValue =3D deconcept.util.getRequestParameter;
var FlashObject =3D deconcept.SWFObject; // for backwards compatibility
var SWFObject =3D deconcept.SWFObject;


------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/fontsize.js

//font size functions

function Set_Cookie( name, value, expires, path, domain, secure ) {
	// set time, it's in milliseconds
	var today =3D new Date();
	today.setTime( today.getTime() );
=09
	/*
	if the expires variable is set, make the correct=20
	expires time, the current script below will set=20
	it for x number of days, to make it for hours,=20
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires ) {
		expires =3D expires * 1000 * 60 * 60 * 24;
	}
	var expires_date =3D new Date( today.getTime() + (expires) );
=09
	document.cookie =3D name + "=3D" +escape( value ) +
	( ( expires ) ? ";expires=3D" + expires_date.toGMTString() : "" ) +=20
	( ( path ) ? ";path=3D" + path : "" ) +=20
	( ( domain ) ? ";domain=3D" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this function gets the cookie, if it exists
function Get_Cookie( name ) {
	var start =3D document.cookie.indexOf( name + "=3D" );
	var len =3D start + name.length + 1;
	if ( ( !start ) && ( name !=3D document.cookie.substring( 0, =
name.length ) ) ) {
		return null;
	}
	if ( start =3D=3D -1 ) return null;
	var end =3D document.cookie.indexOf( ";", len );
	if ( end =3D=3D -1 ) end =3D document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}

function CE_LoadPageFont() {
	if(Get_Cookie("font_size")) {
		fs =3D Get_Cookie("font_size");
		document.body.className =3D "body_" + fs;
		document.getElementById("font_size_links").className =3D fs;
	=09
		// IE6 hack
		if (document.all && !window.XMLHttpRequest) {
			CE_FixIE6(fs);
		}
	}
}

function CE_FixIE6(which) {
	document.getElementById("font_select").style.cssText =3D =
"background-position:0px 0px";
	document.getElementById("font_select_med").style.cssText =3D =
"background-position:0px 0px";
	document.getElementById("font_select_large").style.cssText =3D =
"background-position:0px 0px";
	if (which =3D=3D "") {
		document.getElementById("font_select").style.cssText =3D =
"background-position:0px -14px";
	} else {
		document.getElementById("font_select_" + which).style.cssText =3D =
"background-position:0px -14px";
	}
}

function CE_SetPageFont(which) {
	document.body.className =3D "body_" + which;
	document.getElementById("font_size_links").className =3D which;
	document.getElementById("font_size_links").setAttribute("className", =
which);

	// IE6 hack
	if (document.all && !window.XMLHttpRequest) {
		CE_FixIE6(which);
	}
=09
	var domain =3D site_webroot.substring(site_webroot.indexOf("http://") + =
7, site_webroot.length - 1);
	Set_Cookie("font_size", which, 1, "/", domain, false);
}


------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/jquery.js

/*!
 * jQuery JavaScript Library v1.3.2
 * http://jquery.com/
 *
 * Copyright (c) 2009 John Resig
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * Date: 2009-02-19 17:34:21 -0500 (Thu, 19 Feb 2009)
 * Revision: 6246
 */
(function(){

var=20
	// Will speed up references to window, and allows munging its name.
	window =3D this,
	// Will speed up references to undefined, and allows munging its name.
	undefined,
	// Map over jQuery in case of overwrite
	_jQuery =3D window.jQuery,
	// Map over the $ in case of overwrite
	_$ =3D window.$,

	jQuery =3D window.jQuery =3D window.$ =3D function( selector, context ) =
{
		// The jQuery object is actually just the init constructor 'enhanced'
		return new jQuery.fn.init( selector, context );
	},

	// A simple way to check for HTML strings or ID strings
	// (both of which we optimize for)
	quickExpr =3D /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
	// Is it a simple selector
	isSimple =3D /^.[^:#\[\.,]*$/;

jQuery.fn =3D jQuery.prototype =3D {
	init: function( selector, context ) {
		// Make sure that a selection was provided
		selector =3D selector || document;

		// Handle $(DOMElement)
		if ( selector.nodeType ) {
			this[0] =3D selector;
			this.length =3D 1;
			this.context =3D selector;
			return this;
		}
		// Handle HTML strings
		if ( typeof selector =3D=3D=3D "string" ) {
			// Are we dealing with HTML string or an ID?
			var match =3D quickExpr.exec( selector );

			// Verify a match, and that no context was specified for #id
			if ( match && (match[1] || !context) ) {

				// HANDLE: $(html) -> $(array)
				if ( match[1] )
					selector =3D jQuery.clean( [ match[1] ], context );

				// HANDLE: $("#id")
				else {
					var elem =3D document.getElementById( match[3] );

					// Handle the case where IE and Opera return items
					// by name instead of ID
					if ( elem && elem.id !=3D match[3] )
						return jQuery().find( selector );

					// Otherwise, we inject the element directly into the jQuery object
					var ret =3D jQuery( elem || [] );
					ret.context =3D document;
					ret.selector =3D selector;
					return ret;
				}

			// HANDLE: $(expr, [context])
			// (which is just equivalent to: $(content).find(expr)
			} else
				return jQuery( context ).find( selector );

		// HANDLE: $(function)
		// Shortcut for document ready
		} else if ( jQuery.isFunction( selector ) )
			return jQuery( document ).ready( selector );

		// Make sure that old selector state is passed along
		if ( selector.selector && selector.context ) {
			this.selector =3D selector.selector;
			this.context =3D selector.context;
		}

		return this.setArray(jQuery.isArray( selector ) ?
			selector :
			jQuery.makeArray(selector));
	},

	// Start with an empty selector
	selector: "",

	// The current version of jQuery being used
	jquery: "1.3.2",

	// The number of elements contained in the matched element set
	size: function() {
		return this.length;
	},

	// Get the Nth element in the matched element set OR
	// Get the whole matched element set as a clean array
	get: function( num ) {
		return num =3D=3D=3D undefined ?

			// Return a 'clean' array
			Array.prototype.slice.call( this ) :

			// Return just the object
			this[ num ];
	},

	// Take an array of elements and push it onto the stack
	// (returning the new matched element set)
	pushStack: function( elems, name, selector ) {
		// Build a new jQuery matched element set
		var ret =3D jQuery( elems );

		// Add the old object onto the stack (as a reference)
		ret.prevObject =3D this;

		ret.context =3D this.context;

		if ( name =3D=3D=3D "find" )
			ret.selector =3D this.selector + (this.selector ? " " : "") + =
selector;
		else if ( name )
			ret.selector =3D this.selector + "." + name + "(" + selector + ")";

		// Return the newly-formed element set
		return ret;
	},

	// Force the current matched set of elements to become
	// the specified array of elements (destroying the stack in the =
process)
	// You should use pushStack() in order to do this, but maintain the =
stack
	setArray: function( elems ) {
		// Resetting the length to 0, then using the native Array push
		// is a super-fast way to populate an object with array-like =
properties
		this.length =3D 0;
		Array.prototype.push.apply( this, elems );

		return this;
	},

	// Execute a callback for every element in the matched set.
	// (You can seed the arguments with an array of args, but this is
	// only used internally.)
	each: function( callback, args ) {
		return jQuery.each( this, callback, args );
	},

	// Determine the position of an element within
	// the matched set of elements
	index: function( elem ) {
		// Locate the position of the desired element
		return jQuery.inArray(
			// If it receives a jQuery object, the first element is used
			elem && elem.jquery ? elem[0] : elem
		, this );
	},

	attr: function( name, value, type ) {
		var options =3D name;

		// Look for the case where we're accessing a style value
		if ( typeof name =3D=3D=3D "string" )
			if ( value =3D=3D=3D undefined )
				return this[0] && jQuery[ type || "attr" ]( this[0], name );

			else {
				options =3D {};
				options[ name ] =3D value;
			}

		// Check to see if we're setting style values
		return this.each(function(i){
			// Set all the styles
			for ( name in options )
				jQuery.attr(
					type ?
						this.style :
						this,
					name, jQuery.prop( this, options[ name ], type, i, name )
				);
		});
	},

	css: function( key, value ) {
		// ignore negative width and height values
		if ( (key =3D=3D 'width' || key =3D=3D 'height') && parseFloat(value) =
< 0 )
			value =3D undefined;
		return this.attr( key, value, "curCSS" );
	},

	text: function( text ) {
		if ( typeof text !=3D=3D "object" && text !=3D null )
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );

		var ret =3D "";

		jQuery.each( text || this, function(){
			jQuery.each( this.childNodes, function(){
				if ( this.nodeType !=3D 8 )
					ret +=3D this.nodeType !=3D 1 ?
						this.nodeValue :
						jQuery.fn.text( [ this ] );
			});
		});

		return ret;
	},

	wrapAll: function( html ) {
		if ( this[0] ) {
			// The elements to wrap the target around
			var wrap =3D jQuery( html, this[0].ownerDocument ).clone();

			if ( this[0].parentNode )
				wrap.insertBefore( this[0] );

			wrap.map(function(){
				var elem =3D this;

				while ( elem.firstChild )
					elem =3D elem.firstChild;

				return elem;
			}).append(this);
		}

		return this;
	},

	wrapInner: function( html ) {
		return this.each(function(){
			jQuery( this ).contents().wrapAll( html );
		});
	},

	wrap: function( html ) {
		return this.each(function(){
			jQuery( this ).wrapAll( html );
		});
	},

	append: function() {
		return this.domManip(arguments, true, function(elem){
			if (this.nodeType =3D=3D 1)
				this.appendChild( elem );
		});
	},

	prepend: function() {
		return this.domManip(arguments, true, function(elem){
			if (this.nodeType =3D=3D 1)
				this.insertBefore( elem, this.firstChild );
		});
	},

	before: function() {
		return this.domManip(arguments, false, function(elem){
			this.parentNode.insertBefore( elem, this );
		});
	},

	after: function() {
		return this.domManip(arguments, false, function(elem){
			this.parentNode.insertBefore( elem, this.nextSibling );
		});
	},

	end: function() {
		return this.prevObject || jQuery( [] );
	},

	// For internal use only.
	// Behaves like an Array's method, not like a jQuery method.
	push: [].push,
	sort: [].sort,
	splice: [].splice,

	find: function( selector ) {
		if ( this.length =3D=3D=3D 1 ) {
			var ret =3D this.pushStack( [], "find", selector );
			ret.length =3D 0;
			jQuery.find( selector, this[0], ret );
			return ret;
		} else {
			return this.pushStack( jQuery.unique(jQuery.map(this, function(elem){
				return jQuery.find( selector, elem );
			})), "find", selector );
		}
	},

	clone: function( events ) {
		// Do the clone
		var ret =3D this.map(function(){
			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {
				// IE copies events bound via attachEvent when
				// using cloneNode. Calling detachEvent on the
				// clone will also remove the events from the orignal
				// In order to get around this, we use innerHTML.
				// Unfortunately, this means some modifications to
				// attributes in IE that are actually only stored
				// as properties will not be copied (such as the
				// the name attribute on an input).
				var html =3D this.outerHTML;
				if ( !html ) {
					var div =3D this.ownerDocument.createElement("div");
					div.appendChild( this.cloneNode(true) );
					html =3D div.innerHTML;
				}

				return jQuery.clean([html.replace(/ jQuery\d+=3D"(?:\d+|null)"/g, =
"").replace(/^\s*/, "")])[0];
			} else
				return this.cloneNode(true);
		});

		// Copy the events from the original to the clone
		if ( events =3D=3D=3D true ) {
			var orig =3D this.find("*").andSelf(), i =3D 0;

			ret.find("*").andSelf().each(function(){
				if ( this.nodeName !=3D=3D orig[i].nodeName )
					return;

				var events =3D jQuery.data( orig[i], "events" );

				for ( var type in events ) {
					for ( var handler in events[ type ] ) {
						jQuery.event.add( this, type, events[ type ][ handler ], events[ =
type ][ handler ].data );
					}
				}

				i++;
			});
		}

		// Return the cloned set
		return ret;
	},

	filter: function( selector ) {
		return this.pushStack(
			jQuery.isFunction( selector ) &&
			jQuery.grep(this, function(elem, i){
				return selector.call( elem, i );
			}) ||

			jQuery.multiFilter( selector, jQuery.grep(this, function(elem){
				return elem.nodeType =3D=3D=3D 1;
			}) ), "filter", selector );
	},

	closest: function( selector ) {
		var pos =3D jQuery.expr.match.POS.test( selector ) ? jQuery(selector) =
: null,
			closer =3D 0;

		return this.map(function(){
			var cur =3D this;
			while ( cur && cur.ownerDocument ) {
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) ) {
					jQuery.data(cur, "closest", closer);
					return cur;
				}
				cur =3D cur.parentNode;
				closer++;
			}
		});
	},

	not: function( selector ) {
		if ( typeof selector =3D=3D=3D "string" )
			// test special case where just one selector is passed in
			if ( isSimple.test( selector ) )
				return this.pushStack( jQuery.multiFilter( selector, this, true ), =
"not", selector );
			else
				selector =3D jQuery.multiFilter( selector, this );

		var isArrayLike =3D selector.length && selector[selector.length - 1] =
!=3D=3D undefined && !selector.nodeType;
		return this.filter(function() {
			return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this !=3D =
selector;
		});
	},

	add: function( selector ) {
		return this.pushStack( jQuery.unique( jQuery.merge(
			this.get(),
			typeof selector =3D=3D=3D "string" ?
				jQuery( selector ) :
				jQuery.makeArray( selector )
		)));
	},

	is: function( selector ) {
		return !!selector && jQuery.multiFilter( selector, this ).length > 0;
	},

	hasClass: function( selector ) {
		return !!selector && this.is( "." + selector );
	},

	val: function( value ) {
		if ( value =3D=3D=3D undefined ) {		=09
			var elem =3D this[0];

			if ( elem ) {
				if( jQuery.nodeName( elem, 'option' ) )
					return (elem.attributes.value || {}).specified ? elem.value : =
elem.text;
			=09
				// We need to handle select boxes special
				if ( jQuery.nodeName( elem, "select" ) ) {
					var index =3D elem.selectedIndex,
						values =3D [],
						options =3D elem.options,
						one =3D elem.type =3D=3D "select-one";

					// Nothing was selected
					if ( index < 0 )
						return null;

					// Loop through all the selected options
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {
						var option =3D options[ i ];

						if ( option.selected ) {
							// Get the specifc value for the option
							value =3D jQuery(option).val();

							// We don't need an array for one selects
							if ( one )
								return value;

							// Multi-Selects return an array
							values.push( value );
						}
					}

					return values;			=09
				}

				// Everything else, we just grab the value
				return (elem.value || "").replace(/\r/g, "");

			}

			return undefined;
		}

		if ( typeof value =3D=3D=3D "number" )
			value +=3D '';

		return this.each(function(){
			if ( this.nodeType !=3D 1 )
				return;

			if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )
				this.checked =3D (jQuery.inArray(this.value, value) >=3D 0 ||
					jQuery.inArray(this.name, value) >=3D 0);

			else if ( jQuery.nodeName( this, "select" ) ) {
				var values =3D jQuery.makeArray(value);

				jQuery( "option", this ).each(function(){
					this.selected =3D (jQuery.inArray( this.value, values ) >=3D 0 ||
						jQuery.inArray( this.text, values ) >=3D 0);
				});

				if ( !values.length )
					this.selectedIndex =3D -1;

			} else
				this.value =3D value;
		});
	},

	html: function( value ) {
		return value =3D=3D=3D undefined ?
			(this[0] ?
				this[0].innerHTML.replace(/ jQuery\d+=3D"(?:\d+|null)"/g, "") :
				null) :
			this.empty().append( value );
	},

	replaceWith: function( value ) {
		return this.after( value ).remove();
	},

	eq: function( i ) {
		return this.slice( i, +i + 1 );
	},

	slice: function() {
		return this.pushStack( Array.prototype.slice.apply( this, arguments ),
			"slice", Array.prototype.slice.call(arguments).join(",") );
	},

	map: function( callback ) {
		return this.pushStack( jQuery.map(this, function(elem, i){
			return callback.call( elem, i, elem );
		}));
	},

	andSelf: function() {
		return this.add( this.prevObject );
	},

	domManip: function( args, table, callback ) {
		if ( this[0] ) {
			var fragment =3D (this[0].ownerDocument || =
this[0]).createDocumentFragment(),
				scripts =3D jQuery.clean( args, (this[0].ownerDocument || this[0]), =
fragment ),
				first =3D fragment.firstChild;

			if ( first )
				for ( var i =3D 0, l =3D this.length; i < l; i++ )
					callback.call( root(this[i], first), this.length > 1 || i > 0 ?
							fragment.cloneNode(true) : fragment );
	=09
			if ( scripts )
				jQuery.each( scripts, evalScript );
		}

		return this;
	=09
		function root( elem, cur ) {
			return table && jQuery.nodeName(elem, "table") && =
jQuery.nodeName(cur, "tr") ?
				(elem.getElementsByTagName("tbody")[0] ||
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :
				elem;
		}
	}
};

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype =3D jQuery.fn;

function evalScript( i, elem ) {
	if ( elem.src )
		jQuery.ajax({
			url: elem.src,
			async: false,
			dataType: "script"
		});

	else
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );

	if ( elem.parentNode )
		elem.parentNode.removeChild( elem );
}

function now(){
	return +new Date;
}

jQuery.extend =3D jQuery.fn.extend =3D function() {
	// copy reference to target object
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options;

	// Handle a deep copy situation
	if ( typeof target =3D=3D=3D "boolean" ) {
		deep =3D target;
		target =3D arguments[1] || {};
		// skip the boolean and the target
		i =3D 2;
	}

	// Handle case when target is a string or something (possible in deep =
copy)
	if ( typeof target !=3D=3D "object" && !jQuery.isFunction(target) )
		target =3D {};

	// extend jQuery itself if only one argument is passed
	if ( length =3D=3D i ) {
		target =3D this;
		--i;
	}

	for ( ; i < length; i++ )
		// Only deal with non-null/undefined values
		if ( (options =3D arguments[ i ]) !=3D null )
			// Extend the base object
			for ( var name in options ) {
				var src =3D target[ name ], copy =3D options[ name ];

				// Prevent never-ending loop
				if ( target =3D=3D=3D copy )
					continue;

				// Recurse if we're merging object values
				if ( deep && copy && typeof copy =3D=3D=3D "object" && =
!copy.nodeType )
					target[ name ] =3D jQuery.extend( deep,=20
						// Never move original objects, clone them
						src || ( copy.length !=3D null ? [ ] : { } )
					, copy );

				// Don't bring in undefined values
				else if ( copy !=3D=3D undefined )
					target[ name ] =3D copy;

			}

	// Return the modified object
	return target;
};

// exclude the following css properties to add px
var	exclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,
	// cache defaultView
	defaultView =3D document.defaultView || {},
	toString =3D Object.prototype.toString;

jQuery.extend({
	noConflict: function( deep ) {
		window.$ =3D _$;

		if ( deep )
			window.jQuery =3D _jQuery;

		return jQuery;
	},

	// See test/unit/core.js for details concerning isFunction.
	// Since version 1.3, DOM methods and functions like alert
	// aren't supported. They return false on IE (#2968).
	isFunction: function( obj ) {
		return toString.call(obj) =3D=3D=3D "[object Function]";
	},

	isArray: function( obj ) {
		return toString.call(obj) =3D=3D=3D "[object Array]";
	},

	// check if an element is in a (or is an) XML document
	isXMLDoc: function( elem ) {
		return elem.nodeType =3D=3D=3D 9 && elem.documentElement.nodeName =
!=3D=3D "HTML" ||
			!!elem.ownerDocument && jQuery.isXMLDoc( elem.ownerDocument );
	},

	// Evalulates a script in a global context
	globalEval: function( data ) {
		if ( data && /\S/.test(data) ) {
			// Inspired by code by Andrea Giammarchi
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,
				script =3D document.createElement("script");

			script.type =3D "text/javascript";
			if ( jQuery.support.scriptEval )
				script.appendChild( document.createTextNode( data ) );
			else
				script.text =3D data;

			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.
			// This arises when a base node is used (#2709).
			head.insertBefore( script, head.firstChild );
			head.removeChild( script );
		}
	},

	nodeName: function( elem, name ) {
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D =
name.toUpperCase();
	},

	// args is for internal usage only
	each: function( object, callback, args ) {
		var name, i =3D 0, length =3D object.length;

		if ( args ) {
			if ( length =3D=3D=3D undefined ) {
				for ( name in object )
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false )
						break;
			} else
				for ( ; i < length; )
					if ( callback.apply( object[ i++ ], args ) =3D=3D=3D false )
						break;

		// A special, fast, case for the most common use of each
		} else {
			if ( length =3D=3D=3D undefined ) {
				for ( name in object )
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false )
						break;
			} else
				for ( var value =3D object[0];
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ){}
		}

		return object;
	},

	prop: function( elem, value, type, i, name ) {
		// Handle executable functions
		if ( jQuery.isFunction( value ) )
			value =3D value.call( elem, i );

		// Handle passing in a number to a CSS property
		return typeof value =3D=3D=3D "number" && type =3D=3D "curCSS" && =
!exclude.test( name ) ?
			value + "px" :
			value;
	},

	className: {
		// internal only, use addClass("class")
		add: function( elem, classNames ) {
			jQuery.each((classNames || "").split(/\s+/), function(i, className){
				if ( elem.nodeType =3D=3D 1 && !jQuery.className.has( =
elem.className, className ) )
					elem.className +=3D (elem.className ? " " : "") + className;
			});
		},

		// internal only, use removeClass("class")
		remove: function( elem, classNames ) {
			if (elem.nodeType =3D=3D 1)
				elem.className =3D classNames !=3D=3D undefined ?
					jQuery.grep(elem.className.split(/\s+/), function(className){
						return !jQuery.className.has( classNames, className );
					}).join(" ") :
					"";
		},

		// internal only, use hasClass("class")
		has: function( elem, className ) {
			return elem && jQuery.inArray( className, (elem.className || =
elem).toString().split(/\s+/) ) > -1;
		}
	},

	// A method for quickly swapping in/out CSS properties to get correct =
calculations
	swap: function( elem, options, callback ) {
		var old =3D {};
		// Remember the old values, and insert the new ones
		for ( var name in options ) {
			old[ name ] =3D elem.style[ name ];
			elem.style[ name ] =3D options[ name ];
		}

		callback.call( elem );

		// Revert the old values
		for ( var name in options )
			elem.style[ name ] =3D old[ name ];
	},

	css: function( elem, name, force, extra ) {
		if ( name =3D=3D "width" || name =3D=3D "height" ) {
			var val, props =3D { position: "absolute", visibility: "hidden", =
display:"block" }, which =3D name =3D=3D "width" ? [ "Left", "Right" ] : =
[ "Top", "Bottom" ];

			function getWH() {
				val =3D name =3D=3D "width" ? elem.offsetWidth : elem.offsetHeight;

				if ( extra =3D=3D=3D "border" )
					return;

				jQuery.each( which, function() {
					if ( !extra )
						val -=3D parseFloat(jQuery.curCSS( elem, "padding" + this, true)) =
|| 0;
					if ( extra =3D=3D=3D "margin" )
						val +=3D parseFloat(jQuery.curCSS( elem, "margin" + this, true)) =
|| 0;
					else
						val -=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;
				});
			}

			if ( elem.offsetWidth !=3D=3D 0 )
				getWH();
			else
				jQuery.swap( elem, props, getWH );

			return Math.max(0, Math.round(val));
		}

		return jQuery.curCSS( elem, name, force );
	},

	curCSS: function( elem, name, force ) {
		var ret, style =3D elem.style;

		// We need to handle opacity special in IE
		if ( name =3D=3D "opacity" && !jQuery.support.opacity ) {
			ret =3D jQuery.attr( style, "opacity" );

			return ret =3D=3D "" ?
				"1" :
				ret;
		}

		// Make sure we're using the right name for getting the float value
		if ( name.match( /float/i ) )
			name =3D styleFloat;

		if ( !force && style && style[ name ] )
			ret =3D style[ name ];

		else if ( defaultView.getComputedStyle ) {

			// Only "float" is needed here
			if ( name.match( /float/i ) )
				name =3D "float";

			name =3D name.replace( /([A-Z])/g, "-$1" ).toLowerCase();

			var computedStyle =3D defaultView.getComputedStyle( elem, null );

			if ( computedStyle )
				ret =3D computedStyle.getPropertyValue( name );

			// We should always get a number back from opacity
			if ( name =3D=3D "opacity" && ret =3D=3D "" )
				ret =3D "1";

		} else if ( elem.currentStyle ) {
			var camelCase =3D name.replace(/\-(\w)/g, function(all, letter){
				return letter.toUpperCase();
			});

			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];

			// From the awesome hack by Dean Edwards
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291

			// If we're not dealing with a regular pixel number
			// but a number that has a weird ending, we need to convert it to =
pixels
			if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) {
				// Remember the original values
				var left =3D style.left, rsLeft =3D elem.runtimeStyle.left;

				// Put in the new values to get a computed value out
				elem.runtimeStyle.left =3D elem.currentStyle.left;
				style.left =3D ret || 0;
				ret =3D style.pixelLeft + "px";

				// Revert the changed values
				style.left =3D left;
				elem.runtimeStyle.left =3D rsLeft;
			}
		}

		return ret;
	},

	clean: function( elems, context, fragment ) {
		context =3D context || document;

		// !context.createElement fails in IE with an error but returns typeof =
'object'
		if ( typeof context.createElement =3D=3D=3D "undefined" )
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;

		// If a single string is passed in and it's a single tag
		// just do a createElement and skip the rest
		if ( !fragment && elems.length =3D=3D=3D 1 && typeof elems[0] =
=3D=3D=3D "string" ) {
			var match =3D /^<(\w+)\s*\/?>$/.exec(elems[0]);
			if ( match )
				return [ context.createElement( match[1] ) ];
		}

		var ret =3D [], scripts =3D [], div =3D context.createElement("div");

		jQuery.each(elems, function(i, elem){
			if ( typeof elem =3D=3D=3D "number" )
				elem +=3D '';

			if ( !elem )
				return;

			// Convert html string into DOM nodes
			if ( typeof elem =3D=3D=3D "string" ) {
				// Fix "XHTML"-style tags in all browsers
				elem =3D elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, =
tag){
					return =
tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ?
						all :
						front + "></" + tag + ">";
				});

				// Trim whitespace, otherwise indexOf won't work as expected
				var tags =3D elem.replace(/^\s+/, "").substring(0, =
10).toLowerCase();

				var wrap =3D
					// option or optgroup
					!tags.indexOf("<opt") &&
					[ 1, "<select multiple=3D'multiple'>", "</select>" ] ||

					!tags.indexOf("<leg") &&
					[ 1, "<fieldset>", "</fieldset>" ] ||

					tags.match(/^<(thead|tbody|tfoot|colg|cap)/) &&
					[ 1, "<table>", "</table>" ] ||

					!tags.indexOf("<tr") &&
					[ 2, "<table><tbody>", "</tbody></table>" ] ||

				 	// <thead> matched above
					(!tags.indexOf("<td") || !tags.indexOf("<th")) &&
					[ 3, "<table><tbody><tr>", "</tr></tbody></table>" ] ||

					!tags.indexOf("<col") &&
					[ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ] ||

					// IE can't serialize <link> and <script> tags normally
					!jQuery.support.htmlSerialize &&
					[ 1, "div<div>", "</div>" ] ||

					[ 0, "", "" ];

				// Go to html and back, then peel off extra wrappers
				div.innerHTML =3D wrap[1] + elem + wrap[2];

				// Move to the right depth
				while ( wrap[0]-- )
					div =3D div.lastChild;

				// Remove IE's autoinserted <tbody> from table fragments
				if ( !jQuery.support.tbody ) {

					// String was a <table>, *may* have spurious <tbody>
					var hasBody =3D /<tbody/i.test(elem),
						tbody =3D !tags.indexOf("<table") && !hasBody ?
							div.firstChild && div.firstChild.childNodes :

						// String was a bare <thead> or <tfoot>
						wrap[1] =3D=3D "<table>" && !hasBody ?
							div.childNodes :
							[];

					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j )
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length )
							tbody[ j ].parentNode.removeChild( tbody[ j ] );

					}

				// IE completely kills leading whitespace when innerHTML is used
				if ( !jQuery.support.leadingWhitespace && /^\s/.test( elem ) )
					div.insertBefore( context.createTextNode( elem.match(/^\s*/)[0] ), =
div.firstChild );
			=09
				elem =3D jQuery.makeArray( div.childNodes );
			}

			if ( elem.nodeType )
				ret.push( elem );
			else
				ret =3D jQuery.merge( ret, elem );

		});

		if ( fragment ) {
			for ( var i =3D 0; ret[i]; i++ ) {
				if ( jQuery.nodeName( ret[i], "script" ) && (!ret[i].type || =
ret[i].type.toLowerCase() =3D=3D=3D "text/javascript") ) {
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( =
ret[i] ) : ret[i] );
				} else {
					if ( ret[i].nodeType =3D=3D=3D 1 )
						ret.splice.apply( ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );
					fragment.appendChild( ret[i] );
				}
			}
		=09
			return scripts;
		}

		return ret;
	},

	attr: function( elem, name, value ) {
		// don't set attributes on text and comment nodes
		if (!elem || elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8)
			return undefined;

		var notxml =3D !jQuery.isXMLDoc( elem ),
			// Whether we are setting (or getting)
			set =3D value !=3D=3D undefined;

		// Try to normalize/fix the name
		name =3D notxml && jQuery.props[ name ] || name;

		// Only do all the following if this is a node (faster for style)
		// IE elem.getAttribute passes even for style
		if ( elem.tagName ) {

			// These attributes require special treatment
			var special =3D /href|src|style/.test( name );

			// Safari mis-reports the default selected property of a hidden =
option
			// Accessing the parent's selectedIndex property fixes it
			if ( name =3D=3D "selected" && elem.parentNode )
				elem.parentNode.selectedIndex;

			// If applicable, access the attribute via the DOM 0 way
			if ( name in elem && notxml && !special ) {
				if ( set ){
					// We can't allow the type property to be changed (since it causes =
problems in IE)
					if ( name =3D=3D "type" && jQuery.nodeName( elem, "input" ) && =
elem.parentNode )
						throw "type property can't be changed";

					elem[ name ] =3D value;
				}

				// browsers index elements by id/name on forms, give priority to =
attributes.
				if( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) )
					return elem.getAttributeNode( name ).nodeValue;

				// elem.tabIndex doesn't always return the correct value when it =
hasn't been explicitly set
				// =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/
				if ( name =3D=3D "tabIndex" ) {
					var attributeNode =3D elem.getAttributeNode( "tabIndex" );
					return attributeNode && attributeNode.specified
						? attributeNode.value
						: elem.nodeName.match(/(button|input|object|select|textarea)/i)
							? 0
							: elem.nodeName.match(/^(a|area)$/i) && elem.href
								? 0
								: undefined;
				}

				return elem[ name ];
			}

			if ( !jQuery.support.style && notxml &&  name =3D=3D "style" )
				return jQuery.attr( elem.style, "cssText", value );

			if ( set )
				// convert the value to a string (all browsers do this but IE) see =
#1070
				elem.setAttribute( name, "" + value );

			var attr =3D !jQuery.support.hrefNormalized && notxml && special
					// Some attributes require a special call on IE
					? elem.getAttribute( name, 2 )
					: elem.getAttribute( name );

			// Non-existent attributes return null, we normalize to undefined
			return attr =3D=3D=3D null ? undefined : attr;
		}

		// elem is actually elem.style ... set the style

		// IE uses filters for opacity
		if ( !jQuery.support.opacity && name =3D=3D "opacity" ) {
			if ( set ) {
				// IE has trouble with opacity if it does not have layout
				// Force it by setting the zoom level
				elem.zoom =3D 1;

				// Set the alpha filter to set the opacity
				elem.filter =3D (elem.filter || "").replace( /alpha\([^)]*\)/, "" ) =
+
					(parseInt( value ) + '' =3D=3D "NaN" ? "" : "alpha(opacity=3D" + =
value * 100 + ")");
			}

			return elem.filter && elem.filter.indexOf("opacity=3D") >=3D 0 ?
				(parseFloat( elem.filter.match(/opacity=3D([^)]*)/)[1] ) / 100) + =
'':
				"";
		}

		name =3D name.replace(/-([a-z])/ig, function(all, letter){
			return letter.toUpperCase();
		});

		if ( set )
			elem[ name ] =3D value;

		return elem[ name ];
	},

	trim: function( text ) {
		return (text || "").replace( /^\s+|\s+$/g, "" );
	},

	makeArray: function( array ) {
		var ret =3D [];

		if( array !=3D null ){
			var i =3D array.length;
			// The window, strings (and functions) also have 'length'
			if( i =3D=3D null || typeof array =3D=3D=3D "string" || =
jQuery.isFunction(array) || array.setInterval )
				ret[0] =3D array;
			else
				while( i )
					ret[--i] =3D array[i];
		}

		return ret;
	},

	inArray: function( elem, array ) {
		for ( var i =3D 0, length =3D array.length; i < length; i++ )
		// Use =3D=3D=3D because on IE, window =3D=3D document
			if ( array[ i ] =3D=3D=3D elem )
				return i;

		return -1;
	},

	merge: function( first, second ) {
		// We have to loop this way because IE & Opera overwrite the length
		// expando of getElementsByTagName
		var i =3D 0, elem, pos =3D first.length;
		// Also, we need to make sure that the correct elements are being =
returned
		// (IE returns comment nodes in a '*' query)
		if ( !jQuery.support.getAll ) {
			while ( (elem =3D second[ i++ ]) !=3D null )
				if ( elem.nodeType !=3D 8 )
					first[ pos++ ] =3D elem;

		} else
			while ( (elem =3D second[ i++ ]) !=3D null )
				first[ pos++ ] =3D elem;

		return first;
	},

	unique: function( array ) {
		var ret =3D [], done =3D {};

		try {

			for ( var i =3D 0, length =3D array.length; i < length; i++ ) {
				var id =3D jQuery.data( array[ i ] );

				if ( !done[ id ] ) {
					done[ id ] =3D true;
					ret.push( array[ i ] );
				}
			}

		} catch( e ) {
			ret =3D array;
		}

		return ret;
	},

	grep: function( elems, callback, inv ) {
		var ret =3D [];

		// Go through the array, only saving the items
		// that pass the validator function
		for ( var i =3D 0, length =3D elems.length; i < length; i++ )
			if ( !inv !=3D !callback( elems[ i ], i ) )
				ret.push( elems[ i ] );

		return ret;
	},

	map: function( elems, callback ) {
		var ret =3D [];

		// Go through the array, translating each of the items to their
		// new value (or values).
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {
			var value =3D callback( elems[ i ], i );

			if ( value !=3D null )
				ret[ ret.length ] =3D value;
		}

		return ret.concat.apply( [], ret );
	}
});

// Use of jQuery.browser is deprecated.
// It's included for backwards compatibility and plugins,
// although they should work to migrate away.

var userAgent =3D navigator.userAgent.toLowerCase();

// Figure out what browser is being used
jQuery.browser =3D {
	version: (userAgent.match( /.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/ ) || =
[0,'0'])[1],
	safari: /webkit/.test( userAgent ),
	opera: /opera/.test( userAgent ),
	msie: /msie/.test( userAgent ) && !/opera/.test( userAgent ),
	mozilla: /mozilla/.test( userAgent ) && !/(compatible|webkit)/.test( =
userAgent )
};

jQuery.each({
	parent: function(elem){return elem.parentNode;},
	parents: function(elem){return jQuery.dir(elem,"parentNode");},
	next: function(elem){return jQuery.nth(elem,2,"nextSibling");},
	prev: function(elem){return jQuery.nth(elem,2,"previousSibling");},
	nextAll: function(elem){return jQuery.dir(elem,"nextSibling");},
	prevAll: function(elem){return jQuery.dir(elem,"previousSibling");},
	siblings: function(elem){return =
jQuery.sibling(elem.parentNode.firstChild,elem);},
	children: function(elem){return jQuery.sibling(elem.firstChild);},
	contents: function(elem){return =
jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.d=
ocument:jQuery.makeArray(elem.childNodes);}
}, function(name, fn){
	jQuery.fn[ name ] =3D function( selector ) {
		var ret =3D jQuery.map( this, fn );

		if ( selector && typeof selector =3D=3D "string" )
			ret =3D jQuery.multiFilter( selector, ret );

		return this.pushStack( jQuery.unique( ret ), name, selector );
	};
});

jQuery.each({
	appendTo: "append",
	prependTo: "prepend",
	insertBefore: "before",
	insertAfter: "after",
	replaceAll: "replaceWith"
}, function(name, original){
	jQuery.fn[ name ] =3D function( selector ) {
		var ret =3D [], insert =3D jQuery( selector );

		for ( var i =3D 0, l =3D insert.length; i < l; i++ ) {
			var elems =3D (i > 0 ? this.clone(true) : this).get();
			jQuery.fn[ original ].apply( jQuery(insert[i]), elems );
			ret =3D ret.concat( elems );
		}

		return this.pushStack( ret, name, selector );
	};
});

jQuery.each({
	removeAttr: function( name ) {
		jQuery.attr( this, name, "" );
		if (this.nodeType =3D=3D 1)
			this.removeAttribute( name );
	},

	addClass: function( classNames ) {
		jQuery.className.add( this, classNames );
	},

	removeClass: function( classNames ) {
		jQuery.className.remove( this, classNames );
	},

	toggleClass: function( classNames, state ) {
		if( typeof state !=3D=3D "boolean" )
			state =3D !jQuery.className.has( this, classNames );
		jQuery.className[ state ? "add" : "remove" ]( this, classNames );
	},

	remove: function( selector ) {
		if ( !selector || jQuery.filter( selector, [ this ] ).length ) {
			// Prevent memory leaks
			jQuery( "*", this ).add([this]).each(function(){
				jQuery.event.remove(this);
				jQuery.removeData(this);
			});
			if (this.parentNode)
				this.parentNode.removeChild( this );
		}
	},

	empty: function() {
		// Remove element nodes and prevent memory leaks
		jQuery(this).children().remove();

		// Remove any remaining nodes
		while ( this.firstChild )
			this.removeChild( this.firstChild );
	}
}, function(name, fn){
	jQuery.fn[ name ] =3D function(){
		return this.each( fn, arguments );
	};
});

// Helper function used by the dimensions and offset modules
function num(elem, prop) {
	return elem[0] && parseInt( jQuery.curCSS(elem[0], prop, true), 10 ) || =
0;
}
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};

jQuery.extend({
	cache: {},

	data: function( elem, name, data ) {
		elem =3D elem =3D=3D window ?
			windowData :
			elem;

		var id =3D elem[ expando ];

		// Compute a unique ID for the element
		if ( !id )
			id =3D elem[ expando ] =3D ++uuid;

		// Only generate the data cache if we're
		// trying to access or manipulate it
		if ( name && !jQuery.cache[ id ] )
			jQuery.cache[ id ] =3D {};

		// Prevent overriding the named cache with undefined values
		if ( data !=3D=3D undefined )
			jQuery.cache[ id ][ name ] =3D data;

		// Return the named cache data, or the ID for the element
		return name ?
			jQuery.cache[ id ][ name ] :
			id;
	},

	removeData: function( elem, name ) {
		elem =3D elem =3D=3D window ?
			windowData :
			elem;

		var id =3D elem[ expando ];

		// If we want to remove a specific section of the element's data
		if ( name ) {
			if ( jQuery.cache[ id ] ) {
				// Remove the section of cache data
				delete jQuery.cache[ id ][ name ];

				// If we've removed all the data, remove the element's cache
				name =3D "";

				for ( name in jQuery.cache[ id ] )
					break;

				if ( !name )
					jQuery.removeData( elem );
			}

		// Otherwise, we want to remove all of the element's data
		} else {
			// Clean up the element expando
			try {
				delete elem[ expando ];
			} catch(e){
				// IE has trouble directly removing the expando
				// but it's ok with using removeAttribute
				if ( elem.removeAttribute )
					elem.removeAttribute( expando );
			}

			// Completely remove the data cache
			delete jQuery.cache[ id ];
		}
	},
	queue: function( elem, type, data ) {
		if ( elem ){
=09
			type =3D (type || "fx") + "queue";
=09
			var q =3D jQuery.data( elem, type );
=09
			if ( !q || jQuery.isArray(data) )
				q =3D jQuery.data( elem, type, jQuery.makeArray(data) );
			else if( data )
				q.push( data );
=09
		}
		return q;
	},

	dequeue: function( elem, type ){
		var queue =3D jQuery.queue( elem, type ),
			fn =3D queue.shift();
	=09
		if( !type || type =3D=3D=3D "fx" )
			fn =3D queue[0];
		=09
		if( fn !=3D=3D undefined )
			fn.call(elem);
	}
});

jQuery.fn.extend({
	data: function( key, value ){
		var parts =3D key.split(".");
		parts[1] =3D parts[1] ? "." + parts[1] : "";

		if ( value =3D=3D=3D undefined ) {
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);

			if ( data =3D=3D=3D undefined && this.length )
				data =3D jQuery.data( this[0], key );

			return data =3D=3D=3D undefined && parts[1] ?
				this.data( parts[0] ) :
				data;
		} else
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function(){
				jQuery.data( this, key, value );
			});
	},

	removeData: function( key ){
		return this.each(function(){
			jQuery.removeData( this, key );
		});
	},
	queue: function(type, data){
		if ( typeof type !=3D=3D "string" ) {
			data =3D type;
			type =3D "fx";
		}

		if ( data =3D=3D=3D undefined )
			return jQuery.queue( this[0], type );

		return this.each(function(){
			var queue =3D jQuery.queue( this, type, data );
		=09
			 if( type =3D=3D "fx" && queue.length =3D=3D 1 )
				queue[0].call(this);
		});
	},
	dequeue: function(type){
		return this.each(function(){
			jQuery.dequeue( this, type );
		});
	}
});/*!
 * Sizzle CSS Selector Engine - v0.9.3
 *  Copyright 2009, The Dojo Foundation
 *  Released under the MIT, BSD, and GPL Licenses.
 *  More information: http://sizzlejs.com/
 */
(function(){

var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?/g,
	done =3D 0,
	toString =3D Object.prototype.toString;

var Sizzle =3D function(selector, context, results, seed) {
	results =3D results || [];
	context =3D context || document;

	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 )
		return [];
=09
	if ( !selector || typeof selector !=3D=3D "string" ) {
		return results;
	}

	var parts =3D [], m, set, checkSet, check, mode, extra, prune =3D true;
=09
	// Reset the position of the chunker regexp (start from head)
	chunker.lastIndex =3D 0;
=09
	while ( (m =3D chunker.exec(selector)) !=3D=3D null ) {
		parts.push( m[1] );
	=09
		if ( m[2] ) {
			extra =3D RegExp.rightContext;
			break;
		}
	}

	if ( parts.length > 1 && origPOS.exec( selector ) ) {
		if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {
			set =3D posProcess( parts[0] + parts[1], context );
		} else {
			set =3D Expr.relative[ parts[0] ] ?
				[ context ] :
				Sizzle( parts.shift(), context );

			while ( parts.length ) {
				selector =3D parts.shift();

				if ( Expr.relative[ selector ] )
					selector +=3D parts.shift();

				set =3D posProcess( selector, set );
			}
		}
	} else {
		var ret =3D seed ?
			{ expr: parts.pop(), set: makeArray(seed) } :
			Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && =
context.parentNode ? context.parentNode : context, isXML(context) );
		set =3D Sizzle.filter( ret.expr, ret.set );

		if ( parts.length > 0 ) {
			checkSet =3D makeArray(set);
		} else {
			prune =3D false;
		}

		while ( parts.length ) {
			var cur =3D parts.pop(), pop =3D cur;

			if ( !Expr.relative[ cur ] ) {
				cur =3D "";
			} else {
				pop =3D parts.pop();
			}

			if ( pop =3D=3D null ) {
				pop =3D context;
			}

			Expr.relative[ cur ]( checkSet, pop, isXML(context) );
		}
	}

	if ( !checkSet ) {
		checkSet =3D set;
	}

	if ( !checkSet ) {
		throw "Syntax error, unrecognized expression: " + (cur || selector);
	}

	if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {
		if ( !prune ) {
			results.push.apply( results, checkSet );
		} else if ( context.nodeType =3D=3D=3D 1 ) {
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {
				if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || =
checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {
					results.push( set[i] );
				}
			}
		} else {
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {
				if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {
					results.push( set[i] );
				}
			}
		}
	} else {
		makeArray( checkSet, results );
	}

	if ( extra ) {
		Sizzle( extra, context, results, seed );

		if ( sortOrder ) {
			hasDuplicate =3D false;
			results.sort(sortOrder);

			if ( hasDuplicate ) {
				for ( var i =3D 1; i < results.length; i++ ) {
					if ( results[i] =3D=3D=3D results[i-1] ) {
						results.splice(i--, 1);
					}
				}
			}
		}
	}

	return results;
};

Sizzle.matches =3D function(expr, set){
	return Sizzle(expr, null, null, set);
};

Sizzle.find =3D function(expr, context, isXML){
	var set, match;

	if ( !expr ) {
		return [];
	}

	for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {
		var type =3D Expr.order[i], match;
	=09
		if ( (match =3D Expr.match[ type ].exec( expr )) ) {
			var left =3D RegExp.leftContext;

			if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {
				match[1] =3D (match[1] || "").replace(/\\/g, "");
				set =3D Expr.find[ type ]( match, context, isXML );
				if ( set !=3D null ) {
					expr =3D expr.replace( Expr.match[ type ], "" );
					break;
				}
			}
		}
	}

	if ( !set ) {
		set =3D context.getElementsByTagName("*");
	}

	return {set: set, expr: expr};
};

Sizzle.filter =3D function(expr, set, inplace, not){
	var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,
		isXMLFilter =3D set && set[0] && isXML(set[0]);

	while ( expr && set.length ) {
		for ( var type in Expr.filter ) {
			if ( (match =3D Expr.match[ type ].exec( expr )) !=3D null ) {
				var filter =3D Expr.filter[ type ], found, item;
				anyFound =3D false;

				if ( curLoop =3D=3D result ) {
					result =3D [];
				}

				if ( Expr.preFilter[ type ] ) {
					match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, =
not, isXMLFilter );

					if ( !match ) {
						anyFound =3D found =3D true;
					} else if ( match =3D=3D=3D true ) {
						continue;
					}
				}

				if ( match ) {
					for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {
						if ( item ) {
							found =3D filter( item, match, i, curLoop );
							var pass =3D not ^ !!found;

							if ( inplace && found !=3D null ) {
								if ( pass ) {
									anyFound =3D true;
								} else {
									curLoop[i] =3D false;
								}
							} else if ( pass ) {
								result.push( item );
								anyFound =3D true;
							}
						}
					}
				}

				if ( found !=3D=3D undefined ) {
					if ( !inplace ) {
						curLoop =3D result;
					}

					expr =3D expr.replace( Expr.match[ type ], "" );

					if ( !anyFound ) {
						return [];
					}

					break;
				}
			}
		}

		// Improper expression
		if ( expr =3D=3D old ) {
			if ( anyFound =3D=3D null ) {
				throw "Syntax error, unrecognized expression: " + expr;
			} else {
				break;
			}
		}

		old =3D expr;
	}

	return curLoop;
};

var Expr =3D Sizzle.selectors =3D {
	order: [ "ID", "NAME", "TAG" ],
	match: {
		ID: /#((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
		CLASS: /\.((?:[\w\u00c0-\uFFFF_-]|\\.)+)/,
		NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF_-]|\\.)+)['"]*\]/,
		ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF_-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\=
]/,
		TAG: /^((?:[\w\u00c0-\uFFFF\*_-]|\\.)+)/,
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,
		PSEUDO: =
/:((?:[\w\u00c0-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\=
2\))?/
	},
	attrMap: {
		"class": "className",
		"for": "htmlFor"
	},
	attrHandle: {
		href: function(elem){
			return elem.getAttribute("href");
		}
	},
	relative: {
		"+": function(checkSet, part, isXML){
			var isPartStr =3D typeof part =3D=3D=3D "string",
				isTag =3D isPartStr && !/\W/.test(part),
				isPartStrNotTag =3D isPartStr && !isTag;

			if ( isTag && !isXML ) {
				part =3D part.toUpperCase();
			}

			for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {
				if ( (elem =3D checkSet[i]) ) {
					while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 =
) {}

					checkSet[i] =3D isPartStrNotTag || elem && elem.nodeName =3D=3D=3D =
part ?
						elem || false :
						elem =3D=3D=3D part;
				}
			}

			if ( isPartStrNotTag ) {
				Sizzle.filter( part, checkSet, true );
			}
		},
		">": function(checkSet, part, isXML){
			var isPartStr =3D typeof part =3D=3D=3D "string";

			if ( isPartStr && !/\W/.test(part) ) {
				part =3D isXML ? part : part.toUpperCase();

				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
					var elem =3D checkSet[i];
					if ( elem ) {
						var parent =3D elem.parentNode;
						checkSet[i] =3D parent.nodeName =3D=3D=3D part ? parent : false;
					}
				}
			} else {
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
					var elem =3D checkSet[i];
					if ( elem ) {
						checkSet[i] =3D isPartStr ?
							elem.parentNode :
							elem.parentNode =3D=3D=3D part;
					}
				}

				if ( isPartStr ) {
					Sizzle.filter( part, checkSet, true );
				}
			}
		},
		"": function(checkSet, part, isXML){
			var doneName =3D done++, checkFn =3D dirCheck;

			if ( !part.match(/\W/) ) {
				var nodeCheck =3D part =3D isXML ? part : part.toUpperCase();
				checkFn =3D dirNodeCheck;
			}

			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);
		},
		"~": function(checkSet, part, isXML){
			var doneName =3D done++, checkFn =3D dirCheck;

			if ( typeof part =3D=3D=3D "string" && !part.match(/\W/) ) {
				var nodeCheck =3D part =3D isXML ? part : part.toUpperCase();
				checkFn =3D dirNodeCheck;
			}

			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, =
isXML);
		}
	},
	find: {
		ID: function(match, context, isXML){
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {
				var m =3D context.getElementById(match[1]);
				return m ? [m] : [];
			}
		},
		NAME: function(match, context, isXML){
			if ( typeof context.getElementsByName !=3D=3D "undefined" ) {
				var ret =3D [], results =3D context.getElementsByName(match[1]);

				for ( var i =3D 0, l =3D results.length; i < l; i++ ) {
					if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {
						ret.push( results[i] );
					}
				}

				return ret.length =3D=3D=3D 0 ? null : ret;
			}
		},
		TAG: function(match, context){
			return context.getElementsByTagName(match[1]);
		}
	},
	preFilter: {
		CLASS: function(match, curLoop, inplace, result, not, isXML){
			match =3D " " + match[1].replace(/\\/g, "") + " ";

			if ( isXML ) {
				return match;
			}

			for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {
				if ( elem ) {
					if ( not ^ (elem.className && (" " + elem.className + " =
").indexOf(match) >=3D 0) ) {
						if ( !inplace )
							result.push( elem );
					} else if ( inplace ) {
						curLoop[i] =3D false;
					}
				}
			}

			return false;
		},
		ID: function(match){
			return match[1].replace(/\\/g, "");
		},
		TAG: function(match, curLoop){
			for ( var i =3D 0; curLoop[i] =3D=3D=3D false; i++ ){}
			return curLoop[i] && isXML(curLoop[i]) ? match[1] : =
match[1].toUpperCase();
		},
		CHILD: function(match){
			if ( match[1] =3D=3D "nth" ) {
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'
				var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(
					match[2] =3D=3D "even" && "2n" || match[2] =3D=3D "odd" && "2n+1" =
||
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);

				// calculate the numbers (first)n+(last) including if they are =
negative
				match[2] =3D (test[1] + (test[2] || 1)) - 0;
				match[3] =3D test[3] - 0;
			}

			// TODO: Move to normal caching system
			match[0] =3D done++;

			return match;
		},
		ATTR: function(match, curLoop, inplace, result, not, isXML){
			var name =3D match[1].replace(/\\/g, "");
		=09
			if ( !isXML && Expr.attrMap[name] ) {
				match[1] =3D Expr.attrMap[name];
			}

			if ( match[2] =3D=3D=3D "~=3D" ) {
				match[4] =3D " " + match[4] + " ";
			}

			return match;
		},
		PSEUDO: function(match, curLoop, inplace, result, not){
			if ( match[1] =3D=3D=3D "not" ) {
				// If we're dealing with a complex expression, or a simple one
				if ( match[3].match(chunker).length > 1 || /^\w/.test(match[3]) ) {
					match[3] =3D Sizzle(match[3], null, null, curLoop);
				} else {
					var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);
					if ( !inplace ) {
						result.push.apply( result, ret );
					}
					return false;
				}
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( =
match[0] ) ) {
				return true;
			}
		=09
			return match;
		},
		POS: function(match){
			match.unshift( true );
			return match;
		}
	},
	filters: {
		enabled: function(elem){
			return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";
		},
		disabled: function(elem){
			return elem.disabled =3D=3D=3D true;
		},
		checked: function(elem){
			return elem.checked =3D=3D=3D true;
		},
		selected: function(elem){
			// Accessing this property makes selected-by-default
			// options in Safari work properly
			elem.parentNode.selectedIndex;
			return elem.selected =3D=3D=3D true;
		},
		parent: function(elem){
			return !!elem.firstChild;
		},
		empty: function(elem){
			return !elem.firstChild;
		},
		has: function(elem, i, match){
			return !!Sizzle( match[3], elem ).length;
		},
		header: function(elem){
			return /h\d/i.test( elem.nodeName );
		},
		text: function(elem){
			return "text" =3D=3D=3D elem.type;
		},
		radio: function(elem){
			return "radio" =3D=3D=3D elem.type;
		},
		checkbox: function(elem){
			return "checkbox" =3D=3D=3D elem.type;
		},
		file: function(elem){
			return "file" =3D=3D=3D elem.type;
		},
		password: function(elem){
			return "password" =3D=3D=3D elem.type;
		},
		submit: function(elem){
			return "submit" =3D=3D=3D elem.type;
		},
		image: function(elem){
			return "image" =3D=3D=3D elem.type;
		},
		reset: function(elem){
			return "reset" =3D=3D=3D elem.type;
		},
		button: function(elem){
			return "button" =3D=3D=3D elem.type || elem.nodeName.toUpperCase() =
=3D=3D=3D "BUTTON";
		},
		input: function(elem){
			return /input|select|textarea|button/i.test(elem.nodeName);
		}
	},
	setFilters: {
		first: function(elem, i){
			return i =3D=3D=3D 0;
		},
		last: function(elem, i, match, array){
			return i =3D=3D=3D array.length - 1;
		},
		even: function(elem, i){
			return i % 2 =3D=3D=3D 0;
		},
		odd: function(elem, i){
			return i % 2 =3D=3D=3D 1;
		},
		lt: function(elem, i, match){
			return i < match[3] - 0;
		},
		gt: function(elem, i, match){
			return i > match[3] - 0;
		},
		nth: function(elem, i, match){
			return match[3] - 0 =3D=3D i;
		},
		eq: function(elem, i, match){
			return match[3] - 0 =3D=3D i;
		}
	},
	filter: {
		PSEUDO: function(elem, match, i, array){
			var name =3D match[1], filter =3D Expr.filters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			} else if ( name =3D=3D=3D "contains" ) {
				return (elem.textContent || elem.innerText || "").indexOf(match[3]) =
>=3D 0;
			} else if ( name =3D=3D=3D "not" ) {
				var not =3D match[3];

				for ( var i =3D 0, l =3D not.length; i < l; i++ ) {
					if ( not[i] =3D=3D=3D elem ) {
						return false;
					}
				}

				return true;
			}
		},
		CHILD: function(elem, match){
			var type =3D match[1], node =3D elem;
			switch (type) {
				case 'only':
				case 'first':
					while (node =3D node.previousSibling)  {
						if ( node.nodeType =3D=3D=3D 1 ) return false;
					}
					if ( type =3D=3D 'first') return true;
					node =3D elem;
				case 'last':
					while (node =3D node.nextSibling)  {
						if ( node.nodeType =3D=3D=3D 1 ) return false;
					}
					return true;
				case 'nth':
					var first =3D match[2], last =3D match[3];

					if ( first =3D=3D 1 && last =3D=3D 0 ) {
						return true;
					}
				=09
					var doneName =3D match[0],
						parent =3D elem.parentNode;
=09
					if ( parent && (parent.sizcache !=3D=3D doneName || =
!elem.nodeIndex) ) {
						var count =3D 0;
						for ( node =3D parent.firstChild; node; node =3D node.nextSibling =
) {
							if ( node.nodeType =3D=3D=3D 1 ) {
								node.nodeIndex =3D ++count;
							}
						}=20
						parent.sizcache =3D doneName;
					}
				=09
					var diff =3D elem.nodeIndex - last;
					if ( first =3D=3D 0 ) {
						return diff =3D=3D 0;
					} else {
						return ( diff % first =3D=3D 0 && diff / first >=3D 0 );
					}
			}
		},
		ID: function(elem, match){
			return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D =
match;
		},
		TAG: function(elem, match){
			return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || =
elem.nodeName =3D=3D=3D match;
		},
		CLASS: function(elem, match){
			return (" " + (elem.className || elem.getAttribute("class")) + " ")
				.indexOf( match ) > -1;
		},
		ATTR: function(elem, match){
			var name =3D match[1],
				result =3D Expr.attrHandle[ name ] ?
					Expr.attrHandle[ name ]( elem ) :
					elem[ name ] !=3D null ?
						elem[ name ] :
						elem.getAttribute( name ),
				value =3D result + "",
				type =3D match[2],
				check =3D match[4];

			return result =3D=3D null ?
				type =3D=3D=3D "!=3D" :
				type =3D=3D=3D "=3D" ?
				value =3D=3D=3D check :
				type =3D=3D=3D "*=3D" ?
				value.indexOf(check) >=3D 0 :
				type =3D=3D=3D "~=3D" ?
				(" " + value + " ").indexOf(check) >=3D 0 :
				!check ?
				value && result !=3D=3D false :
				type =3D=3D=3D "!=3D" ?
				value !=3D check :
				type =3D=3D=3D "^=3D" ?
				value.indexOf(check) =3D=3D=3D 0 :
				type =3D=3D=3D "$=3D" ?
				value.substr(value.length - check.length) =3D=3D=3D check :
				type =3D=3D=3D "|=3D" ?
				value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D =
check + "-" :
				false;
		},
		POS: function(elem, match, i, array){
			var name =3D match[2], filter =3D Expr.setFilters[ name ];

			if ( filter ) {
				return filter( elem, i, match, array );
			}
		}
	}
};

var origPOS =3D Expr.match.POS;

for ( var type in Expr.match ) {
	Expr.match[ type ] =3D RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );
}

var makeArray =3D function(array, results) {
	array =3D Array.prototype.slice.call( array );

	if ( results ) {
		results.push.apply( results, array );
		return results;
	}
=09
	return array;
};

// Perform a simple check to determine if the browser is capable of
// converting a NodeList to an array using builtin methods.
try {
	Array.prototype.slice.call( document.documentElement.childNodes );

// Provide a fallback method if it does not work
} catch(e){
	makeArray =3D function(array, results) {
		var ret =3D results || [];

		if ( toString.call(array) =3D=3D=3D "[object Array]" ) {
			Array.prototype.push.apply( ret, array );
		} else {
			if ( typeof array.length =3D=3D=3D "number" ) {
				for ( var i =3D 0, l =3D array.length; i < l; i++ ) {
					ret.push( array[i] );
				}
			} else {
				for ( var i =3D 0; array[i]; i++ ) {
					ret.push( array[i] );
				}
			}
		}

		return ret;
	};
}

var sortOrder;

if ( document.documentElement.compareDocumentPosition ) {
	sortOrder =3D function( a, b ) {
		var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 =
: 1;
		if ( ret =3D=3D=3D 0 ) {
			hasDuplicate =3D true;
		}
		return ret;
	};
} else if ( "sourceIndex" in document.documentElement ) {
	sortOrder =3D function( a, b ) {
		var ret =3D a.sourceIndex - b.sourceIndex;
		if ( ret =3D=3D=3D 0 ) {
			hasDuplicate =3D true;
		}
		return ret;
	};
} else if ( document.createRange ) {
	sortOrder =3D function( a, b ) {
		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();
		aRange.selectNode(a);
		aRange.collapse(true);
		bRange.selectNode(b);
		bRange.collapse(true);
		var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);
		if ( ret =3D=3D=3D 0 ) {
			hasDuplicate =3D true;
		}
		return ret;
	};
}

// Check to see if the browser returns elements by name when
// querying by getElementById (and provide a workaround)
(function(){
	// We're going to inject a fake input element with a specified name
	var form =3D document.createElement("form"),
		id =3D "script" + (new Date).getTime();
	form.innerHTML =3D "<input name=3D'" + id + "'/>";

	// Inject it into the root element, check its status, and remove it =
quickly
	var root =3D document.documentElement;
	root.insertBefore( form, root.firstChild );

	// The workaround has to do additional checks after a getElementById
	// Which slows things down for other browsers (hence the branching)
	if ( !!document.getElementById( id ) ) {
		Expr.find.ID =3D function(match, context, isXML){
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {
				var m =3D context.getElementById(match[1]);
				return m ? m.id =3D=3D=3D match[1] || typeof m.getAttributeNode =
!=3D=3D "undefined" && m.getAttributeNode("id").nodeValue =3D=3D=3D =
match[1] ? [m] : undefined : [];
			}
		};

		Expr.filter.ID =3D function(elem, match){
			var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && =
elem.getAttributeNode("id");
			return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D =
match;
		};
	}

	root.removeChild( form );
})();

(function(){
	// Check to see if the browser returns only elements
	// when doing getElementsByTagName("*")

	// Create a fake element
	var div =3D document.createElement("div");
	div.appendChild( document.createComment("") );

	// Make sure no comments are found
	if ( div.getElementsByTagName("*").length > 0 ) {
		Expr.find.TAG =3D function(match, context){
			var results =3D context.getElementsByTagName(match[1]);

			// Filter out possible comments
			if ( match[1] =3D=3D=3D "*" ) {
				var tmp =3D [];

				for ( var i =3D 0; results[i]; i++ ) {
					if ( results[i].nodeType =3D=3D=3D 1 ) {
						tmp.push( results[i] );
					}
				}

				results =3D tmp;
			}

			return results;
		};
	}

	// Check to see if an attribute returns normalized href attributes
	div.innerHTML =3D "<a href=3D'#'></a>";
	if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D =
"undefined" &&
			div.firstChild.getAttribute("href") !=3D=3D "#" ) {
		Expr.attrHandle.href =3D function(elem){
			return elem.getAttribute("href", 2);
		};
	}
})();

if ( document.querySelectorAll ) (function(){
	var oldSizzle =3D Sizzle, div =3D document.createElement("div");
	div.innerHTML =3D "<p class=3D'TEST'></p>";

	// Safari can't handle uppercase or unicode characters when
	// in quirks mode.
	if ( div.querySelectorAll && div.querySelectorAll(".TEST").length =
=3D=3D=3D 0 ) {
		return;
	}
=09
	Sizzle =3D function(query, context, extra, seed){
		context =3D context || document;

		// Only use querySelectorAll on non-XML documents
		// (ID selectors don't work in non-HTML documents)
		if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {
			try {
				return makeArray( context.querySelectorAll(query), extra );
			} catch(e){}
		}
	=09
		return oldSizzle(query, context, extra, seed);
	};

	Sizzle.find =3D oldSizzle.find;
	Sizzle.filter =3D oldSizzle.filter;
	Sizzle.selectors =3D oldSizzle.selectors;
	Sizzle.matches =3D oldSizzle.matches;
})();

if ( document.getElementsByClassName && =
document.documentElement.getElementsByClassName ) (function(){
	var div =3D document.createElement("div");
	div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";

	// Opera can't find a second classname (in 9.6)
	if ( div.getElementsByClassName("e").length =3D=3D=3D 0 )
		return;

	// Safari caches class attributes, doesn't catch changes (in 3.2)
	div.lastChild.className =3D "e";

	if ( div.getElementsByClassName("e").length =3D=3D=3D 1 )
		return;

	Expr.order.splice(1, 0, "CLASS");
	Expr.find.CLASS =3D function(match, context, isXML) {
		if ( typeof context.getElementsByClassName !=3D=3D "undefined" && =
!isXML ) {
			return context.getElementsByClassName(match[1]);
		}
	};
})();

function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) =
{
	var sibDir =3D dir =3D=3D "previousSibling" && !isXML;
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
		var elem =3D checkSet[i];
		if ( elem ) {
			if ( sibDir && elem.nodeType =3D=3D=3D 1 ){
				elem.sizcache =3D doneName;
				elem.sizset =3D i;
			}
			elem =3D elem[dir];
			var match =3D false;

			while ( elem ) {
				if ( elem.sizcache =3D=3D=3D doneName ) {
					match =3D checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType =3D=3D=3D 1 && !isXML ){
					elem.sizcache =3D doneName;
					elem.sizset =3D i;
				}

				if ( elem.nodeName =3D=3D=3D cur ) {
					match =3D elem;
					break;
				}

				elem =3D elem[dir];
			}

			checkSet[i] =3D match;
		}
	}
}

function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {
	var sibDir =3D dir =3D=3D "previousSibling" && !isXML;
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {
		var elem =3D checkSet[i];
		if ( elem ) {
			if ( sibDir && elem.nodeType =3D=3D=3D 1 ) {
				elem.sizcache =3D doneName;
				elem.sizset =3D i;
			}
			elem =3D elem[dir];
			var match =3D false;

			while ( elem ) {
				if ( elem.sizcache =3D=3D=3D doneName ) {
					match =3D checkSet[elem.sizset];
					break;
				}

				if ( elem.nodeType =3D=3D=3D 1 ) {
					if ( !isXML ) {
						elem.sizcache =3D doneName;
						elem.sizset =3D i;
					}
					if ( typeof cur !=3D=3D "string" ) {
						if ( elem =3D=3D=3D cur ) {
							match =3D true;
							break;
						}

					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {
						match =3D elem;
						break;
					}
				}

				elem =3D elem[dir];
			}

			checkSet[i] =3D match;
		}
	}
}

var contains =3D document.compareDocumentPosition ?  function(a, b){
	return a.compareDocumentPosition(b) & 16;
} : function(a, b){
	return a !=3D=3D b && (a.contains ? a.contains(b) : true);
};

var isXML =3D function(elem){
	return elem.nodeType =3D=3D=3D 9 && elem.documentElement.nodeName =
!=3D=3D "HTML" ||
		!!elem.ownerDocument && isXML( elem.ownerDocument );
};

var posProcess =3D function(selector, context){
	var tmpSet =3D [], later =3D "", match,
		root =3D context.nodeType ? [context] : context;

	// Position selectors must be done after the filter
	// And so must :not(positional) so we move all PSEUDOs to the end
	while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {
		later +=3D match[0];
		selector =3D selector.replace( Expr.match.PSEUDO, "" );
	}

	selector =3D Expr.relative[selector] ? selector + "*" : selector;

	for ( var i =3D 0, l =3D root.length; i < l; i++ ) {
		Sizzle( selector, root[i], tmpSet );
	}

	return Sizzle.filter( later, tmpSet );
};

// EXPOSE
jQuery.find =3D Sizzle;
jQuery.filter =3D Sizzle.filter;
jQuery.expr =3D Sizzle.selectors;
jQuery.expr[":"] =3D jQuery.expr.filters;

Sizzle.selectors.filters.hidden =3D function(elem){
	return elem.offsetWidth =3D=3D=3D 0 || elem.offsetHeight =3D=3D=3D 0;
};

Sizzle.selectors.filters.visible =3D function(elem){
	return elem.offsetWidth > 0 || elem.offsetHeight > 0;
};

Sizzle.selectors.filters.animated =3D function(elem){
	return jQuery.grep(jQuery.timers, function(fn){
		return elem =3D=3D=3D fn.elem;
	}).length;
};

jQuery.multiFilter =3D function( expr, elems, not ) {
	if ( not ) {
		expr =3D ":not(" + expr + ")";
	}

	return Sizzle.matches(expr, elems);
};

jQuery.dir =3D function( elem, dir ){
	var matched =3D [], cur =3D elem[dir];
	while ( cur && cur !=3D document ) {
		if ( cur.nodeType =3D=3D 1 )
			matched.push( cur );
		cur =3D cur[dir];
	}
	return matched;
};

jQuery.nth =3D function(cur, result, dir, elem){
	result =3D result || 1;
	var num =3D 0;

	for ( ; cur; cur =3D cur[dir] )
		if ( cur.nodeType =3D=3D 1 && ++num =3D=3D result )
			break;

	return cur;
};

jQuery.sibling =3D function(n, elem){
	var r =3D [];

	for ( ; n; n =3D n.nextSibling ) {
		if ( n.nodeType =3D=3D 1 && n !=3D elem )
			r.push( n );
	}

	return r;
};

return;

window.Sizzle =3D Sizzle;

})();
/*
 * A number of helper functions used for managing events.
 * Many of the ideas behind this code originated from
 * Dean Edwards' addEvent library.
 */
jQuery.event =3D {

	// Bind an event to an element
	// Original by Dean Edwards
	add: function(elem, types, handler, data) {
		if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )
			return;

		// For whatever reason, IE has trouble passing the window object
		// around, causing it to be cloned in the process
		if ( elem.setInterval && elem !=3D window )
			elem =3D window;

		// Make sure that the function being executed has a unique ID
		if ( !handler.guid )
			handler.guid =3D this.guid++;

		// if data is passed, bind to handler
		if ( data !=3D=3D undefined ) {
			// Create temporary function pointer to original handler
			var fn =3D handler;

			// Create unique handler function, wrapped around original handler
			handler =3D this.proxy( fn );

			// Store data in unique handler
			handler.data =3D data;
		}

		// Init the element's event structure
		var events =3D jQuery.data(elem, "events") || jQuery.data(elem, =
"events", {}),
			handle =3D jQuery.data(elem, "handle") || jQuery.data(elem, "handle", =
function(){
				// Handle the second event of a trigger and when
				// an event is called after a page has unloaded
				return typeof jQuery !=3D=3D "undefined" && !jQuery.event.triggered =
?
					jQuery.event.handle.apply(arguments.callee.elem, arguments) :
					undefined;
			});
		// Add elem as a property of the handle function
		// This is to prevent a memory leak with non-native
		// event in IE.
		handle.elem =3D elem;

		// Handle multiple events separated by a space
		// jQuery(...).bind("mouseover mouseout", fn);
		jQuery.each(types.split(/\s+/), function(index, type) {
			// Namespaced event handlers
			var namespaces =3D type.split(".");
			type =3D namespaces.shift();
			handler.type =3D namespaces.slice().sort().join(".");

			// Get the current list of functions bound to this event
			var handlers =3D events[type];
		=09
			if ( jQuery.event.specialAll[type] )
				jQuery.event.specialAll[type].setup.call(elem, data, namespaces);

			// Init the event handler queue
			if (!handlers) {
				handlers =3D events[type] =3D {};

				// Check for a special event handler
				// Only use addEventListener/attachEvent if the special
				// events handler returns false
				if ( !jQuery.event.special[type] || =
jQuery.event.special[type].setup.call(elem, data, namespaces) =3D=3D=3D =
false ) {
					// Bind the global event handler to the element
					if (elem.addEventListener)
						elem.addEventListener(type, handle, false);
					else if (elem.attachEvent)
						elem.attachEvent("on" + type, handle);
				}
			}

			// Add the function to the element's handler list
			handlers[handler.guid] =3D handler;

			// Keep track of which events have been used, for global triggering
			jQuery.event.global[type] =3D true;
		});

		// Nullify elem to prevent memory leaks in IE
		elem =3D null;
	},

	guid: 1,
	global: {},

	// Detach an event or set of events from an element
	remove: function(elem, types, handler) {
		// don't do events on text and comment nodes
		if ( elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )
			return;

		var events =3D jQuery.data(elem, "events"), ret, index;

		if ( events ) {
			// Unbind all events for the element
			if ( types =3D=3D=3D undefined || (typeof types =3D=3D=3D "string" && =
types.charAt(0) =3D=3D ".") )
				for ( var type in events )
					this.remove( elem, type + (types || "") );
			else {
				// types is actually an event object here
				if ( types.type ) {
					handler =3D types.handler;
					types =3D types.type;
				}

				// Handle multiple events seperated by a space
				// jQuery(...).unbind("mouseover mouseout", fn);
				jQuery.each(types.split(/\s+/), function(index, type){
					// Namespaced event handlers
					var namespaces =3D type.split(".");
					type =3D namespaces.shift();
					var namespace =3D RegExp("(^|\\.)" + =
namespaces.slice().sort().join(".*\\.") + "(\\.|$)");

					if ( events[type] ) {
						// remove the given handler for the given type
						if ( handler )
							delete events[type][handler.guid];

						// remove all handlers for the given type
						else
							for ( var handle in events[type] )
								// Handle the removal of namespaced events
								if ( namespace.test(events[type][handle].type) )
									delete events[type][handle];
								=09
						if ( jQuery.event.specialAll[type] )
							jQuery.event.specialAll[type].teardown.call(elem, namespaces);

						// remove generic event handler if no more handlers exist
						for ( ret in events[type] ) break;
						if ( !ret ) {
							if ( !jQuery.event.special[type] || =
jQuery.event.special[type].teardown.call(elem, namespaces) =3D=3D=3D =
false ) {
								if (elem.removeEventListener)
									elem.removeEventListener(type, jQuery.data(elem, "handle"), =
false);
								else if (elem.detachEvent)
									elem.detachEvent("on" + type, jQuery.data(elem, "handle"));
							}
							ret =3D null;
							delete events[type];
						}
					}
				});
			}

			// Remove the expando if it's no longer used
			for ( ret in events ) break;
			if ( !ret ) {
				var handle =3D jQuery.data( elem, "handle" );
				if ( handle ) handle.elem =3D null;
				jQuery.removeData( elem, "events" );
				jQuery.removeData( elem, "handle" );
			}
		}
	},

	// bubbling is internal
	trigger: function( event, data, elem, bubbling ) {
		// Event object or event type
		var type =3D event.type || event;

		if( !bubbling ){
			event =3D typeof event =3D=3D=3D "object" ?
				// jQuery.Event object
				event[expando] ? event :
				// Object literal
				jQuery.extend( jQuery.Event(type), event ) :
				// Just the event type (string)
				jQuery.Event(type);

			if ( type.indexOf("!") >=3D 0 ) {
				event.type =3D type =3D type.slice(0, -1);
				event.exclusive =3D true;
			}

			// Handle a global trigger
			if ( !elem ) {
				// Don't bubble custom events when global (to avoid too much =
overhead)
				event.stopPropagation();
				// Only trigger if we've ever bound an event for it
				if ( this.global[type] )
					jQuery.each( jQuery.cache, function(){
						if ( this.events && this.events[type] )
							jQuery.event.trigger( event, data, this.handle.elem );
					});
			}

			// Handle triggering a single element

			// don't do events on text and comment nodes
			if ( !elem || elem.nodeType =3D=3D 3 || elem.nodeType =3D=3D 8 )
				return undefined;
		=09
			// Clean up in case it is reused
			event.result =3D undefined;
			event.target =3D elem;
		=09
			// Clone the incoming data, if any
			data =3D jQuery.makeArray(data);
			data.unshift( event );
		}

		event.currentTarget =3D elem;

		// Trigger the event, it is assumed that "handle" is a function
		var handle =3D jQuery.data(elem, "handle");
		if ( handle )
			handle.apply( elem, data );

		// Handle triggering native .onfoo handlers (and on links since we =
don't call .click() for links)
		if ( (!elem[type] || (jQuery.nodeName(elem, 'a') && type =3D=3D =
"click")) && elem["on"+type] && elem["on"+type].apply( elem, data ) =
=3D=3D=3D false )
			event.result =3D false;

		// Trigger the native events (except for clicks on links)
		if ( !bubbling && elem[type] && !event.isDefaultPrevented() && =
!(jQuery.nodeName(elem, 'a') && type =3D=3D "click") ) {
			this.triggered =3D true;
			try {
				elem[ type ]();
			// prevent IE from throwing an error for some hidden elements
			} catch (e) {}
		}

		this.triggered =3D false;

		if ( !event.isPropagationStopped() ) {
			var parent =3D elem.parentNode || elem.ownerDocument;
			if ( parent )
				jQuery.event.trigger(event, data, parent, true);
		}
	},

	handle: function(event) {
		// returned undefined or false
		var all, handlers;

		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );
		event.currentTarget =3D this;
	=09
		// Namespaced event handlers
		var namespaces =3D event.type.split(".");
		event.type =3D namespaces.shift();

		// Cache this now, all =3D true means, any handler
		all =3D !namespaces.length && !event.exclusive;
	=09
		var namespace =3D RegExp("(^|\\.)" + =
namespaces.slice().sort().join(".*\\.") + "(\\.|$)");

		handlers =3D ( jQuery.data(this, "events") || {} )[event.type];

		for ( var j in handlers ) {
			var handler =3D handlers[j];

			// Filter the functions by class
			if ( all || namespace.test(handler.type) ) {
				// Pass in a reference to the handler function itself
				// So that we can later remove it
				event.handler =3D handler;
				event.data =3D handler.data;

				var ret =3D handler.apply(this, arguments);

				if( ret !=3D=3D undefined ){
					event.result =3D ret;
					if ( ret =3D=3D=3D false ) {
						event.preventDefault();
						event.stopPropagation();
					}
				}

				if( event.isImmediatePropagationStopped() )
					break;

			}
		}
	},

	props: "altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode metaKey newValue originalTarget pageX pageY prevValue =
relatedNode relatedTarget screenX screenY shiftKey srcElement target =
toElement view wheelDelta which".split(" "),

	fix: function(event) {
		if ( event[expando] )
			return event;

		// store a copy of the original event object
		// and "clone" to set read-only properties
		var originalEvent =3D event;
		event =3D jQuery.Event( originalEvent );

		for ( var i =3D this.props.length, prop; i; ){
			prop =3D this.props[ --i ];
			event[ prop ] =3D originalEvent[ prop ];
		}

		// Fix target property, if necessary
		if ( !event.target )
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either

		// check if target is a textnode (safari)
		if ( event.target.nodeType =3D=3D 3 )
			event.target =3D event.target.parentNode;

		// Add relatedTarget, if necessary
		if ( !event.relatedTarget && event.fromElement )
			event.relatedTarget =3D event.fromElement =3D=3D event.target ? =
event.toElement : event.fromElement;

		// Calculate pageX/Y if missing and clientX/Y available
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {
			var doc =3D document.documentElement, body =3D document.body;
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc.clientLeft || 0);
			event.pageY =3D event.clientY + (doc && doc.scrollTop || body && =
body.scrollTop || 0) - (doc.clientTop || 0);
		}

		// Add which for key events
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) )
			event.which =3D event.charCode || event.keyCode;

		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)
		if ( !event.metaKey && event.ctrlKey )
			event.metaKey =3D event.ctrlKey;

		// Add which for click: 1 =3D=3D left; 2 =3D=3D middle; 3 =3D=3D right
		// Note: button is not normalized, so don't use it
		if ( !event.which && event.button )
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));

		return event;
	},

	proxy: function( fn, proxy ){
		proxy =3D proxy || function(){ return fn.apply(this, arguments); };
		// Set the guid of unique handler to the same of original handler, so =
it can be removed
		proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || this.guid++;
		// So proxy can be declared as an argument
		return proxy;
	},

	special: {
		ready: {
			// Make sure the ready event is setup
			setup: bindReady,
			teardown: function() {}
		}
	},
=09
	specialAll: {
		live: {
			setup: function( selector, namespaces ){
				jQuery.event.add( this, namespaces[0], liveHandler );
			},
			teardown:  function( namespaces ){
				if ( namespaces.length ) {
					var remove =3D 0, name =3D RegExp("(^|\\.)" + namespaces[0] + =
"(\\.|$)");
				=09
					jQuery.each( (jQuery.data(this, "events").live || {}), function(){
						if ( name.test(this.type) )
							remove++;
					});
				=09
					if ( remove < 1 )
						jQuery.event.remove( this, namespaces[0], liveHandler );
				}
			}
		}
	}
};

jQuery.Event =3D function( src ){
	// Allow instantiation without the 'new' keyword
	if( !this.preventDefault )
		return new jQuery.Event(src);
=09
	// Event object
	if( src && src.type ){
		this.originalEvent =3D src;
		this.type =3D src.type;
	// Event type
	}else
		this.type =3D src;

	// timeStamp is buggy for some events on Firefox(#3843)
	// So we won't rely on the native value
	this.timeStamp =3D now();
=09
	// Mark it as fixed
	this[expando] =3D true;
};

function returnFalse(){
	return false;
}
function returnTrue(){
	return true;
}

// jQuery.Event is based on DOM3 Events as specified by the ECMAScript =
Language Binding
// =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html
jQuery.Event.prototype =3D {
	preventDefault: function() {
		this.isDefaultPrevented =3D returnTrue;

		var e =3D this.originalEvent;
		if( !e )
			return;
		// if preventDefault exists run it on the original event
		if (e.preventDefault)
			e.preventDefault();
		// otherwise set the returnValue property of the original event to =
false (IE)
		e.returnValue =3D false;
	},
	stopPropagation: function() {
		this.isPropagationStopped =3D returnTrue;

		var e =3D this.originalEvent;
		if( !e )
			return;
		// if stopPropagation exists run it on the original event
		if (e.stopPropagation)
			e.stopPropagation();
		// otherwise set the cancelBubble property of the original event to =
true (IE)
		e.cancelBubble =3D true;
	},
	stopImmediatePropagation:function(){
		this.isImmediatePropagationStopped =3D returnTrue;
		this.stopPropagation();
	},
	isDefaultPrevented: returnFalse,
	isPropagationStopped: returnFalse,
	isImmediatePropagationStopped: returnFalse
};
// Checks if an event happened on an element within another element
// Used in jQuery.event.special.mouseenter and mouseleave handlers
var withinElement =3D function(event) {
	// Check if mouse(over|out) are still within the same parent element
	var parent =3D event.relatedTarget;
	// Traverse up the tree
	while ( parent && parent !=3D this )
		try { parent =3D parent.parentNode; }
		catch(e) { parent =3D this; }
=09
	if( parent !=3D this ){
		// set the correct event type
		event.type =3D event.data;
		// handle event if we actually just moused on to a non sub-element
		jQuery.event.handle.apply( this, arguments );
	}
};
=09
jQuery.each({=20
	mouseover: 'mouseenter',=20
	mouseout: 'mouseleave'
}, function( orig, fix ){
	jQuery.event.special[ fix ] =3D {
		setup: function(){
			jQuery.event.add( this, orig, withinElement, fix );
		},
		teardown: function(){
			jQuery.event.remove( this, orig, withinElement );
		}
	};			  =20
});

jQuery.fn.extend({
	bind: function( type, data, fn ) {
		return type =3D=3D "unload" ? this.one(type, data, fn) : =
this.each(function(){
			jQuery.event.add( this, type, fn || data, fn && data );
		});
	},

	one: function( type, data, fn ) {
		var one =3D jQuery.event.proxy( fn || data, function(event) {
			jQuery(this).unbind(event, one);
			return (fn || data).apply( this, arguments );
		});
		return this.each(function(){
			jQuery.event.add( this, type, one, fn && data);
		});
	},

	unbind: function( type, fn ) {
		return this.each(function(){
			jQuery.event.remove( this, type, fn );
		});
	},

	trigger: function( type, data ) {
		return this.each(function(){
			jQuery.event.trigger( type, data, this );
		});
	},

	triggerHandler: function( type, data ) {
		if( this[0] ){
			var event =3D jQuery.Event(type);
			event.preventDefault();
			event.stopPropagation();
			jQuery.event.trigger( event, data, this[0] );
			return event.result;
		}	=09
	},

	toggle: function( fn ) {
		// Save reference to arguments for access in closure
		var args =3D arguments, i =3D 1;

		// link all the functions, so any of them can unbind this click =
handler
		while( i < args.length )
			jQuery.event.proxy( fn, args[i++] );

		return this.click( jQuery.event.proxy( fn, function(event) {
			// Figure out which function to execute
			this.lastToggle =3D ( this.lastToggle || 0 ) % i;

			// Make sure that clicks stop
			event.preventDefault();

			// and execute the function
			return args[ this.lastToggle++ ].apply( this, arguments ) || false;
		}));
	},

	hover: function(fnOver, fnOut) {
		return this.mouseenter(fnOver).mouseleave(fnOut);
	},

	ready: function(fn) {
		// Attach the listeners
		bindReady();

		// If the DOM is already ready
		if ( jQuery.isReady )
			// Execute the function immediately
			fn.call( document, jQuery );

		// Otherwise, remember the function for later
		else
			// Add the function to the wait list
			jQuery.readyList.push( fn );

		return this;
	},
=09
	live: function( type, fn ){
		var proxy =3D jQuery.event.proxy( fn );
		proxy.guid +=3D this.selector + type;

		jQuery(document).bind( liveConvert(type, this.selector), =
this.selector, proxy );

		return this;
	},
=09
	die: function( type, fn ){
		jQuery(document).unbind( liveConvert(type, this.selector), fn ? { =
guid: fn.guid + this.selector + type } : null );
		return this;
	}
});

function liveHandler( event ){
	var check =3D RegExp("(^|\\.)" + event.type + "(\\.|$)"),
		stop =3D true,
		elems =3D [];

	jQuery.each(jQuery.data(this, "events").live || [], function(i, fn){
		if ( check.test(fn.type) ) {
			var elem =3D jQuery(event.target).closest(fn.data)[0];
			if ( elem )
				elems.push({ elem: elem, fn: fn });
		}
	});

	elems.sort(function(a,b) {
		return jQuery.data(a.elem, "closest") - jQuery.data(b.elem, =
"closest");
	});
=09
	jQuery.each(elems, function(){
		if ( this.fn.call(this.elem, event, this.fn.data) =3D=3D=3D false )
			return (stop =3D false);
	});

	return stop;
}

function liveConvert(type, selector){
	return ["live", type, selector.replace(/\./g, "`").replace(/ /g, =
"|")].join(".");
}

jQuery.extend({
	isReady: false,
	readyList: [],
	// Handle when the DOM is ready
	ready: function() {
		// Make sure that the DOM is not already loaded
		if ( !jQuery.isReady ) {
			// Remember that the DOM is ready
			jQuery.isReady =3D true;

			// If there are functions bound, to execute
			if ( jQuery.readyList ) {
				// Execute all of them
				jQuery.each( jQuery.readyList, function(){
					this.call( document, jQuery );
				});

				// Reset the list of functions
				jQuery.readyList =3D null;
			}

			// Trigger any bound ready events
			jQuery(document).triggerHandler("ready");
		}
	}
});

var readyBound =3D false;

function bindReady(){
	if ( readyBound ) return;
	readyBound =3D true;

	// Mozilla, Opera and webkit nightlies currently support this event
	if ( document.addEventListener ) {
		// Use the handy event callback
		document.addEventListener( "DOMContentLoaded", function(){
			document.removeEventListener( "DOMContentLoaded", arguments.callee, =
false );
			jQuery.ready();
		}, false );

	// If IE event model is used
	} else if ( document.attachEvent ) {
		// ensure firing before onload,
		// maybe late but safe also for iframes
		document.attachEvent("onreadystatechange", function(){
			if ( document.readyState =3D=3D=3D "complete" ) {
				document.detachEvent( "onreadystatechange", arguments.callee );
				jQuery.ready();
			}
		});

		// If IE and not an iframe
		// continually check to see if the document is ready
		if ( document.documentElement.doScroll && window =3D=3D window.top ) =
(function(){
			if ( jQuery.isReady ) return;

			try {
				// If IE is used, use the trick by Diego Perini
				// http://javascript.nwbox.com/IEContentLoaded/
				document.documentElement.doScroll("left");
			} catch( error ) {
				setTimeout( arguments.callee, 0 );
				return;
			}

			// and execute any waiting functions
			jQuery.ready();
		})();
	}

	// A fallback to window.onload, that will always work
	jQuery.event.add( window, "load", jQuery.ready );
}

jQuery.each( ("blur,focus,load,resize,scroll,unload,click,dblclick," +
	"mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave," =
+
	"change,select,submit,keydown,keypress,keyup,error").split(","), =
function(i, name){

	// Handle event binding
	jQuery.fn[name] =3D function(fn){
		return fn ? this.bind(name, fn) : this.trigger(name);
	};
});

// Prevent memory leaks in IE
// And prevent errors on refresh with events like mouseover in other =
browsers
// Window isn't included so as not to unbind existing unload events
jQuery( window ).bind( 'unload', function(){=20
	for ( var id in jQuery.cache )
		// Skip the window
		if ( id !=3D 1 && jQuery.cache[ id ].handle )
			jQuery.event.remove( jQuery.cache[ id ].handle.elem );
});=20
(function(){

	jQuery.support =3D {};

	var root =3D document.documentElement,
		script =3D document.createElement("script"),
		div =3D document.createElement("div"),
		id =3D "script" + (new Date).getTime();

	div.style.display =3D "none";
	div.innerHTML =3D '   <link/><table></table><a href=3D"/a" =
style=3D"color:red;float:left;opacity:.5;">a</a><select><option>text</opt=
ion></select><object><param/></object>';

	var all =3D div.getElementsByTagName("*"),
		a =3D div.getElementsByTagName("a")[0];

	// Can't get basic test support
	if ( !all || !all.length || !a ) {
		return;
	}

	jQuery.support =3D {
		// IE strips leading whitespace when .innerHTML is used
		leadingWhitespace: div.firstChild.nodeType =3D=3D 3,
	=09
		// Make sure that tbody elements aren't automatically inserted
		// IE will insert them into empty tables
		tbody: !div.getElementsByTagName("tbody").length,
	=09
		// Make sure that you can get all elements in an <object> element
		// IE 7 always returns no results
		objectAll: !!div.getElementsByTagName("object")[0]
			.getElementsByTagName("*").length,
	=09
		// Make sure that link elements get serialized correctly by innerHTML
		// This requires a wrapper element in IE
		htmlSerialize: !!div.getElementsByTagName("link").length,
	=09
		// Get the style information from getAttribute
		// (IE uses .cssText insted)
		style: /red/.test( a.getAttribute("style") ),
	=09
		// Make sure that URLs aren't manipulated
		// (IE normalizes it by default)
		hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",
	=09
		// Make sure that element opacity exists
		// (IE uses filter instead)
		opacity: a.style.opacity =3D=3D=3D "0.5",
	=09
		// Verify style float existence
		// (IE uses styleFloat instead of cssFloat)
		cssFloat: !!a.style.cssFloat,

		// Will be defined later
		scriptEval: false,
		noCloneEvent: true,
		boxModel: null
	};
=09
	script.type =3D "text/javascript";
	try {
		script.appendChild( document.createTextNode( "window." + id + "=3D1;" =
) );
	} catch(e){}

	root.insertBefore( script, root.firstChild );
=09
	// Make sure that the execution of code works by injecting a script
	// tag with appendChild/createTextNode
	// (IE doesn't support this, fails, and uses .text instead)
	if ( window[ id ] ) {
		jQuery.support.scriptEval =3D true;
		delete window[ id ];
	}

	root.removeChild( script );

	if ( div.attachEvent && div.fireEvent ) {
		div.attachEvent("onclick", function(){
			// Cloning a node shouldn't copy over any
			// bound event handlers (IE does this)
			jQuery.support.noCloneEvent =3D false;
			div.detachEvent("onclick", arguments.callee);
		});
		div.cloneNode(true).fireEvent("onclick");
	}

	// Figure out if the W3C box model works as expected
	// document.body must exist before we can do this
	jQuery(function(){
		var div =3D document.createElement("div");
		div.style.width =3D div.style.paddingLeft =3D "1px";

		document.body.appendChild( div );
		jQuery.boxModel =3D jQuery.support.boxModel =3D div.offsetWidth =
=3D=3D=3D 2;
		document.body.removeChild( div ).style.display =3D 'none';
	});
})();

var styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : "styleFloat";

jQuery.props =3D {
	"for": "htmlFor",
	"class": "className",
	"float": styleFloat,
	cssFloat: styleFloat,
	styleFloat: styleFloat,
	readonly: "readOnly",
	maxlength: "maxLength",
	cellspacing: "cellSpacing",
	rowspan: "rowSpan",
	tabindex: "tabIndex"
};
jQuery.fn.extend({
	// Keep a copy of the old load
	_load: jQuery.fn.load,

	load: function( url, params, callback ) {
		if ( typeof url !=3D=3D "string" )
			return this._load( url );

		var off =3D url.indexOf(" ");
		if ( off >=3D 0 ) {
			var selector =3D url.slice(off, url.length);
			url =3D url.slice(0, off);
		}

		// Default to a GET request
		var type =3D "GET";

		// If the second parameter was provided
		if ( params )
			// If it's a function
			if ( jQuery.isFunction( params ) ) {
				// We assume that it's the callback
				callback =3D params;
				params =3D null;

			// Otherwise, build a param string
			} else if( typeof params =3D=3D=3D "object" ) {
				params =3D jQuery.param( params );
				type =3D "POST";
			}

		var self =3D this;

		// Request the remote document
		jQuery.ajax({
			url: url,
			type: type,
			dataType: "html",
			data: params,
			complete: function(res, status){
				// If successful, inject the HTML into all the matched elements
				if ( status =3D=3D "success" || status =3D=3D "notmodified" )
					// See if a selector was specified
					self.html( selector ?
						// Create a dummy div to hold the results
						jQuery("<div/>")
							// inject the contents of the document in, removing the scripts
							// to avoid any 'Permission Denied' errors in IE
							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, =
""))

							// Locate the specified elements
							.find(selector) :

						// If not, just inject the full result
						res.responseText );

				if( callback )
					self.each( callback, [res.responseText, status, res] );
			}
		});
		return this;
	},

	serialize: function() {
		return jQuery.param(this.serializeArray());
	},
	serializeArray: function() {
		return this.map(function(){
			return this.elements ? jQuery.makeArray(this.elements) : this;
		})
		.filter(function(){
			return this.name && !this.disabled &&
				(this.checked || /select|textarea/i.test(this.nodeName) ||
					/text|hidden|password|search/i.test(this.type));
		})
		.map(function(i, elem){
			var val =3D jQuery(this).val();
			return val =3D=3D null ? null :
				jQuery.isArray(val) ?
					jQuery.map( val, function(val, i){
						return {name: elem.name, value: val};
					}) :
					{name: elem.name, value: val};
		}).get();
	}
});

// Attach a bunch of functions for handling common AJAX events
jQuery.each( =
"ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(",=
"), function(i,o){
	jQuery.fn[o] =3D function(f){
		return this.bind(o, f);
	};
});

var jsc =3D now();

jQuery.extend({
 =20
	get: function( url, data, callback, type ) {
		// shift arguments if data argument was ommited
		if ( jQuery.isFunction( data ) ) {
			callback =3D data;
			data =3D null;
		}

		return jQuery.ajax({
			type: "GET",
			url: url,
			data: data,
			success: callback,
			dataType: type
		});
	},

	getScript: function( url, callback ) {
		return jQuery.get(url, null, callback, "script");
	},

	getJSON: function( url, data, callback ) {
		return jQuery.get(url, data, callback, "json");
	},

	post: function( url, data, callback, type ) {
		if ( jQuery.isFunction( data ) ) {
			callback =3D data;
			data =3D {};
		}

		return jQuery.ajax({
			type: "POST",
			url: url,
			data: data,
			success: callback,
			dataType: type
		});
	},

	ajaxSetup: function( settings ) {
		jQuery.extend( jQuery.ajaxSettings, settings );
	},

	ajaxSettings: {
		url: location.href,
		global: true,
		type: "GET",
		contentType: "application/x-www-form-urlencoded",
		processData: true,
		async: true,
		/*
		timeout: 0,
		data: null,
		username: null,
		password: null,
		*/
		// Create the request object; Microsoft failed to properly
		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject =
when it is available
		// This function can be overriden by calling jQuery.ajaxSetup
		xhr:function(){
			return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") =
: new XMLHttpRequest();
		},
		accepts: {
			xml: "application/xml, text/xml",
			html: "text/html",
			script: "text/javascript, application/javascript",
			json: "application/json, text/javascript",
			text: "text/plain",
			_default: "*/*"
		}
	},

	// Last-Modified header cache for next request
	lastModified: {},

	ajax: function( s ) {
		// Extend the settings, but re-extend 's' so that it can be
		// checked again later (in the test suite, specifically)
		s =3D jQuery.extend(true, s, jQuery.extend(true, {}, =
jQuery.ajaxSettings, s));

		var jsonp, jsre =3D /=3D\?(&|$)/g, status, data,
			type =3D s.type.toUpperCase();

		// convert data if not already a string
		if ( s.data && s.processData && typeof s.data !=3D=3D "string" )
			s.data =3D jQuery.param(s.data);

		// Handle JSONP Parameter Callbacks
		if ( s.dataType =3D=3D "jsonp" ) {
			if ( type =3D=3D "GET" ) {
				if ( !s.url.match(jsre) )
					s.url +=3D (s.url.match(/\?/) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";
			} else if ( !s.data || !s.data.match(jsre) )
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";
			s.dataType =3D "json";
		}

		// Build temporary JSONP function
		if ( s.dataType =3D=3D "json" && (s.data && s.data.match(jsre) || =
s.url.match(jsre)) ) {
			jsonp =3D "jsonp" + jsc++;

			// Replace the =3D? sequence both in the query string and the data
			if ( s.data )
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");
			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");

			// We need to make sure
			// that a JSONP style response is executed properly
			s.dataType =3D "script";

			// Handle JSONP-style loading
			window[ jsonp ] =3D function(tmp){
				data =3D tmp;
				success();
				complete();
				// Garbage collect
				window[ jsonp ] =3D undefined;
				try{ delete window[ jsonp ]; } catch(e){}
				if ( head )
					head.removeChild( script );
			};
		}

		if ( s.dataType =3D=3D "script" && s.cache =3D=3D null )
			s.cache =3D false;

		if ( s.cache =3D=3D=3D false && type =3D=3D "GET" ) {
			var ts =3D now();
			// try replacing _=3D if it is there
			var ret =3D s.url.replace(/(\?|&)_=3D.*?(&|$)/, "$1_=3D" + ts + =
"$2");
			// if nothing was replaced, add timestamp to the end
			s.url =3D ret + ((ret =3D=3D s.url) ? (s.url.match(/\?/) ? "&" : "?") =
+ "_=3D" + ts : "");
		}

		// If data is available, append data to url for get requests
		if ( s.data && type =3D=3D "GET" ) {
			s.url +=3D (s.url.match(/\?/) ? "&" : "?") + s.data;

			// IE likes to send both get and post data, prevent this
			s.data =3D null;
		}

		// Watch for a new set of requests
		if ( s.global && ! jQuery.active++ )
			jQuery.event.trigger( "ajaxStart" );

		// Matches an absolute URL, and saves the domain
		var parts =3D /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );

		// If we're requesting a remote document
		// and trying to load JSON or Script with a GET
		if ( s.dataType =3D=3D "script" && type =3D=3D "GET" && parts
			&& ( parts[1] && parts[1] !=3D location.protocol || parts[2] !=3D =
location.host )){

			var head =3D document.getElementsByTagName("head")[0];
			var script =3D document.createElement("script");
			script.src =3D s.url;
			if (s.scriptCharset)
				script.charset =3D s.scriptCharset;

			// Handle Script loading
			if ( !jsonp ) {
				var done =3D false;

				// Attach handlers for all browsers
				script.onload =3D script.onreadystatechange =3D function(){
					if ( !done && (!this.readyState ||
							this.readyState =3D=3D "loaded" || this.readyState =3D=3D =
"complete") ) {
						done =3D true;
						success();
						complete();

						// Handle memory leak in IE
						script.onload =3D script.onreadystatechange =3D null;
						head.removeChild( script );
					}
				};
			}

			head.appendChild(script);

			// We handle everything using the script element injection
			return undefined;
		}

		var requestDone =3D false;

		// Create the request object
		var xhr =3D s.xhr();

		// Open the socket
		// Passing null username, generates a login popup on Opera (#2865)
		if( s.username )
			xhr.open(type, s.url, s.async, s.username, s.password);
		else
			xhr.open(type, s.url, s.async);

		// Need an extra try/catch for cross domain requests in Firefox 3
		try {
			// Set the correct header, if data is being sent
			if ( s.data )
				xhr.setRequestHeader("Content-Type", s.contentType);

			// Set the If-Modified-Since header, if ifModified mode.
			if ( s.ifModified )
				xhr.setRequestHeader("If-Modified-Since",
					jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );

			// Set header so the called script knows that it's an XMLHttpRequest
			xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

			// Set the Accepts header for the server, depending on the dataType
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] =
?
				s.accepts[ s.dataType ] + ", */*" :
				s.accepts._default );
		} catch(e){}

		// Allow custom headers/mimetypes and early abort
		if ( s.beforeSend && s.beforeSend(xhr, s) =3D=3D=3D false ) {
			// Handle the global AJAX counter
			if ( s.global && ! --jQuery.active )
				jQuery.event.trigger( "ajaxStop" );
			// close opended socket
			xhr.abort();
			return false;
		}

		if ( s.global )
			jQuery.event.trigger("ajaxSend", [xhr, s]);

		// Wait for a response to come back
		var onreadystatechange =3D function(isTimeout){
			// The request was aborted, clear the interval and decrement =
jQuery.active
			if (xhr.readyState =3D=3D 0) {
				if (ival) {
					// clear poll interval
					clearInterval(ival);
					ival =3D null;
					// Handle the global AJAX counter
					if ( s.global && ! --jQuery.active )
						jQuery.event.trigger( "ajaxStop" );
				}
			// The transfer is complete and the data is available, or the request =
timed out
			} else if ( !requestDone && xhr && (xhr.readyState =3D=3D 4 || =
isTimeout =3D=3D "timeout") ) {
				requestDone =3D true;

				// clear poll interval
				if (ival) {
					clearInterval(ival);
					ival =3D null;
				}

				status =3D isTimeout =3D=3D "timeout" ? "timeout" :
					!jQuery.httpSuccess( xhr ) ? "error" :
					s.ifModified && jQuery.httpNotModified( xhr, s.url ) ? =
"notmodified" :
					"success";

				if ( status =3D=3D "success" ) {
					// Watch for, and catch, XML document parse errors
					try {
						// process the data (runs the xml through httpData regardless of =
callback)
						data =3D jQuery.httpData( xhr, s.dataType, s );
					} catch(e) {
						status =3D "parsererror";
					}
				}

				// Make sure that the request was successful or notmodified
				if ( status =3D=3D "success" ) {
					// Cache Last-Modified header, if ifModified mode.
					var modRes;
					try {
						modRes =3D xhr.getResponseHeader("Last-Modified");
					} catch(e) {} // swallow exception thrown by FF if header is not =
available

					if ( s.ifModified && modRes )
						jQuery.lastModified[s.url] =3D modRes;

					// JSONP handles its own success callback
					if ( !jsonp )
						success();
				} else
					jQuery.handleError(s, xhr, status);

				// Fire the complete handlers
				complete();

				if ( isTimeout )
					xhr.abort();

				// Stop memory leaks
				if ( s.async )
					xhr =3D null;
			}
		};

		if ( s.async ) {
			// don't attach the handler to the request, just poll it instead
			var ival =3D setInterval(onreadystatechange, 13);

			// Timeout checker
			if ( s.timeout > 0 )
				setTimeout(function(){
					// Check to see if the request is still happening
					if ( xhr && !requestDone )
						onreadystatechange( "timeout" );
				}, s.timeout);
		}

		// Send the data
		try {
			xhr.send(s.data);
		} catch(e) {
			jQuery.handleError(s, xhr, null, e);
		}

		// firefox 1.5 doesn't fire statechange for sync requests
		if ( !s.async )
			onreadystatechange();

		function success(){
			// If a local callback was specified, fire it and pass it the data
			if ( s.success )
				s.success( data, status );

			// Fire the global callback
			if ( s.global )
				jQuery.event.trigger( "ajaxSuccess", [xhr, s] );
		}

		function complete(){
			// Process result
			if ( s.complete )
				s.complete(xhr, status);

			// The request was completed
			if ( s.global )
				jQuery.event.trigger( "ajaxComplete", [xhr, s] );

			// Handle the global AJAX counter
			if ( s.global && ! --jQuery.active )
				jQuery.event.trigger( "ajaxStop" );
		}

		// return XMLHttpRequest to allow aborting the request etc.
		return xhr;
	},

	handleError: function( s, xhr, status, e ) {
		// If a local callback was specified, fire it
		if ( s.error ) s.error( xhr, status, e );

		// Fire the global callback
		if ( s.global )
			jQuery.event.trigger( "ajaxError", [xhr, s, e] );
	},

	// Counter for holding the number of active queries
	active: 0,

	// Determines if an XMLHttpRequest was successful or not
	httpSuccess: function( xhr ) {
		try {
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450
			return !xhr.status && location.protocol =3D=3D "file:" ||
				( xhr.status >=3D 200 && xhr.status < 300 ) || xhr.status =3D=3D 304 =
|| xhr.status =3D=3D 1223;
		} catch(e){}
		return false;
	},

	// Determines if an XMLHttpRequest returns NotModified
	httpNotModified: function( xhr, url ) {
		try {
			var xhrRes =3D xhr.getResponseHeader("Last-Modified");

			// Firefox always returns 200. check Last-Modified date
			return xhr.status =3D=3D 304 || xhrRes =3D=3D =
jQuery.lastModified[url];
		} catch(e){}
		return false;
	},

	httpData: function( xhr, type, s ) {
		var ct =3D xhr.getResponseHeader("content-type"),
			xml =3D type =3D=3D "xml" || !type && ct && ct.indexOf("xml") >=3D 0,
			data =3D xml ? xhr.responseXML : xhr.responseText;

		if ( xml && data.documentElement.tagName =3D=3D "parsererror" )
			throw "parsererror";
		=09
		// Allow a pre-filtering function to sanitize the response
		// s !=3D null is checked to keep backwards compatibility
		if( s && s.dataFilter )
			data =3D s.dataFilter( data, type );

		// The filter can actually parse the response
		if( typeof data =3D=3D=3D "string" ){

			// If the type is "script", eval it in global context
			if ( type =3D=3D "script" )
				jQuery.globalEval( data );

			// Get the JavaScript object, if JSON is used.
			if ( type =3D=3D "json" )
				data =3D window["eval"]("(" + data + ")");
		}
	=09
		return data;
	},

	// Serialize an array of form elements or a set of
	// key/values into a query string
	param: function( a ) {
		var s =3D [ ];

		function add( key, value ){
			s[ s.length ] =3D encodeURIComponent(key) + '=3D' + =
encodeURIComponent(value);
		};

		// If an array was passed in, assume that it is an array
		// of form elements
		if ( jQuery.isArray(a) || a.jquery )
			// Serialize the form elements
			jQuery.each( a, function(){
				add( this.name, this.value );
			});

		// Otherwise, assume that it's an object of key/value pairs
		else
			// Serialize the key/values
			for ( var j in a )
				// If the value is an array then the key names need to be repeated
				if ( jQuery.isArray(a[j]) )
					jQuery.each( a[j], function(){
						add( j, this );
					});
				else
					add( j, jQuery.isFunction(a[j]) ? a[j]() : a[j] );

		// Return the resulting serialization
		return s.join("&").replace(/%20/g, "+");
	}

});
var elemdisplay =3D {},
	timerId,
	fxAttrs =3D [
		// height animations
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" =
],
		// width animations
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" =
],
		// opacity animations
		[ "opacity" ]
	];

function genFx( type, num ){
	var obj =3D {};
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), =
function(){
		obj[ this ] =3D type;
	});
	return obj;
}

jQuery.fn.extend({
	show: function(speed,callback){
		if ( speed ) {
			return this.animate( genFx("show", 3), speed, callback);
		} else {
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){
				var old =3D jQuery.data(this[i], "olddisplay");
			=09
				this[i].style.display =3D old || "";
			=09
				if ( jQuery.css(this[i], "display") =3D=3D=3D "none" ) {
					var tagName =3D this[i].tagName, display;
				=09
					if ( elemdisplay[ tagName ] ) {
						display =3D elemdisplay[ tagName ];
					} else {
						var elem =3D jQuery("<" + tagName + " />").appendTo("body");
					=09
						display =3D elem.css("display");
						if ( display =3D=3D=3D "none" )
							display =3D "block";
					=09
						elem.remove();
					=09
						elemdisplay[ tagName ] =3D display;
					}
				=09
					jQuery.data(this[i], "olddisplay", display);
				}
			}

			// Set the display of the elements in a second loop
			// to avoid the constant reflow
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){
				this[i].style.display =3D jQuery.data(this[i], "olddisplay") || "";
			}
		=09
			return this;
		}
	},

	hide: function(speed,callback){
		if ( speed ) {
			return this.animate( genFx("hide", 3), speed, callback);
		} else {
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){
				var old =3D jQuery.data(this[i], "olddisplay");
				if ( !old && old !=3D=3D "none" )
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));
			}

			// Set the display of the elements in a second loop
			// to avoid the constant reflow
			for ( var i =3D 0, l =3D this.length; i < l; i++ ){
				this[i].style.display =3D "none";
			}

			return this;
		}
	},

	// Save the old toggle function
	_toggle: jQuery.fn.toggle,

	toggle: function( fn, fn2 ){
		var bool =3D typeof fn =3D=3D=3D "boolean";

		return jQuery.isFunction(fn) && jQuery.isFunction(fn2) ?
			this._toggle.apply( this, arguments ) :
			fn =3D=3D null || bool ?
				this.each(function(){
					var state =3D bool ? fn : jQuery(this).is(":hidden");
					jQuery(this)[ state ? "show" : "hide" ]();
				}) :
				this.animate(genFx("toggle", 3), fn, fn2);
	},

	fadeTo: function(speed,to,callback){
		return this.animate({opacity: to}, speed, callback);
	},

	animate: function( prop, speed, easing, callback ) {
		var optall =3D jQuery.speed(speed, easing, callback);

		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function(){
	=09
			var opt =3D jQuery.extend({}, optall), p,
				hidden =3D this.nodeType =3D=3D 1 && jQuery(this).is(":hidden"),
				self =3D this;
=09
			for ( p in prop ) {
				if ( prop[p] =3D=3D "hide" && hidden || prop[p] =3D=3D "show" && =
!hidden )
					return opt.complete.call(this);

				if ( ( p =3D=3D "height" || p =3D=3D "width" ) && this.style ) {
					// Store display property
					opt.display =3D jQuery.css(this, "display");

					// Make sure that nothing sneaks out
					opt.overflow =3D this.style.overflow;
				}
			}

			if ( opt.overflow !=3D null )
				this.style.overflow =3D "hidden";

			opt.curAnim =3D jQuery.extend({}, prop);

			jQuery.each( prop, function(name, val){
				var e =3D new jQuery.fx( self, opt, name );

				if ( /toggle|show|hide/.test(val) )
					e[ val =3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop );
				else {
					var parts =3D val.toString().match(/^([+-]=3D)?([\d+-.]+)(.*)$/),
						start =3D e.cur(true) || 0;

					if ( parts ) {
						var end =3D parseFloat(parts[2]),
							unit =3D parts[3] || "px";

						// We need to compute starting value
						if ( unit !=3D "px" ) {
							self.style[ name ] =3D (end || 1) + unit;
							start =3D ((end || 1) / e.cur(true)) * start;
							self.style[ name ] =3D start + unit;
						}

						// If a +=3D/-=3D token was provided, we're doing a relative =
animation
						if ( parts[1] )
							end =3D ((parts[1] =3D=3D "-=3D" ? -1 : 1) * end) + start;

						e.custom( start, end, unit );
					} else
						e.custom( start, val, "" );
				}
			});

			// For JS strict compliance
			return true;
		});
	},

	stop: function(clearQueue, gotoEnd){
		var timers =3D jQuery.timers;

		if (clearQueue)
			this.queue([]);

		this.each(function(){
			// go in reverse order so anything added to the queue during the loop =
is ignored
			for ( var i =3D timers.length - 1; i >=3D 0; i-- )
				if ( timers[i].elem =3D=3D this ) {
					if (gotoEnd)
						// force the next step to be the last
						timers[i](true);
					timers.splice(i, 1);
				}
		});

		// start the next in the queue if the last step wasn't forced
		if (!gotoEnd)
			this.dequeue();

		return this;
	}

});

// Generate shortcuts for custom animations
jQuery.each({
	slideDown: genFx("show", 1),
	slideUp: genFx("hide", 1),
	slideToggle: genFx("toggle", 1),
	fadeIn: { opacity: "show" },
	fadeOut: { opacity: "hide" }
}, function( name, props ){
	jQuery.fn[ name ] =3D function( speed, callback ){
		return this.animate( props, speed, callback );
	};
});

jQuery.extend({

	speed: function(speed, easing, fn) {
		var opt =3D typeof speed =3D=3D=3D "object" ? speed : {
			complete: fn || !fn && easing ||
				jQuery.isFunction( speed ) && speed,
			duration: speed,
			easing: fn && easing || easing && !jQuery.isFunction(easing) && =
easing
		};

		opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =3D=3D=3D =
"number" ? opt.duration :
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;

		// Queueing
		opt.old =3D opt.complete;
		opt.complete =3D function(){
			if ( opt.queue !=3D=3D false )
				jQuery(this).dequeue();
			if ( jQuery.isFunction( opt.old ) )
				opt.old.call( this );
		};

		return opt;
	},

	easing: {
		linear: function( p, n, firstNum, diff ) {
			return firstNum + diff * p;
		},
		swing: function( p, n, firstNum, diff ) {
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;
		}
	},

	timers: [],

	fx: function( elem, options, prop ){
		this.options =3D options;
		this.elem =3D elem;
		this.prop =3D prop;

		if ( !options.orig )
			options.orig =3D {};
	}

});

jQuery.fx.prototype =3D {

	// Simple function for setting a style value
	update: function(){
		if ( this.options.step )
			this.options.step.call( this.elem, this.now, this );

		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );

		// Set display property to block for height/width animations
		if ( ( this.prop =3D=3D "height" || this.prop =3D=3D "width" ) && =
this.elem.style )
			this.elem.style.display =3D "block";
	},

	// Get the current size
	cur: function(force){
		if ( this.elem[this.prop] !=3D null && (!this.elem.style || =
this.elem.style[this.prop] =3D=3D null) )
			return this.elem[ this.prop ];

		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;
	},

	// Start an animation from one number to another
	custom: function(from, to, unit){
		this.startTime =3D now();
		this.start =3D from;
		this.end =3D to;
		this.unit =3D unit || this.unit || "px";
		this.now =3D this.start;
		this.pos =3D this.state =3D 0;

		var self =3D this;
		function t(gotoEnd){
			return self.step(gotoEnd);
		}

		t.elem =3D this.elem;

		if ( t() && jQuery.timers.push(t) && !timerId ) {
			timerId =3D setInterval(function(){
				var timers =3D jQuery.timers;

				for ( var i =3D 0; i < timers.length; i++ )
					if ( !timers[i]() )
						timers.splice(i--, 1);

				if ( !timers.length ) {
					clearInterval( timerId );
					timerId =3D undefined;
				}
			}, 13);
		}
	},

	// Simple 'show' function
	show: function(){
		// Remember where we started, so that we can go back to it later
		this.options.orig[this.prop] =3D jQuery.attr( this.elem.style, =
this.prop );
		this.options.show =3D true;

		// Begin the animation
		// Make sure that we start at a small width/height to avoid any
		// flash of content
		this.custom(this.prop =3D=3D "width" || this.prop =3D=3D "height" ? 1 =
: 0, this.cur());

		// Start by showing the element
		jQuery(this.elem).show();
	},

	// Simple 'hide' function
	hide: function(){
		// Remember where we started, so that we can go back to it later
		this.options.orig[this.prop] =3D jQuery.attr( this.elem.style, =
this.prop );
		this.options.hide =3D true;

		// Begin the animation
		this.custom(this.cur(), 0);
	},

	// Each step of an animation
	step: function(gotoEnd){
		var t =3D now();

		if ( gotoEnd || t >=3D this.options.duration + this.startTime ) {
			this.now =3D this.end;
			this.pos =3D this.state =3D 1;
			this.update();

			this.options.curAnim[ this.prop ] =3D true;

			var done =3D true;
			for ( var i in this.options.curAnim )
				if ( this.options.curAnim[i] !=3D=3D true )
					done =3D false;

			if ( done ) {
				if ( this.options.display !=3D null ) {
					// Reset the overflow
					this.elem.style.overflow =3D this.options.overflow;

					// Reset the display
					this.elem.style.display =3D this.options.display;
					if ( jQuery.css(this.elem, "display") =3D=3D "none" )
						this.elem.style.display =3D "block";
				}

				// Hide the element if the "hide" operation was done
				if ( this.options.hide )
					jQuery(this.elem).hide();

				// Reset the properties, if the item has been hidden or shown
				if ( this.options.hide || this.options.show )
					for ( var p in this.options.curAnim )
						jQuery.attr(this.elem.style, p, this.options.orig[p]);
				=09
				// Execute the complete function
				this.options.complete.call( this.elem );
			}

			return false;
		} else {
			var n =3D t - this.startTime;
			this.state =3D n / this.options.duration;

			// Perform the easing function, defaults to swing
			this.pos =3D jQuery.easing[this.options.easing || =
(jQuery.easing.swing ? "swing" : "linear")](this.state, n, 0, 1, =
this.options.duration);
			this.now =3D this.start + ((this.end - this.start) * this.pos);

			// Perform the next step of the animation
			this.update();
		}

		return true;
	}

};

jQuery.extend( jQuery.fx, {
	speeds:{
		slow: 600,
 		fast: 200,
 		// Default speed
 		_default: 400
	},
	step: {

		opacity: function(fx){
			jQuery.attr(fx.elem.style, "opacity", fx.now);
		},

		_default: function(fx){
			if ( fx.elem.style && fx.elem.style[ fx.prop ] !=3D null )
				fx.elem.style[ fx.prop ] =3D fx.now + fx.unit;
			else
				fx.elem[ fx.prop ] =3D fx.now;
		}
	}
});
if ( document.documentElement["getBoundingClientRect"] )
	jQuery.fn.offset =3D function() {
		if ( !this[0] ) return { top: 0, left: 0 };
		if ( this[0] =3D=3D=3D this[0].ownerDocument.body ) return =
jQuery.offset.bodyOffset( this[0] );
		var box  =3D this[0].getBoundingClientRect(), doc =3D =
this[0].ownerDocument, body =3D doc.body, docElem =3D =
doc.documentElement,
			clientTop =3D docElem.clientTop || body.clientTop || 0, clientLeft =
=3D docElem.clientLeft || body.clientLeft || 0,
			top  =3D box.top  + (self.pageYOffset || jQuery.boxModel && =
docElem.scrollTop  || body.scrollTop ) - clientTop,
			left =3D box.left + (self.pageXOffset || jQuery.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;
		return { top: top, left: left };
	};
else=20
	jQuery.fn.offset =3D function() {
		if ( !this[0] ) return { top: 0, left: 0 };
		if ( this[0] =3D=3D=3D this[0].ownerDocument.body ) return =
jQuery.offset.bodyOffset( this[0] );
		jQuery.offset.initialized || jQuery.offset.initialize();

		var elem =3D this[0], offsetParent =3D elem.offsetParent, =
prevOffsetParent =3D elem,
			doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,
			body =3D doc.body, defaultView =3D doc.defaultView,
			prevComputedStyle =3D defaultView.getComputedStyle(elem, null),
			top =3D elem.offsetTop, left =3D elem.offsetLeft;

		while ( (elem =3D elem.parentNode) && elem !=3D=3D body && elem =
!=3D=3D docElem ) {
			computedStyle =3D defaultView.getComputedStyle(elem, null);
			top -=3D elem.scrollTop, left -=3D elem.scrollLeft;
			if ( elem =3D=3D=3D offsetParent ) {
				top +=3D elem.offsetTop, left +=3D elem.offsetLeft;
				if ( jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.tagName)) )
					top  +=3D parseInt( computedStyle.borderTopWidth,  10) || 0,
					left +=3D parseInt( computedStyle.borderLeftWidth, 10) || 0;
				prevOffsetParent =3D offsetParent, offsetParent =3D =
elem.offsetParent;
			}
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible" )
				top  +=3D parseInt( computedStyle.borderTopWidth,  10) || 0,
				left +=3D parseInt( computedStyle.borderLeftWidth, 10) || 0;
			prevComputedStyle =3D computedStyle;
		}

		if ( prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static" )
			top  +=3D body.offsetTop,
			left +=3D body.offsetLeft;

		if ( prevComputedStyle.position =3D=3D=3D "fixed" )
			top  +=3D Math.max(docElem.scrollTop, body.scrollTop),
			left +=3D Math.max(docElem.scrollLeft, body.scrollLeft);

		return { top: top, left: left };
	};

jQuery.offset =3D {
	initialize: function() {
		if ( this.initialized ) return;
		var body =3D document.body, container =3D =
document.createElement('div'), innerDiv, checkDiv, table, td, rules, =
prop, bodyMarginTop =3D body.style.marginTop,
			html =3D '<div =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;"><div></div></div><table =
style=3D"position:absolute;top:0;left:0;margin:0;border:5px solid =
#000;padding:0;width:1px;height:1px;" cellpadding=3D"0" =
cellspacing=3D"0"><tr><td></td></tr></table>';

		rules =3D { position: 'absolute', top: 0, left: 0, margin: 0, border: =
0, width: '1px', height: '1px', visibility: 'hidden' };
		for ( prop in rules ) container.style[prop] =3D rules[prop];

		container.innerHTML =3D html;
		body.insertBefore(container, body.firstChild);
		innerDiv =3D container.firstChild, checkDiv =3D innerDiv.firstChild, =
td =3D innerDiv.nextSibling.firstChild.firstChild;

		this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D 5);
		this.doesAddBorderForTableAndCells =3D (td.offsetTop =3D=3D=3D 5);

		innerDiv.style.overflow =3D 'hidden', innerDiv.style.position =3D =
'relative';
		this.subtractsBorderForOverflowNotVisible =3D (checkDiv.offsetTop =
=3D=3D=3D -5);

		body.style.marginTop =3D '1px';
		this.doesNotIncludeMarginInBodyOffset =3D (body.offsetTop =3D=3D=3D =
0);
		body.style.marginTop =3D bodyMarginTop;

		body.removeChild(container);
		this.initialized =3D true;
	},

	bodyOffset: function(body) {
		jQuery.offset.initialized || jQuery.offset.initialize();
		var top =3D body.offsetTop, left =3D body.offsetLeft;
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset )
			top  +=3D parseInt( jQuery.curCSS(body, 'marginTop',  true), 10 ) || =
0,
			left +=3D parseInt( jQuery.curCSS(body, 'marginLeft', true), 10 ) || =
0;
		return { top: top, left: left };
	}
};


jQuery.fn.extend({
	position: function() {
		var left =3D 0, top =3D 0, results;

		if ( this[0] ) {
			// Get *real* offsetParent
			var offsetParent =3D this.offsetParent(),

			// Get correct offsets
			offset       =3D this.offset(),
			parentOffset =3D /^body|html$/i.test(offsetParent[0].tagName) ? { =
top: 0, left: 0 } : offsetParent.offset();

			// Subtract element margins
			// note: when an element has margin: auto the offsetLeft and =
marginLeft=20
			// are the same in Safari causing offset.left to incorrectly be 0
			offset.top  -=3D num( this, 'marginTop'  );
			offset.left -=3D num( this, 'marginLeft' );

			// Add offsetParent borders
			parentOffset.top  +=3D num( offsetParent, 'borderTopWidth'  );
			parentOffset.left +=3D num( offsetParent, 'borderLeftWidth' );

			// Subtract the two offsets
			results =3D {
				top:  offset.top  - parentOffset.top,
				left: offset.left - parentOffset.left
			};
		}

		return results;
	},

	offsetParent: function() {
		var offsetParent =3D this[0].offsetParent || document.body;
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && =
jQuery.css(offsetParent, 'position') =3D=3D 'static') )
			offsetParent =3D offsetParent.offsetParent;
		return jQuery(offsetParent);
	}
});


// Create scrollLeft and scrollTop methods
jQuery.each( ['Left', 'Top'], function(i, name) {
	var method =3D 'scroll' + name;
=09
	jQuery.fn[ method ] =3D function(val) {
		if (!this[0]) return null;

		return val !=3D=3D undefined ?

			// Set the scroll offset
			this.each(function() {
				this =3D=3D window || this =3D=3D document ?
					window.scrollTo(
						!i ? val : jQuery(window).scrollLeft(),
						 i ? val : jQuery(window).scrollTop()
					) :
					this[ method ] =3D val;
			}) :

			// Return the scroll offset
			this[0] =3D=3D window || this[0] =3D=3D document ?
				self[ i ? 'pageYOffset' : 'pageXOffset' ] ||
					jQuery.boxModel && document.documentElement[ method ] ||
					document.body[ method ] :
				this[0][ method ];
	};
});
// Create innerHeight, innerWidth, outerHeight and outerWidth methods
jQuery.each([ "Height", "Width" ], function(i, name){

	var tl =3D i ? "Left"  : "Top",  // top or left
		br =3D i ? "Right" : "Bottom", // bottom or right
		lower =3D name.toLowerCase();

	// innerHeight and innerWidth
	jQuery.fn["inner" + name] =3D function(){
		return this[0] ?
			jQuery.css( this[0], lower, false, "padding" ) :
			null;
	};

	// outerHeight and outerWidth
	jQuery.fn["outer" + name] =3D function(margin) {
		return this[0] ?
			jQuery.css( this[0], lower, false, margin ? "margin" : "border" ) :
			null;
	};
=09
	var type =3D name.toLowerCase();

	jQuery.fn[ type ] =3D function( size ) {
		// Get window width or height
		return this[0] =3D=3D window ?
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode
			document.compatMode =3D=3D "CSS1Compat" && document.documentElement[ =
"client" + name ] ||
			document.body[ "client" + name ] :

			// Get document width or height
			this[0] =3D=3D document ?
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater
				Math.max(
					document.documentElement["client" + name],
					document.body["scroll" + name], document.documentElement["scroll" + =
name],
					document.body["offset" + name], document.documentElement["offset" + =
name]
				) :

				// Get or set width or height on the element
				size =3D=3D=3D undefined ?
					// Get width or height on the element
					(this.length ? jQuery.css( this[0], type ) : null) :

					// Set the width or height on the element (default to pixels if =
value is unitless)
					this.css( type, typeof size =3D=3D=3D "string" ? size : size + "px" =
);
	};

});
})();

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/jquery.cookie.js

/**=0A=
 * Cookie plugin=0A=
 *=0A=
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)=0A=
 * Dual licensed under the MIT and GPL licenses:=0A=
 * http://www.opensource.org/licenses/mit-license.php=0A=
 * http://www.gnu.org/licenses/gpl.html=0A=
 *=0A=
 */=0A=
=0A=
/**=0A=
 * Create a cookie with the given name and value and other optional =
parameters.=0A=
 *=0A=
 * @example $.cookie('the_cookie', 'the_value');=0A=
 * @desc Set the value of a cookie.=0A=
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', =
domain: 'jquery.com', secure: true });=0A=
 * @desc Create a cookie with all available options.=0A=
 * @example $.cookie('the_cookie', 'the_value');=0A=
 * @desc Create a session cookie.=0A=
 * @example $.cookie('the_cookie', null);=0A=
 * @desc Delete a cookie by passing null as value. Keep in mind that you =
have to use the same path and domain=0A=
 *       used when the cookie was set.=0A=
 *=0A=
 * @param String name The name of the cookie.=0A=
 * @param String value The value of the cookie.=0A=
 * @param Object options An object literal containing key/value pairs to =
provide optional cookie attributes.=0A=
 * @option Number|Date expires Either an integer specifying the =
expiration date from now on in days or a Date object.=0A=
 *                             If a negative value is specified (e.g. a =
date in the past), the cookie will be deleted.=0A=
 *                             If set to null or omitted, the cookie =
will be a session cookie and will not be retained=0A=
 *                             when the the browser exits.=0A=
 * @option String path The value of the path atribute of the cookie =
(default: path of page that created the cookie).=0A=
 * @option String domain The value of the domain attribute of the cookie =
(default: domain of page that created the cookie).=0A=
 * @option Boolean secure If true, the secure attribute of the cookie =
will be set and the cookie transmission will=0A=
 *                        require a secure protocol (like HTTPS).=0A=
 * @type undefined=0A=
 *=0A=
 * @name $.cookie=0A=
 * @cat Plugins/Cookie=0A=
 * @author Klaus Hartl/klaus.hartl@stilbuero.de=0A=
 */=0A=
=0A=
/**=0A=
 * Get the value of a cookie with the given name.=0A=
 *=0A=
 * @example $.cookie('the_cookie');=0A=
 * @desc Get the value of a cookie.=0A=
 *=0A=
 * @param String name The name of the cookie.=0A=
 * @return The value of the cookie.=0A=
 * @type String=0A=
 *=0A=
 * @name $.cookie=0A=
 * @cat Plugins/Cookie=0A=
 * @author Klaus Hartl/klaus.hartl@stilbuero.de=0A=
 */=0A=
jQuery.cookie =3D function(name, value, options) {=0A=
    if (typeof value !=3D 'undefined') { // name and value given, set =
cookie=0A=
        options =3D options || {};=0A=
        if (value =3D=3D=3D null) {=0A=
            value =3D '';=0A=
            options.expires =3D -1;=0A=
        }=0A=
        var expires =3D '';=0A=
        if (options.expires && (typeof options.expires =3D=3D 'number' =
|| options.expires.toUTCString)) {=0A=
            var date;=0A=
            if (typeof options.expires =3D=3D 'number') {=0A=
                date =3D new Date();=0A=
                date.setTime(date.getTime() + (options.expires * 24 * 60 =
* 60 * 1000));=0A=
            } else {=0A=
                date =3D options.expires;=0A=
            }=0A=
            expires =3D '; expires=3D' + date.toUTCString(); // use =
expires attribute, max-age is not supported by IE=0A=
        }=0A=
        // CAUTION: Needed to parenthesize options.path and =
options.domain=0A=
        // in the following expressions, otherwise they evaluate to =
undefined=0A=
        // in the packed version for some reason...=0A=
        var path =3D options.path ? '; path=3D' + (options.path) : '';=0A=
        var domain =3D options.domain ? '; domain=3D' + (options.domain) =
: '';=0A=
        var secure =3D options.secure ? '; secure' : '';=0A=
        document.cookie =3D [name, '=3D', encodeURIComponent(value), =
expires, path, domain, secure].join('');=0A=
    } else { // only name given, get cookie=0A=
        var cookieValue =3D null;=0A=
        if (document.cookie && document.cookie !=3D '') {=0A=
            var cookies =3D document.cookie.split(';');=0A=
            for (var i =3D 0; i < cookies.length; i++) {=0A=
                var cookie =3D jQuery.trim(cookies[i]);=0A=
                // Does this cookie string begin with the name we want?=0A=
                if (cookie.substring(0, name.length + 1) =3D=3D (name + =
'=3D')) {=0A=
                    cookieValue =3D =
decodeURIComponent(cookie.substring(name.length + 1));=0A=
                    break;=0A=
                }=0A=
            }=0A=
        }=0A=
        return cookieValue;=0A=
    }=0A=
};
------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/ui.core.js

/*
 * jQuery UI 1.7
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI
 */
;jQuery.ui || (function($) {

var _remove =3D $.fn.remove,
	isFF2 =3D $.browser.mozilla && (parseFloat($.browser.version) < 1.9);

//Helper functions and ui object
$.ui =3D {
	version: "1.7",

	// $.ui.plugin is deprecated.  Use the proxy pattern instead.
	plugin: {
		add: function(module, option, set) {
			var proto =3D $.ui[module].prototype;
			for(var i in set) {
				proto.plugins[i] =3D proto.plugins[i] || [];
				proto.plugins[i].push([option, set[i]]);
			}
		},
		call: function(instance, name, args) {
			var set =3D instance.plugins[name];
			if(!set || !instance.element[0].parentNode) { return; }

			for (var i =3D 0; i < set.length; i++) {
				if (instance.options[set[i][0]]) {
					set[i][1].apply(instance.element, args);
				}
			}
		}
	},

	contains: function(a, b) {
		return document.compareDocumentPosition
			? a.compareDocumentPosition(b) & 16
			: a !=3D=3D b && a.contains(b);
	},

	hasScroll: function(el, a) {

		//If overflow is hidden, the element might have extra content, but the =
user wants to hide it
		if ($(el).css('overflow') =3D=3D 'hidden') { return false; }

		var scroll =3D (a && a =3D=3D 'left') ? 'scrollLeft' : 'scrollTop',
			has =3D false;

		if (el[scroll] > 0) { return true; }

		// TODO: determine which cases actually cause this to happen
		// if the element doesn't have the scroll set, see if it's possible to
		// set the scroll
		el[scroll] =3D 1;
		has =3D (el[scroll] > 0);
		el[scroll] =3D 0;
		return has;
	},

	isOverAxis: function(x, reference, size) {
		//Determines when x coordinate is over "b" element axis
		return (x > reference) && (x < (reference + size));
	},

	isOver: function(y, x, top, left, height, width) {
		//Determines when x, y coordinates is over "b" element
		return $.ui.isOverAxis(y, top, height) && $.ui.isOverAxis(x, left, =
width);
	},

	keyCode: {
		BACKSPACE: 8,
		CAPS_LOCK: 20,
		COMMA: 188,
		CONTROL: 17,
		DELETE: 46,
		DOWN: 40,
		END: 35,
		ENTER: 13,
		ESCAPE: 27,
		HOME: 36,
		INSERT: 45,
		LEFT: 37,
		NUMPAD_ADD: 107,
		NUMPAD_DECIMAL: 110,
		NUMPAD_DIVIDE: 111,
		NUMPAD_ENTER: 108,
		NUMPAD_MULTIPLY: 106,
		NUMPAD_SUBTRACT: 109,
		PAGE_DOWN: 34,
		PAGE_UP: 33,
		PERIOD: 190,
		RIGHT: 39,
		SHIFT: 16,
		SPACE: 32,
		TAB: 9,
		UP: 38
	}
};

// WAI-ARIA normalization
if (isFF2) {
	var attr =3D $.attr,
		removeAttr =3D $.fn.removeAttr,
		ariaNS =3D "http://www.w3.org/2005/07/aaa",
		ariaState =3D /^aria-/,
		ariaRole =3D /^wairole:/;

	$.attr =3D function(elem, name, value) {
		var set =3D value !=3D=3D undefined;

		return (name =3D=3D 'role'
			? (set
				? attr.call(this, elem, name, "wairole:" + value)
				: (attr.apply(this, arguments) || "").replace(ariaRole, ""))
			: (ariaState.test(name)
				? (set
					? elem.setAttributeNS(ariaNS,
						name.replace(ariaState, "aaa:"), value)
					: attr.call(this, elem, name.replace(ariaState, "aaa:")))
				: attr.apply(this, arguments)));
	};

	$.fn.removeAttr =3D function(name) {
		return (ariaState.test(name)
			? this.each(function() {
				this.removeAttributeNS(ariaNS, name.replace(ariaState, ""));
			}) : removeAttr.call(this, name));
	};
}

//jQuery plugins
$.fn.extend({
	remove: function() {
		// Safari has a native remove event which actually removes DOM =
elements,
		// so we have to use triggerHandler instead of trigger (#3037).
		$("*", this).add(this).each(function() {
			$(this).triggerHandler("remove");
		});
		return _remove.apply(this, arguments );
	},

	enableSelection: function() {
		return this
			.attr('unselectable', 'off')
			.css('MozUserSelect', '')
			.unbind('selectstart.ui');
	},

	disableSelection: function() {
		return this
			.attr('unselectable', 'on')
			.css('MozUserSelect', 'none')
			.bind('selectstart.ui', function() { return false; });
	},

	scrollParent: function() {
		var scrollParent;
		if(($.browser.msie && =
(/(static|relative)/).test(this.css('position'))) || =
(/absolute/).test(this.css('position'))) {
			scrollParent =3D this.parents().filter(function() {
				return =
(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1)) && =
(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflo=
w-y',1)+$.curCSS(this,'overflow-x',1));
			}).eq(0);
		} else {
			scrollParent =3D this.parents().filter(function() {
				return =
(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflo=
w-y',1)+$.curCSS(this,'overflow-x',1));
			}).eq(0);
		}

		return (/fixed/).test(this.css('position')) || !scrollParent.length ? =
$(document) : scrollParent;
	}
});


//Additional selectors
$.extend($.expr[':'], {
	data: function(elem, i, match) {
		return !!$.data(elem, match[3]);
	},

	focusable: function(element) {
		var nodeName =3D element.nodeName.toLowerCase(),
			tabIndex =3D $.attr(element, 'tabindex');
		return (/input|select|textarea|button|object/.test(nodeName)
			? !element.disabled
			: 'a' =3D=3D nodeName || 'area' =3D=3D nodeName
				? element.href || !isNaN(tabIndex)
				: !isNaN(tabIndex))
			// the element and all of its ancestors must be visible
			// the browser may report that the area is hidden
			&& !$(element)['area' =3D=3D nodeName ? 'parents' : =
'closest'](':hidden').length;
	},

	tabbable: function(element) {
		var tabIndex =3D $.attr(element, 'tabindex');
		return (isNaN(tabIndex) || tabIndex >=3D 0) && =
$(element).is(':focusable');
	}
});


// $.widget is a factory to create jQuery plugins
// taking some boilerplate code out of the plugin code
function getter(namespace, plugin, method, args) {
	function getMethods(type) {
		var methods =3D $[namespace][plugin][type] || [];
		return (typeof methods =3D=3D 'string' ? methods.split(/,?\s+/) : =
methods);
	}

	var methods =3D getMethods('getter');
	if (args.length =3D=3D 1 && typeof args[0] =3D=3D 'string') {
		methods =3D methods.concat(getMethods('getterSetter'));
	}
	return ($.inArray(method, methods) !=3D -1);
}

$.widget =3D function(name, prototype) {
	var namespace =3D name.split(".")[0];
	name =3D name.split(".")[1];

	// create plugin method
	$.fn[name] =3D function(options) {
		var isMethodCall =3D (typeof options =3D=3D 'string'),
			args =3D Array.prototype.slice.call(arguments, 1);

		// prevent calls to internal methods
		if (isMethodCall && options.substring(0, 1) =3D=3D '_') {
			return this;
		}

		// handle getter methods
		if (isMethodCall && getter(namespace, name, options, args)) {
			var instance =3D $.data(this[0], name);
			return (instance ? instance[options].apply(instance, args)
				: undefined);
		}

		// handle initialization and non-getter methods
		return this.each(function() {
			var instance =3D $.data(this, name);

			// constructor
			(!instance && !isMethodCall &&
				$.data(this, name, new $[namespace][name](this, options))._init());

			// method call
			(instance && isMethodCall && $.isFunction(instance[options]) &&
				instance[options].apply(instance, args));
		});
	};

	// create widget constructor
	$[namespace] =3D $[namespace] || {};
	$[namespace][name] =3D function(element, options) {
		var self =3D this;

		this.namespace =3D namespace;
		this.widgetName =3D name;
		this.widgetEventPrefix =3D $[namespace][name].eventPrefix || name;
		this.widgetBaseClass =3D namespace + '-' + name;

		this.options =3D $.extend({},
			$.widget.defaults,
			$[namespace][name].defaults,
			$.metadata && $.metadata.get(element)[name],
			options);

		this.element =3D $(element)
			.bind('setData.' + name, function(event, key, value) {
				if (event.target =3D=3D element) {
					return self._setData(key, value);
				}
			})
			.bind('getData.' + name, function(event, key) {
				if (event.target =3D=3D element) {
					return self._getData(key);
				}
			})
			.bind('remove', function() {
				return self.destroy();
			});
	};

	// add widget prototype
	$[namespace][name].prototype =3D $.extend({}, $.widget.prototype, =
prototype);

	// TODO: merge getter and getterSetter properties from widget prototype
	// and plugin prototype
	$[namespace][name].getterSetter =3D 'option';
};

$.widget.prototype =3D {
	_init: function() {},
	destroy: function() {
		this.element.removeData(this.widgetName)
			.removeClass(this.widgetBaseClass + '-disabled' + ' ' + =
this.namespace + '-state-disabled')
			.removeAttr('aria-disabled');
	},

	option: function(key, value) {
		var options =3D key,
			self =3D this;

		if (typeof key =3D=3D "string") {
			if (value =3D=3D=3D undefined) {
				return this._getData(key);
			}
			options =3D {};
			options[key] =3D value;
		}

		$.each(options, function(key, value) {
			self._setData(key, value);
		});
	},
	_getData: function(key) {
		return this.options[key];
	},
	_setData: function(key, value) {
		this.options[key] =3D value;

		if (key =3D=3D 'disabled') {
			this.element
				[value ? 'addClass' : 'removeClass'](
					this.widgetBaseClass + '-disabled' + ' ' +
					this.namespace + '-state-disabled')
				.attr("aria-disabled", value);
		}
	},

	enable: function() {
		this._setData('disabled', false);
	},
	disable: function() {
		this._setData('disabled', true);
	},

	_trigger: function(type, event, data) {
		var callback =3D this.options[type],
			eventName =3D (type =3D=3D this.widgetEventPrefix
				? type : this.widgetEventPrefix + type);

		event =3D $.Event(event);
		event.type =3D eventName;

		// copy original event properties over to the new event
		// this would happen if we could call $.event.fix instead of $.Event
		// but we don't have a way to force an event to be fixed multiple =
times
		if (event.originalEvent) {
			for (var i =3D $.event.props.length, prop; i;) {
				prop =3D $.event.props[--i];
				event[prop] =3D event.originalEvent[prop];
			}
		}

		this.element.trigger(event, data);

		return !($.isFunction(callback) && callback.call(this.element[0], =
event, data) =3D=3D=3D false
			|| event.isDefaultPrevented());
	}
};

$.widget.defaults =3D {
	disabled: false
};


/** Mouse Interaction Plugin **/

$.ui.mouse =3D {
	_mouseInit: function() {
		var self =3D this;

		this.element
			.bind('mousedown.'+this.widgetName, function(event) {
				return self._mouseDown(event);
			})
			.bind('click.'+this.widgetName, function(event) {
				if(self._preventClickEvent) {
					self._preventClickEvent =3D false;
					event.stopImmediatePropagation();
					return false;
				}
			});

		// Prevent text selection in IE
		if ($.browser.msie) {
			this._mouseUnselectable =3D this.element.attr('unselectable');
			this.element.attr('unselectable', 'on');
		}

		this.started =3D false;
	},

	// TODO: make sure destroying one instance of mouse doesn't mess with
	// other instances of mouse
	_mouseDestroy: function() {
		this.element.unbind('.'+this.widgetName);

		// Restore text selection in IE
		($.browser.msie
			&& this.element.attr('unselectable', this._mouseUnselectable));
	},

	_mouseDown: function(event) {
		// don't let more than one widget handle mouseStart
		// TODO: figure out why we have to use originalEvent
		event.originalEvent =3D event.originalEvent || {};
		if (event.originalEvent.mouseHandled) { return; }

		// we may have missed mouseup (out of window)
		(this._mouseStarted && this._mouseUp(event));

		this._mouseDownEvent =3D event;

		var self =3D this,
			btnIsLeft =3D (event.which =3D=3D 1),
			elIsCancel =3D (typeof this.options.cancel =3D=3D "string" ? =
$(event.target).parents().add(event.target).filter(this.options.cancel).l=
ength : false);
		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
			return true;
		}

		this.mouseDelayMet =3D !this.options.delay;
		if (!this.mouseDelayMet) {
			this._mouseDelayTimer =3D setTimeout(function() {
				self.mouseDelayMet =3D true;
			}, this.options.delay);
		}

		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
			this._mouseStarted =3D (this._mouseStart(event) !=3D=3D false);
			if (!this._mouseStarted) {
				event.preventDefault();
				return true;
			}
		}

		// these delegates are required to keep context
		this._mouseMoveDelegate =3D function(event) {
			return self._mouseMove(event);
		};
		this._mouseUpDelegate =3D function(event) {
			return self._mouseUp(event);
		};
		$(document)
			.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
			.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);

		// preventDefault() is used to prevent the selection of text here -
		// however, in Safari, this causes select boxes not to be selectable
		// anymore, so this fix is needed
		($.browser.safari || event.preventDefault());

		event.originalEvent.mouseHandled =3D true;
		return true;
	},

	_mouseMove: function(event) {
		// IE mouseup check - mouseup happened when mouse was out of window
		if ($.browser.msie && !event.button) {
			return this._mouseUp(event);
		}

		if (this._mouseStarted) {
			this._mouseDrag(event);
			return event.preventDefault();
		}

		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {
			this._mouseStarted =3D
				(this._mouseStart(this._mouseDownEvent, event) !=3D=3D false);
			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));
		}

		return !this._mouseStarted;
	},

	_mouseUp: function(event) {
		$(document)
			.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)
			.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);

		if (this._mouseStarted) {
			this._mouseStarted =3D false;
			this._preventClickEvent =3D (event.target =3D=3D =
this._mouseDownEvent.target);
			this._mouseStop(event);
		}

		return false;
	},

	_mouseDistanceMet: function(event) {
		return (Math.max(
				Math.abs(this._mouseDownEvent.pageX - event.pageX),
				Math.abs(this._mouseDownEvent.pageY - event.pageY)
			) >=3D this.options.distance
		);
	},

	_mouseDelayMet: function(event) {
		return this.mouseDelayMet;
	},

	// These are placeholder methods, to be overriden by extending plugin
	_mouseStart: function(event) {},
	_mouseDrag: function(event) {},
	_mouseStop: function(event) {},
	_mouseCapture: function(event) { return true; }
};

$.ui.mouse.defaults =3D {
	cancel: null,
	distance: 1,
	delay: 0
};

})(jQuery);

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/ui.dialog.js

/*=0A=
 * jQuery UI Dialog 1.7.1=0A=
 *=0A=
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)=0A=
 * Dual licensed under the MIT (MIT-LICENSE.txt)=0A=
 * and GPL (GPL-LICENSE.txt) licenses.=0A=
 *=0A=
 * http://docs.jquery.com/UI/Dialog=0A=
 *=0A=
 * Depends:=0A=
 *	ui.core.js=0A=
 *	ui.draggable.js=0A=
 *	ui.resizable.js=0A=
 */=0A=
(function($) {=0A=
=0A=
var setDataSwitch =3D {=0A=
		dragStart: "start.draggable",=0A=
		drag: "drag.draggable",=0A=
		dragStop: "stop.draggable",=0A=
		maxHeight: "maxHeight.resizable",=0A=
		minHeight: "minHeight.resizable",=0A=
		maxWidth: "maxWidth.resizable",=0A=
		minWidth: "minWidth.resizable",=0A=
		resizeStart: "start.resizable",=0A=
		resize: "drag.resizable",=0A=
		resizeStop: "stop.resizable"=0A=
	},=0A=
	=0A=
	uiDialogClasses =3D=0A=
		'ui-dialog ' +=0A=
		'ui-widget ' +=0A=
		'ui-widget-content ' +=0A=
		'ui-corner-all ';=0A=
=0A=
$.widget("ui.dialog", {=0A=
=0A=
	_init: function() {=0A=
		this.originalTitle =3D this.element.attr('title');=0A=
=0A=
		var self =3D this,=0A=
			options =3D this.options,=0A=
=0A=
			title =3D options.title || this.originalTitle || '&nbsp;',=0A=
			titleId =3D $.ui.dialog.getTitleId(this.element),=0A=
=0A=
			uiDialog =3D (this.uiDialog =3D $('<div/>'))=0A=
				.appendTo(document.body)=0A=
				.hide()=0A=
				.addClass(uiDialogClasses + options.dialogClass)=0A=
				.css({=0A=
					position: 'absolute',=0A=
					overflow: 'hidden',=0A=
					zIndex: options.zIndex=0A=
				})=0A=
				// setting tabIndex makes the div focusable=0A=
				// setting outline to 0 prevents a border on focus in Mozilla=0A=
				.attr('tabIndex', -1).css('outline', 0).keydown(function(event) {=0A=
					(options.closeOnEscape && event.keyCode=0A=
						&& event.keyCode =3D=3D $.ui.keyCode.ESCAPE && self.close(event));=0A=
				})=0A=
				.attr({=0A=
					role: 'dialog',=0A=
					'aria-labelledby': titleId=0A=
				})=0A=
				.mousedown(function(event) {=0A=
					self.moveToTop(false, event);=0A=
				}),=0A=
=0A=
			uiDialogContent =3D this.element=0A=
				.show()=0A=
				.removeAttr('title')=0A=
				.addClass(=0A=
					'ui-dialog-content ' +=0A=
					'ui-widget-content')=0A=
				.appendTo(uiDialog),=0A=
=0A=
			uiDialogTitlebar =3D (this.uiDialogTitlebar =3D $('<div></div>'))=0A=
				.addClass(=0A=
					'ui-dialog-titlebar ' +=0A=
					'ui-widget-header ' +=0A=
					'ui-corner-all ' +=0A=
					'ui-helper-clearfix'=0A=
				)=0A=
				.prependTo(uiDialog),=0A=
=0A=
			uiDialogTitlebarClose =3D $('<a href=3D"#"/>')=0A=
				.addClass(=0A=
					'ui-dialog-titlebar-close ' +=0A=
					'ui-corner-all'=0A=
				)=0A=
				.attr('role', 'button')=0A=
				.hover(=0A=
					function() {=0A=
						uiDialogTitlebarClose.addClass('ui-state-hover');=0A=
					},=0A=
					function() {=0A=
						uiDialogTitlebarClose.removeClass('ui-state-hover');=0A=
					}=0A=
				)=0A=
				.focus(function() {=0A=
					uiDialogTitlebarClose.addClass('ui-state-focus');=0A=
				})=0A=
				.blur(function() {=0A=
					uiDialogTitlebarClose.removeClass('ui-state-focus');=0A=
				})=0A=
				.mousedown(function(ev) {=0A=
					ev.stopPropagation();=0A=
				})=0A=
				.click(function(event) {=0A=
					self.close(event);=0A=
					return false;=0A=
				})=0A=
				.appendTo(uiDialogTitlebar),=0A=
=0A=
			uiDialogTitlebarCloseText =3D (this.uiDialogTitlebarCloseText =3D =
$('<span/>'))=0A=
				.addClass(=0A=
					'ui-icon ' +=0A=
					'ui-icon-closethick'=0A=
				)=0A=
				.text(options.closeText)=0A=
				.appendTo(uiDialogTitlebarClose),=0A=
=0A=
			uiDialogTitle =3D $('<span/>')=0A=
				.addClass('ui-dialog-title')=0A=
				.attr('id', titleId)=0A=
				.html(title)=0A=
				.prependTo(uiDialogTitlebar);=0A=
=0A=
		uiDialogTitlebar.find("*").add(uiDialogTitlebar).disableSelection();=0A=
=0A=
		(options.draggable && $.fn.draggable && this._makeDraggable());=0A=
		(options.resizable && $.fn.resizable && this._makeResizable());=0A=
=0A=
		this._createButtons(options.buttons);=0A=
		this._isOpen =3D false;=0A=
=0A=
		(options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());=0A=
		(options.autoOpen && this.open());=0A=
		=0A=
	},=0A=
=0A=
	destroy: function() {=0A=
		(this.overlay && this.overlay.destroy());=0A=
		this.uiDialog.hide();=0A=
		this.element=0A=
			.unbind('.dialog')=0A=
			.removeData('dialog')=0A=
			.removeClass('ui-dialog-content ui-widget-content')=0A=
			.hide().appendTo('body');=0A=
		this.uiDialog.remove();=0A=
=0A=
		(this.originalTitle && this.element.attr('title', this.originalTitle));=0A=
	},=0A=
=0A=
	close: function(event) {=0A=
		var self =3D this;=0A=
		=0A=
		if (false =3D=3D=3D self._trigger('beforeclose', event)) {=0A=
			return;=0A=
		}=0A=
=0A=
		(self.overlay && self.overlay.destroy());=0A=
		self.uiDialog.unbind('keypress.ui-dialog');=0A=
=0A=
		(self.options.hide=0A=
			? self.uiDialog.hide(self.options.hide, function() {=0A=
				self._trigger('close', event);=0A=
			})=0A=
			: self.uiDialog.hide() && self._trigger('close', event));=0A=
=0A=
		$.ui.dialog.overlay.resize();=0A=
=0A=
		self._isOpen =3D false;=0A=
	},=0A=
=0A=
	isOpen: function() {=0A=
		return this._isOpen;=0A=
	},=0A=
=0A=
	// the force parameter allows us to move modal dialogs to their correct=0A=
	// position on open=0A=
	moveToTop: function(force, event) {=0A=
=0A=
		if ((this.options.modal && !force)=0A=
			|| (!this.options.stack && !this.options.modal)) {=0A=
			return this._trigger('focus', event);=0A=
		}=0A=
		=0A=
		if (this.options.zIndex > $.ui.dialog.maxZ) {=0A=
			$.ui.dialog.maxZ =3D this.options.zIndex;=0A=
		}=0A=
		(this.overlay && this.overlay.$el.css('z-index', =
$.ui.dialog.overlay.maxZ =3D ++$.ui.dialog.maxZ));=0A=
=0A=
		//Save and then restore scroll since Opera 9.5+ resets when parent =
z-Index is changed.=0A=
		//  http://ui.jquery.com/bugs/ticket/3193=0A=
		var saveScroll =3D { scrollTop: this.element.attr('scrollTop'), =
scrollLeft: this.element.attr('scrollLeft') };=0A=
		this.uiDialog.css('z-index', ++$.ui.dialog.maxZ);=0A=
		this.element.attr(saveScroll);=0A=
		this._trigger('focus', event);=0A=
	},=0A=
=0A=
	open: function() {=0A=
		if (this._isOpen) { return; }=0A=
=0A=
		var options =3D this.options,=0A=
			uiDialog =3D this.uiDialog;=0A=
=0A=
		this.overlay =3D options.modal ? new $.ui.dialog.overlay(this) : null;=0A=
		(uiDialog.next().length && uiDialog.appendTo('body'));=0A=
		this._size();=0A=
		this._position(options.position);=0A=
		uiDialog.show(options.show);=0A=
		this.moveToTop(true);=0A=
=0A=
		// prevent tabbing out of modal dialogs=0A=
		(options.modal && uiDialog.bind('keypress.ui-dialog', function(event) {=0A=
			if (event.keyCode !=3D $.ui.keyCode.TAB) {=0A=
				return;=0A=
			}=0A=
=0A=
			var tabbables =3D $(':tabbable', this),=0A=
				first =3D tabbables.filter(':first')[0],=0A=
				last  =3D tabbables.filter(':last')[0];=0A=
=0A=
			if (event.target =3D=3D last && !event.shiftKey) {=0A=
				setTimeout(function() {=0A=
					first.focus();=0A=
				}, 1);=0A=
			} else if (event.target =3D=3D first && event.shiftKey) {=0A=
				setTimeout(function() {=0A=
					last.focus();=0A=
				}, 1);=0A=
			}=0A=
		}));=0A=
=0A=
		// set focus to the first tabbable element in the content area or the =
first button=0A=
		// if there are no tabbable elements, set focus on the dialog itself=0A=
		$([])=0A=
			.add(uiDialog.find('.ui-dialog-content :tabbable:first'))=0A=
			.add(uiDialog.find('.ui-dialog-buttonpane :tabbable:first'))=0A=
			.add(uiDialog)=0A=
			.filter(':first')=0A=
			.focus();=0A=
=0A=
		this._trigger('open');=0A=
		this._isOpen =3D true;=0A=
	},=0A=
=0A=
	_createButtons: function(buttons) {=0A=
		var self =3D this,=0A=
			hasButtons =3D false,=0A=
			uiDialogButtonPane =3D $('<div></div>')=0A=
				.addClass(=0A=
					'ui-dialog-buttonpane ' +=0A=
					'ui-widget-content ' +=0A=
					'ui-helper-clearfix'=0A=
				);=0A=
=0A=
		// if we already have a button pane, remove it=0A=
		this.uiDialog.find('.ui-dialog-buttonpane').remove();=0A=
=0A=
		(typeof buttons =3D=3D 'object' && buttons !=3D=3D null &&=0A=
			$.each(buttons, function() { return !(hasButtons =3D true); }));=0A=
		if (hasButtons) {=0A=
			$.each(buttons, function(name, fn) {=0A=
				$('<button type=3D"button"></button>')=0A=
					.addClass(=0A=
						'ui-state-default ' +=0A=
						'ui-corner-all'=0A=
					)=0A=
					.text(name)=0A=
					.click(function() { fn.apply(self.element[0], arguments); })=0A=
					.hover(=0A=
						function() {=0A=
							$(this).addClass('ui-state-hover');=0A=
						},=0A=
						function() {=0A=
							$(this).removeClass('ui-state-hover');=0A=
						}=0A=
					)=0A=
					.focus(function() {=0A=
						$(this).addClass('ui-state-focus');=0A=
					})=0A=
					.blur(function() {=0A=
						$(this).removeClass('ui-state-focus');=0A=
					})=0A=
					.appendTo(uiDialogButtonPane);=0A=
			});=0A=
			uiDialogButtonPane.appendTo(this.uiDialog);=0A=
		}=0A=
	},=0A=
=0A=
	_makeDraggable: function() {=0A=
		var self =3D this,=0A=
			options =3D this.options,=0A=
			heightBeforeDrag;=0A=
=0A=
		this.uiDialog.draggable({=0A=
			cancel: '.ui-dialog-content',=0A=
			handle: '.ui-dialog-titlebar',=0A=
			containment: 'document',=0A=
			start: function() {=0A=
				heightBeforeDrag =3D options.height;=0A=
				$(this).height($(this).height()).addClass("ui-dialog-dragging");=0A=
				(options.dragStart && options.dragStart.apply(self.element[0], =
arguments));=0A=
			},=0A=
			drag: function() {=0A=
				(options.drag && options.drag.apply(self.element[0], arguments));=0A=
			},=0A=
			stop: function() {=0A=
				$(this).removeClass("ui-dialog-dragging").height(heightBeforeDrag);=0A=
				(options.dragStop && options.dragStop.apply(self.element[0], =
arguments));=0A=
				$.ui.dialog.overlay.resize();=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	_makeResizable: function(handles) {=0A=
		handles =3D (handles =3D=3D=3D undefined ? this.options.resizable : =
handles);=0A=
		var self =3D this,=0A=
			options =3D this.options,=0A=
			resizeHandles =3D typeof handles =3D=3D 'string'=0A=
				? handles=0A=
				: 'n,e,s,w,se,sw,ne,nw';=0A=
=0A=
		this.uiDialog.resizable({=0A=
			cancel: '.ui-dialog-content',=0A=
			alsoResize: this.element,=0A=
			maxWidth: options.maxWidth,=0A=
			maxHeight: options.maxHeight,=0A=
			minWidth: options.minWidth,=0A=
			minHeight: options.minHeight,=0A=
			start: function() {=0A=
				$(this).addClass("ui-dialog-resizing");=0A=
				(options.resizeStart && options.resizeStart.apply(self.element[0], =
arguments));=0A=
			},=0A=
			resize: function() {=0A=
				(options.resize && options.resize.apply(self.element[0], arguments));=0A=
			},=0A=
			handles: resizeHandles,=0A=
			stop: function() {=0A=
				$(this).removeClass("ui-dialog-resizing");=0A=
				options.height =3D $(this).height();=0A=
				options.width =3D $(this).width();=0A=
				(options.resizeStop && options.resizeStop.apply(self.element[0], =
arguments));=0A=
				$.ui.dialog.overlay.resize();=0A=
			}=0A=
		})=0A=
		.find('.ui-resizable-se').addClass('ui-icon ui-icon-grip-diagonal-se');=0A=
	},=0A=
=0A=
	_position: function(pos) {=0A=
		var wnd =3D $(window), doc =3D $(document),=0A=
			pTop =3D doc.scrollTop(), pLeft =3D doc.scrollLeft(),=0A=
			minTop =3D pTop;=0A=
=0A=
		if ($.inArray(pos, ['center','top','right','bottom','left']) >=3D 0) {=0A=
			pos =3D [=0A=
				pos =3D=3D 'right' || pos =3D=3D 'left' ? pos : 'center',=0A=
				pos =3D=3D 'top' || pos =3D=3D 'bottom' ? pos : 'middle'=0A=
			];=0A=
		}=0A=
		if (pos.constructor !=3D Array) {=0A=
			pos =3D ['center', 'middle'];=0A=
		}=0A=
		if (pos[0].constructor =3D=3D Number) {=0A=
			pLeft +=3D pos[0];=0A=
		} else {=0A=
			switch (pos[0]) {=0A=
				case 'left':=0A=
					pLeft +=3D 0;=0A=
					break;=0A=
				case 'right':=0A=
					pLeft +=3D wnd.width() - this.uiDialog.outerWidth();=0A=
					break;=0A=
				default:=0A=
				case 'center':=0A=
					pLeft +=3D (wnd.width() - this.uiDialog.outerWidth()) / 2;=0A=
			}=0A=
		}=0A=
		if (pos[1].constructor =3D=3D Number) {=0A=
			pTop +=3D pos[1];=0A=
		} else {=0A=
			switch (pos[1]) {=0A=
				case 'top':=0A=
					pTop +=3D 0;=0A=
					break;=0A=
				case 'bottom':=0A=
					pTop +=3D wnd.height() - this.uiDialog.outerHeight();=0A=
					break;=0A=
				default:=0A=
				case 'middle':=0A=
					pTop +=3D (wnd.height() - this.uiDialog.outerHeight()) / 2;=0A=
			}=0A=
		}=0A=
=0A=
		// prevent the dialog from being too high (make sure the titlebar=0A=
		// is accessible)=0A=
		pTop =3D Math.max(pTop, minTop);=0A=
		this.uiDialog.css({top: pTop, left: pLeft});=0A=
	},=0A=
=0A=
	_setData: function(key, value){=0A=
		(setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value));=0A=
		switch (key) {=0A=
			case "buttons":=0A=
				this._createButtons(value);=0A=
				break;=0A=
			case "closeText":=0A=
				this.uiDialogTitlebarCloseText.text(value);=0A=
				break;=0A=
			case "dialogClass":=0A=
				this.uiDialog=0A=
					.removeClass(this.options.dialogClass)=0A=
					.addClass(uiDialogClasses + value);=0A=
				break;=0A=
			case "draggable":=0A=
				(value=0A=
					? this._makeDraggable()=0A=
					: this.uiDialog.draggable('destroy'));=0A=
				break;=0A=
			case "height":=0A=
				this.uiDialog.height(value);=0A=
				break;=0A=
			case "position":=0A=
				this._position(value);=0A=
				break;=0A=
			case "resizable":=0A=
				var uiDialog =3D this.uiDialog,=0A=
					isResizable =3D this.uiDialog.is(':data(resizable)');=0A=
=0A=
				// currently resizable, becoming non-resizable=0A=
				(isResizable && !value && uiDialog.resizable('destroy'));=0A=
=0A=
				// currently resizable, changing handles=0A=
				(isResizable && typeof value =3D=3D 'string' &&=0A=
					uiDialog.resizable('option', 'handles', value));=0A=
=0A=
				// currently non-resizable, becoming resizable=0A=
				(isResizable || this._makeResizable(value));=0A=
				break;=0A=
			case "title":=0A=
				$(".ui-dialog-title", this.uiDialogTitlebar).html(value || '&nbsp;');=0A=
				break;=0A=
			case "width":=0A=
				this.uiDialog.width(value);=0A=
				break;=0A=
		}=0A=
=0A=
		$.widget.prototype._setData.apply(this, arguments);=0A=
	},=0A=
=0A=
	_size: function() {=0A=
		/* If the user has resized the dialog, the .ui-dialog and =
.ui-dialog-content=0A=
		 * divs will both have width and height set, so we need to reset them=0A=
		 */=0A=
		var options =3D this.options;=0A=
=0A=
		// reset content sizing=0A=
		this.element.css({=0A=
			height: 0,=0A=
			minHeight: 0,=0A=
			width: 'auto'=0A=
		});=0A=
=0A=
		// reset wrapper sizing=0A=
		// determine the height of all the non-content elements=0A=
		var nonContentHeight =3D this.uiDialog.css({=0A=
				height: 'auto',=0A=
				width: options.width=0A=
			})=0A=
			.height();=0A=
=0A=
		this.element=0A=
			.css({=0A=
				minHeight: Math.max(options.minHeight - nonContentHeight, 0),=0A=
				height: options.height =3D=3D 'auto'=0A=
					? 'auto'=0A=
					: Math.max(options.height - nonContentHeight, 0)=0A=
			});=0A=
	}=0A=
});=0A=
=0A=
$.extend($.ui.dialog, {=0A=
	version: "1.7.1",=0A=
	defaults: {=0A=
		autoOpen: true,=0A=
		bgiframe: false,=0A=
		buttons: {},=0A=
		closeOnEscape: true,=0A=
		closeText: 'close',=0A=
		dialogClass: '',=0A=
		draggable: true,=0A=
		hide: null,=0A=
		height: 'auto',=0A=
		maxHeight: false,=0A=
		maxWidth: false,=0A=
		minHeight: 150,=0A=
		minWidth: 150,=0A=
		modal: false,=0A=
		position: 'center',=0A=
		resizable: true,=0A=
		show: null,=0A=
		stack: true,=0A=
		title: '',=0A=
		width: 300,=0A=
		zIndex: 1000=0A=
	},=0A=
=0A=
	getter: 'isOpen',=0A=
=0A=
	uuid: 0,=0A=
	maxZ: 0,=0A=
=0A=
	getTitleId: function($el) {=0A=
		return 'ui-dialog-title-' + ($el.attr('id') || ++this.uuid);=0A=
	},=0A=
=0A=
	overlay: function(dialog) {=0A=
		this.$el =3D $.ui.dialog.overlay.create(dialog);=0A=
	}=0A=
});=0A=
=0A=
$.extend($.ui.dialog.overlay, {=0A=
	instances: [],=0A=
	maxZ: 0,=0A=
	events: =
$.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),=0A=
		function(event) { return event + '.dialog-overlay'; }).join(' '),=0A=
	create: function(dialog) {=0A=
		if (this.instances.length =3D=3D=3D 0) {=0A=
			// prevent use of anchors and inputs=0A=
			// we use a setTimeout in case the overlay is created from an=0A=
			// event that we're going to be cancelling (see #2804)=0A=
			setTimeout(function() {=0A=
				$(document).bind($.ui.dialog.overlay.events, function(event) {=0A=
					var dialogZ =3D $(event.target).parents('.ui-dialog').css('zIndex') =
|| 0;=0A=
					return (dialogZ > $.ui.dialog.overlay.maxZ);=0A=
				});=0A=
			}, 1);=0A=
=0A=
			// allow closing by pressing the escape key=0A=
			$(document).bind('keydown.dialog-overlay', function(event) {=0A=
				(dialog.options.closeOnEscape && event.keyCode=0A=
						&& event.keyCode =3D=3D $.ui.keyCode.ESCAPE && =
dialog.close(event));=0A=
			});=0A=
=0A=
			// handle window resize=0A=
			$(window).bind('resize.dialog-overlay', $.ui.dialog.overlay.resize);=0A=
		}=0A=
=0A=
		var $el =3D $('<div></div>').appendTo(document.body)=0A=
			.addClass('ui-widget-overlay').css({=0A=
				width: this.width(),=0A=
				height: this.height()=0A=
			});=0A=
=0A=
		(dialog.options.bgiframe && $.fn.bgiframe && $el.bgiframe());=0A=
=0A=
		this.instances.push($el);=0A=
		return $el;=0A=
	},=0A=
=0A=
	destroy: function($el) {=0A=
		this.instances.splice($.inArray(this.instances, $el), 1);=0A=
=0A=
		if (this.instances.length =3D=3D=3D 0) {=0A=
			$([document, window]).unbind('.dialog-overlay');=0A=
		}=0A=
=0A=
		$el.remove();=0A=
	},=0A=
=0A=
	height: function() {=0A=
		// handle IE 6=0A=
		if ($.browser.msie && $.browser.version < 7) {=0A=
			var scrollHeight =3D Math.max(=0A=
				document.documentElement.scrollHeight,=0A=
				document.body.scrollHeight=0A=
			);=0A=
			var offsetHeight =3D Math.max(=0A=
				document.documentElement.offsetHeight,=0A=
				document.body.offsetHeight=0A=
			);=0A=
=0A=
			if (scrollHeight < offsetHeight) {=0A=
				return $(window).height() + 'px';=0A=
			} else {=0A=
				return scrollHeight + 'px';=0A=
			}=0A=
		// handle "good" browsers=0A=
		} else {=0A=
			return $(document).height() + 'px';=0A=
		}=0A=
	},=0A=
=0A=
	width: function() {=0A=
		// handle IE 6=0A=
		if ($.browser.msie && $.browser.version < 7) {=0A=
			var scrollWidth =3D Math.max(=0A=
				document.documentElement.scrollWidth,=0A=
				document.body.scrollWidth=0A=
			);=0A=
			var offsetWidth =3D Math.max(=0A=
				document.documentElement.offsetWidth,=0A=
				document.body.offsetWidth=0A=
			);=0A=
=0A=
			if (scrollWidth < offsetWidth) {=0A=
				return $(window).width() + 'px';=0A=
			} else {=0A=
				return scrollWidth + 'px';=0A=
			}=0A=
		// handle "good" browsers=0A=
		} else {=0A=
			return $(document).width() + 'px';=0A=
		}=0A=
	},=0A=
=0A=
	resize: function() {=0A=
		/* If the dialog is draggable and the user drags it past the=0A=
		 * right edge of the window, the document becomes wider so we=0A=
		 * need to stretch the overlay. If the user then drags the=0A=
		 * dialog back to the left, the document will become narrower,=0A=
		 * so we need to shrink the overlay to the appropriate size.=0A=
		 * This is handled by shrinking the overlay before setting it=0A=
		 * to the full document size.=0A=
		 */=0A=
		var $overlays =3D $([]);=0A=
		$.each($.ui.dialog.overlay.instances, function() {=0A=
			$overlays =3D $overlays.add(this);=0A=
		});=0A=
=0A=
		$overlays.css({=0A=
			width: 0,=0A=
			height: 0=0A=
		}).css({=0A=
			width: $.ui.dialog.overlay.width(),=0A=
			height: $.ui.dialog.overlay.height()=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
$.extend($.ui.dialog.overlay.prototype, {=0A=
	destroy: function() {=0A=
		$.ui.dialog.overlay.destroy(this.$el);=0A=
	}=0A=
});=0A=
=0A=
})(jQuery);=0A=

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/ui.tabs.js

/*
 * jQuery UI Tabs 1.7
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Tabs
 *
 * Depends:
 *	ui.core.js
 */
(function($) {

$.widget("ui.tabs", {

	_init: function() {
		if (this.options.deselectable !=3D=3D undefined) {
			this.options.collapsible =3D this.options.deselectable;
		}
		this._tabify(true);
	},

	_setData: function(key, value) {
		if (key =3D=3D 'selected') {
			if (this.options.collapsible && value =3D=3D this.options.selected) {
				return;
			}
			this.select(value);
		}
		else {
			this.options[key] =3D value;
			if (key =3D=3D 'deselectable') {
				this.options.collapsible =3D value;
			}
			this._tabify();
		}
	},

	_tabId: function(a) {
		return a.title && a.title.replace(/\s/g, =
'_').replace(/[^A-Za-z0-9\-_:\.]/g, '') ||
			this.options.idPrefix + $.data(a);
	},

	_sanitizeSelector: function(hash) {
		return hash.replace(/:/g, '\\:'); // we need this because an id may =
contain a ":"
	},

	_cookie: function() {
		var cookie =3D this.cookie || (this.cookie =3D =
this.options.cookie.name || 'ui-tabs-' + $.data(this.list[0]));
		return $.cookie.apply(null, [cookie].concat($.makeArray(arguments)));
	},

	_ui: function(tab, panel) {
		return {
			tab: tab,
			panel: panel,
			index: this.anchors.index(tab)
		};
	},

	_cleanup: function() {
		// restore all former loading tabs labels
		=
this.lis.filter('.ui-state-processing').removeClass('ui-state-processing'=
)
				.find('span:data(label.tabs)')
				.each(function() {
					var el =3D $(this);
					el.html(el.data('label.tabs')).removeData('label.tabs');
				});
	},

	_tabify: function(init) {

		this.list =3D this.element.children('ul:first');

		// added by <skellogg@articulatedman.com> on 04/15/2009
		// ----------------------------------------------------
		// allows for the tab controls to be directly specified in the options =
hash
		// for situations where the tab controls can't be found automatically
		if( !this.list.length ){
			this.list =3D this.options.tab_list;
		}
		// ----------------------------------------------------

    if (this.options.skip_first_tab)
      this.lis =3D $('li:has(a[href]):gt(0)', this.list);
    else
      this.lis =3D $('li:has(a[href])', this.list);

		this.anchors =3D this.lis.map(function() { return $('a', this)[0]; });
		this.panels =3D $([]);

		var self =3D this, o =3D this.options;

		var fragmentId =3D /^#.+/; // Safari 2 reports '#' for an empty hash
		this.anchors.each(function(i, a) {
			var href =3D $(a).attr('href');

			// For dynamically created HTML that contains a hash as href IE < 8 =
expands
			// such href to the full page url with hash and then misinterprets =
tab as ajax.
			// Same consideration applies for an added tab with a fragment =
identifier
			// since a[href=3D#fragment-identifier] does unexpectedly not match.
			// Thus normalize href attribute...
			var hrefBase =3D href.split('#')[0], baseEl;
			if (hrefBase && (hrefBase =3D=3D=3D location.toString().split('#')[0] =
||
					(baseEl =3D $('base')[0]) && hrefBase =3D=3D=3D baseEl.href)) {
				href =3D a.hash;
				a.href =3D href;
			}

			// inline tab
			if (fragmentId.test(href)) {
				self.panels =3D self.panels.add(self._sanitizeSelector(href));
			}

			// remote tab
			else if (href !=3D '#') { // prevent loading the page itself if href =
is just "#"
				$.data(a, 'href.tabs', href); // required for restore on destroy

				// TODO until #3808 is fixed strip fragment identifier from url
				// (IE fails to load from such url)
				$.data(a, 'load.tabs', href.replace(/#.*$/, '')); // mutable data

				var id =3D self._tabId(a);
				a.href =3D '#' + id;
				var $panel =3D $('#' + id);
				if (!$panel.length) {
					$panel =3D $(o.panelTemplate).attr('id', =
id).addClass('ui-tabs-panel ui-widget-content ui-corner-bottom')
						.insertAfter(self.panels[i - 1] || self.list);
					$panel.data('destroy.tabs', true);
				}
				self.panels =3D self.panels.add($panel);
			}

			// invalid tab href
			else {
				o.disabled.push(i);
			}
		});

		// initialization from scratch
		if (init) {

			// attach necessary classes for styling
			this.element.addClass('ui-tabs ui-widget ui-widget-content =
ui-corner-all');
			this.list.addClass('ui-tabs-nav ui-helper-reset ui-helper-clearfix =
ui-widget-header ui-corner-all');
			this.lis.addClass('ui-state-default ui-corner-top');
			this.panels.addClass('ui-tabs-panel ui-widget-content =
ui-corner-bottom');

			// Selected tab
			// use "selected" option or try to retrieve:
			// 1. from fragment identifier in url
			// 2. from cookie
			// 3. from selected class attribute on <li>
			if (o.selected =3D=3D=3D undefined) {
				if (location.hash) {
					this.anchors.each(function(i, a) {
						if (a.hash =3D=3D location.hash) {
							o.selected =3D i;
							return false; // break
						}
					});
				}
				if (typeof o.selected !=3D 'number' && o.cookie) {
					o.selected =3D parseInt(self._cookie(), 10);
				}
				if (typeof o.selected !=3D 'number' && =
this.lis.filter('.ui-tabs-selected').length) {
					o.selected =3D =
this.lis.index(this.lis.filter('.ui-tabs-selected'));
				}
				o.selected =3D o.selected || 0;
			}
			else if (o.selected =3D=3D=3D null) { // usage of null is deprecated, =
TODO remove in next release
				o.selected =3D -1;
			}

			// sanity check - default to first tab...
			o.selected =3D ((o.selected >=3D 0 && this.anchors[o.selected]) || =
o.selected < 0) ? o.selected : 0;

			// Take disabling tabs via class attribute from HTML
			// into account and update option properly.
			// A selected tab cannot become disabled.
			o.disabled =3D $.unique(o.disabled.concat(
				$.map(this.lis.filter('.ui-state-disabled'),
					function(n, i) { return self.lis.index(n); } )
			)).sort();

			if ($.inArray(o.selected, o.disabled) !=3D -1) {
				o.disabled.splice($.inArray(o.selected, o.disabled), 1);
			}

			// highlight selected tab
			this.panels.addClass('ui-tabs-hide');
			this.lis.removeClass('ui-tabs-selected ui-state-active');
			if (o.selected >=3D 0 && this.anchors.length) { // check for length =
avoids error when initializing empty list
				this.panels.eq(o.selected).removeClass('ui-tabs-hide');
				this.lis.eq(o.selected).addClass('ui-tabs-selected =
ui-state-active');

				// seems to be expected behavior that the show callback is fired
				self.element.queue("tabs", function() {
					self._trigger('show', null, self._ui(self.anchors[o.selected], =
self.panels[o.selected]));
				});

				this.load(o.selected);
			}

			// clean up to avoid memory leaks in certain versions of IE 6
			$(window).bind('unload', function() {
				self.lis.add(self.anchors).unbind('.tabs');
				self.lis =3D self.anchors =3D self.panels =3D null;
			});

		}
		// update selected after add/remove
		else {
			o.selected =3D this.lis.index(this.lis.filter('.ui-tabs-selected'));
		}

		// update collapsible
		this.element[o.collapsible ? 'addClass' : =
'removeClass']('ui-tabs-collapsible');

		// set or update cookie after init and add/remove respectively
		if (o.cookie) {
			this._cookie(o.selected, o.cookie);
		}

		// disable tabs
		for (var i =3D 0, li; (li =3D this.lis[i]); i++) {
			$(li)[$.inArray(i, o.disabled) !=3D -1 &&
				!$(li).hasClass('ui-tabs-selected') ? 'addClass' : =
'removeClass']('ui-state-disabled');
		}

		// reset cache if switching from cached to not cached
		if (o.cache =3D=3D=3D false) {
			this.anchors.removeData('cache.tabs');
		}

		// remove all handlers before, tabify may run on existing tabs after =
add or option change
		this.lis.add(this.anchors).unbind('.tabs');

		if (o.event !=3D 'mouseover') {
			var addState =3D function(state, el) {
				if (el.is(':not(.ui-state-disabled)')) {
					el.addClass('ui-state-' + state);
				}
			};
			var removeState =3D function(state, el) {
				el.removeClass('ui-state-' + state);
			};
			this.lis.bind('mouseover.tabs', function() {
				addState('hover', $(this));
			});
			this.lis.bind('mouseout.tabs', function() {
				removeState('hover', $(this));
			});
			this.anchors.bind('focus.tabs', function() {
				addState('focus', $(this).closest('li'));
			});
			this.anchors.bind('blur.tabs', function() {
				removeState('focus', $(this).closest('li'));
			});
		}

		// set up animations
		var hideFx, showFx;
		if (o.fx) {
			if ($.isArray(o.fx)) {
				hideFx =3D o.fx[0];
				showFx =3D o.fx[1];
			}
			else {
				hideFx =3D showFx =3D o.fx;
			}
		}

		// Reset certain styles left over from animation
		// and prevent IE's ClearType bug...
		function resetStyle($el, fx) {
			$el.css({ display: '' });
			if ($.browser.msie && fx.opacity) {
				$el[0].style.removeAttribute('filter');
			}
		}

		// Show a tab...
		var showTab =3D showFx ?
			function(clicked, $show) {
				=
$(clicked).closest('li').removeClass('ui-state-default').addClass('ui-tab=
s-selected ui-state-active');
				$show.hide().removeClass('ui-tabs-hide') // avoid flicker that way
					.animate(showFx, showFx.duration || 'normal', function() {
						resetStyle($show, showFx);
						self._trigger('show', null, self._ui(clicked, $show[0]));
					});
			} :
			function(clicked, $show) {
				=
$(clicked).closest('li').removeClass('ui-state-default').addClass('ui-tab=
s-selected ui-state-active');
				$show.removeClass('ui-tabs-hide');
				self._trigger('show', null, self._ui(clicked, $show[0]));
			};

		// Hide a tab, $show is optional...
		var hideTab =3D hideFx ?
			function(clicked, $hide) {
				$hide.animate(hideFx, hideFx.duration || 'normal', function() {
					self.lis.removeClass('ui-tabs-selected =
ui-state-active').addClass('ui-state-default');
					$hide.addClass('ui-tabs-hide');
					resetStyle($hide, hideFx);
					self.element.dequeue("tabs");
				});
			} :
			function(clicked, $hide, $show) {
				self.lis.removeClass('ui-tabs-selected =
ui-state-active').addClass('ui-state-default');
				$hide.addClass('ui-tabs-hide');
				self.element.dequeue("tabs");
			};

		// attach tab event handler, unbind to avoid duplicates from former =
tabifying...
		this.anchors.bind(o.event + '.tabs', function() {
			var el =3D this, $li =3D $(this).closest('li'), $hide =3D =
self.panels.filter(':not(.ui-tabs-hide)'),
					$show =3D $(self._sanitizeSelector(this.hash));

			// If tab is already selected and not collapsible or tab disabled or
			// or is already loading or click callback returns false stop here.
			// Check if click handler returns false last so that it is not =
executed
			// for a disabled or loading tab!
			if (($li.hasClass('ui-tabs-selected') && !o.collapsible) ||
				$li.hasClass('ui-state-disabled') ||
				$li.hasClass('ui-state-processing') ||
				self._trigger('select', null, self._ui(this, $show[0])) =3D=3D=3D =
false) {
				this.blur();
				return false;
			}

			o.selected =3D self.anchors.index(this);

			self.abort();

			// if tab may be closed
			if (o.collapsible) {
				if ($li.hasClass('ui-tabs-selected')) {
					o.selected =3D -1;

					if (o.cookie) {
						self._cookie(o.selected, o.cookie);
					}

					self.element.queue("tabs", function() {
						hideTab(el, $hide);
					}).dequeue("tabs");

					this.blur();
					return false;
				}
				else if (!$hide.length) {
					if (o.cookie) {
						self._cookie(o.selected, o.cookie);
					}

					self.element.queue("tabs", function() {
						showTab(el, $show);
					});

					self.load(self.anchors.index(this)); // TODO make passing in node =
possible, see also http://dev.jqueryui.com/ticket/3171

					this.blur();
					return false;
				}
			}

			if (o.cookie) {
				self._cookie(o.selected, o.cookie);
			}

			// show new tab
			if ($show.length) {
				if ($hide.length) {
					self.element.queue("tabs", function() {
						hideTab(el, $hide);
					});
				}
				self.element.queue("tabs", function() {
					showTab(el, $show);
				});

				self.load(self.anchors.index(this));
			}
			else {
				throw 'jQuery UI Tabs: Mismatching fragment identifier.';
			}

			// Prevent IE from keeping other link focussed when using the back =
button
			// and remove dotted border from clicked link. This is controlled via =
CSS
			// in modern browsers; blur() removes focus from address bar in =
Firefox
			// which can become a usability and annoying problem with =
tabs('rotate').
			if ($.browser.msie) {
				this.blur();
			}

		});

		// disable click in any case
		this.anchors.bind('click.tabs', function(){return false;});

	},

	destroy: function() {
		var o =3D this.options;

		this.abort();

		this.element.unbind('.tabs')
			.removeClass('ui-tabs ui-widget ui-widget-content ui-corner-all =
ui-tabs-collapsible')
			.removeData('tabs');

		this.list.removeClass('ui-tabs-nav ui-helper-reset ui-helper-clearfix =
ui-widget-header ui-corner-all');

		this.anchors.each(function() {
			var href =3D $.data(this, 'href.tabs');
			if (href) {
				this.href =3D href;
			}
			var $this =3D $(this).unbind('.tabs');
			$.each(['href', 'load', 'cache'], function(i, prefix) {
				$this.removeData(prefix + '.tabs');
			});
		});

		this.lis.unbind('.tabs').add(this.panels).each(function() {
			if ($.data(this, 'destroy.tabs')) {
				$(this).remove();
			}
			else {
				$(this).removeClass([
					'ui-state-default',
					'ui-corner-top',
					'ui-tabs-selected',
					'ui-state-active',
					'ui-state-hover',
					'ui-state-focus',
					'ui-state-disabled',
					'ui-tabs-panel',
					'ui-widget-content',
					'ui-corner-bottom',
					'ui-tabs-hide'
				].join(' '));
			}
		});

		if (o.cookie) {
			this._cookie(null, o.cookie);
		}
	},

	add: function(url, label, index) {
		if (index =3D=3D=3D undefined) {
			index =3D this.anchors.length; // append by default
		}

		var self =3D this, o =3D this.options,
			$li =3D $(o.tabTemplate.replace(/#\{href\}/g, =
url).replace(/#\{label\}/g, label)),
			id =3D !url.indexOf('#') ? url.replace('#', '') : this._tabId($('a', =
$li)[0]);

		$li.addClass('ui-state-default ui-corner-top').data('destroy.tabs', =
true);

		// try to find an existing element before creating a new one
		var $panel =3D $('#' + id);
		if (!$panel.length) {
			$panel =3D $(o.panelTemplate).attr('id', id).data('destroy.tabs', =
true);
		}
		$panel.addClass('ui-tabs-panel ui-widget-content ui-corner-bottom =
ui-tabs-hide');

		if (index >=3D this.lis.length) {
			$li.appendTo(this.list);
			$panel.appendTo(this.list[0].parentNode);
		}
		else {
			$li.insertBefore(this.lis[index]);
			$panel.insertBefore(this.panels[index]);
		}

		o.disabled =3D $.map(o.disabled,
			function(n, i) { return n >=3D index ? ++n : n; });

		this._tabify();

		if (this.anchors.length =3D=3D 1) { // after tabify
			$li.addClass('ui-tabs-selected ui-state-active');
			$panel.removeClass('ui-tabs-hide');
			this.element.queue("tabs", function() {
				self._trigger('show', null, self._ui(self.anchors[0], =
self.panels[0]));
			});

			this.load(0);
		}

		// callback
		this._trigger('add', null, this._ui(this.anchors[index], =
this.panels[index]));
	},

	remove: function(index) {
		var o =3D this.options, $li =3D this.lis.eq(index).remove(),
			$panel =3D this.panels.eq(index).remove();

		// If selected tab was removed focus tab to the right or
		// in case the last tab was removed the tab to the left.
		if ($li.hasClass('ui-tabs-selected') && this.anchors.length > 1) {
			this.select(index + (index + 1 < this.anchors.length ? 1 : -1));
		}

		o.disabled =3D $.map($.grep(o.disabled, function(n, i) { return n !=3D =
index; }),
			function(n, i) { return n >=3D index ? --n : n; });

		this._tabify();

		// callback
		this._trigger('remove', null, this._ui($li.find('a')[0], $panel[0]));
	},

	enable: function(index) {
		var o =3D this.options;
		if ($.inArray(index, o.disabled) =3D=3D -1) {
			return;
		}

		this.lis.eq(index).removeClass('ui-state-disabled');
		o.disabled =3D $.grep(o.disabled, function(n, i) { return n !=3D =
index; });

		// callback
		this._trigger('enable', null, this._ui(this.anchors[index], =
this.panels[index]));
	},

	disable: function(index) {
		var self =3D this, o =3D this.options;
		if (index !=3D o.selected) { // cannot disable already selected tab
			this.lis.eq(index).addClass('ui-state-disabled');

			o.disabled.push(index);
			o.disabled.sort();

			// callback
			this._trigger('disable', null, this._ui(this.anchors[index], =
this.panels[index]));
		}
	},

	select: function(index) {
		if (typeof index =3D=3D 'string') {
			index =3D this.anchors.index(this.anchors.filter('[href$=3D' + index =
+ ']'));
		}
		else if (index =3D=3D=3D null) { // usage of null is deprecated, TODO =
remove in next release
			index =3D -1;
		}
		if (index =3D=3D -1 && this.options.collapsible) {
			index =3D this.options.selected;
		}

		this.anchors.eq(index).trigger(this.options.event + '.tabs');
	},

	load: function(index) {
		var self =3D this, o =3D this.options, a =3D =
this.anchors.eq(index)[0], url =3D $.data(a, 'load.tabs');

		this.abort();

		// not remote or from cache
		if (!url || this.element.queue("tabs").length !=3D=3D 0 && $.data(a, =
'cache.tabs')) {
			this.element.dequeue("tabs");
			return;
		}

		// load remote from here on
		this.lis.eq(index).addClass('ui-state-processing');

		if (o.spinner) {
			var span =3D $('span', a);
			span.data('label.tabs', span.html()).html(o.spinner);
		}

		this.xhr =3D $.ajax($.extend({}, o.ajaxOptions, {
			url: url,
			success: function(r, s) {
				$(self._sanitizeSelector(a.hash)).html(r);

				// take care of tab labels
				self._cleanup();

				if (o.cache) {
					$.data(a, 'cache.tabs', true); // if loaded once do not load them =
again
				}

				// callbacks
				self._trigger('load', null, self._ui(self.anchors[index], =
self.panels[index]));
				try {
					o.ajaxOptions.success(r, s);
				}
				catch (e) {}

				// last, so that load event is fired before show...
				self.element.dequeue("tabs");
			}
		}));
	},

	abort: function() {
		// stop possibly running animations
		this.element.queue([]);
		this.panels.stop(false, true);

		// terminate pending requests from other tabs
		if (this.xhr) {
			this.xhr.abort();
			delete this.xhr;
		}

		// take care of tab labels
		this._cleanup();

	},

	url: function(index, url) {
		this.anchors.eq(index).removeData('cache.tabs').data('load.tabs', =
url);
	},

	length: function() {
		return this.anchors.length;
	}

});

$.extend($.ui.tabs, {
	version: '1.7',
	getter: 'length',
	defaults: {
		ajaxOptions: null,
		cache: false,
		cookie: null, // e.g. { expires: 7, path: '/', domain: 'jquery.com', =
secure: true }
		collapsible: false,
		disabled: [],
		event: 'click',
		fx: null, // e.g. { height: 'toggle', opacity: 'toggle', duration: 200 =
}
		idPrefix: 'ui-tabs-',
		panelTemplate: '<div></div>',
		spinner: '<em>Loading&#8230;</em>',
		tabTemplate: '<li><a href=3D"#{href}"><span>#{label}</span></a></li>'
	}
});

/*
 * Tabs Extensions
 */

/*
 * Rotate
 */
$.extend($.ui.tabs.prototype, {
	rotation: null,
	rotate: function(ms, continuing) {

		var self =3D this, o =3D this.options;

		var rotate =3D self._rotate || (self._rotate =3D function(e) {
			clearTimeout(self.rotation);
			self.rotation =3D setTimeout(function() {
				var t =3D o.selected;
				self.select( ++t < self.anchors.length ? t : 0 );
			}, ms);

			if (e) {
				e.stopPropagation();
			}
		});

		var stop =3D self._unrotate || (self._unrotate =3D !continuing ?
			function(e) {
				if (e.clientX) { // in case of a true click
					self.rotate(null);
				}
			} :
			function(e) {
				t =3D o.selected;
				rotate();
			});

		// start rotation
		if (ms) {
			this.element.bind('tabsshow', rotate);
			this.anchors.bind(o.event + '.tabs', stop);
			rotate();
		}
		// stop rotation
		else {
			clearTimeout(self.rotation);
			this.element.unbind('tabsshow', rotate);
			this.anchors.unbind(o.event + '.tabs', stop);
			delete this._rotate;
			delete this._unrotate;
		}
	}
});

})(jQuery);

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/jquery.validate.js

/*=0A=
 * jQuery validation plug-in 1.5.5=0A=
 *=0A=
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/=0A=
 * http://docs.jquery.com/Plugins/Validation=0A=
 *=0A=
 * Copyright (c) 2006 - 2008 J=C3=B6rn Zaefferer=0A=
 *=0A=
 * $Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $=0A=
 *=0A=
 * Dual licensed under the MIT and GPL licenses:=0A=
 *   http://www.opensource.org/licenses/mit-license.php=0A=
 *   http://www.gnu.org/licenses/gpl.html=0A=
 */=0A=
=0A=
(function($) {=0A=
=0A=
$.extend($.fn, {=0A=
	// http://docs.jquery.com/Plugins/Validation/validate=0A=
	validate: function( options ) {=0A=
=0A=
		// if nothing is selected, return nothing; can't chain anyway=0A=
		if (!this.length) {=0A=
			options && options.debug && window.console && console.warn( "nothing =
selected, can't validate, returning nothing" );=0A=
			return;=0A=
		}=0A=
=0A=
		// check if a validator for this form was already created=0A=
		var validator =3D $.data(this[0], 'validator');=0A=
		if ( validator ) {=0A=
			return validator;=0A=
		}=0A=
		=0A=
		validator =3D new $.validator( options, this[0] );=0A=
		$.data(this[0], 'validator', validator); =0A=
		=0A=
		if ( validator.settings.onsubmit ) {=0A=
		=0A=
			// allow suppresing validation by adding a cancel class to the submit =
button=0A=
			this.find("input, button").filter(".cancel").click(function() {=0A=
				validator.cancelSubmit =3D true;=0A=
			});=0A=
			=0A=
			// when a submitHandler is used, capture the submitting button=0A=
			if (validator.settings.submitHandler) {=0A=
				this.find("input, button").filter(":submit").click(function() {=0A=
					validator.submitButton =3D this;=0A=
				});=0A=
			}=0A=
		=0A=
			// validate the form on submit=0A=
			this.submit( function( event ) {=0A=
				if ( validator.settings.debug )=0A=
					// prevent form submit to be able to see console output=0A=
					event.preventDefault();=0A=
					=0A=
				function handle() {=0A=
					if ( validator.settings.submitHandler ) {=0A=
						if (validator.submitButton) {=0A=
							// insert a hidden input as a replacement for the missing submit =
button=0A=
							var hidden =3D $("<input type=3D'hidden'/>").attr("name", =
validator.submitButton.name).val(validator.submitButton.value).appendTo(v=
alidator.currentForm);=0A=
						}=0A=
						validator.settings.submitHandler.call( validator, =
validator.currentForm );=0A=
						if (validator.submitButton) {=0A=
							// and clean up afterwards; thanks to no-block-scope, hidden can =
be referenced=0A=
							hidden.remove();=0A=
						}=0A=
						return false;=0A=
					}=0A=
					return true;=0A=
				}=0A=
					=0A=
				// prevent submit for invalid forms or custom submit handlers=0A=
				if ( validator.cancelSubmit ) {=0A=
					validator.cancelSubmit =3D false;=0A=
					return handle();=0A=
				}=0A=
				if ( validator.form() ) {=0A=
					if ( validator.pendingRequest ) {=0A=
						validator.formSubmitted =3D true;=0A=
						return false;=0A=
					}=0A=
					return handle();=0A=
				} else {=0A=
					validator.focusInvalid();=0A=
					return false;=0A=
				}=0A=
			});=0A=
		}=0A=
		=0A=
		return validator;=0A=
	},=0A=
	// http://docs.jquery.com/Plugins/Validation/valid=0A=
	valid: function() {=0A=
        if ( $(this[0]).is('form')) {=0A=
            return this.validate().form();=0A=
        } else {=0A=
            var valid =3D true;=0A=
            var validator =3D $(this[0].form).validate();=0A=
            this.each(function() {=0A=
				valid &=3D validator.element(this);=0A=
            });=0A=
            return valid;=0A=
        }=0A=
    },=0A=
	// attributes: space seperated list of attributes to retrieve and remove=0A=
	removeAttrs: function(attributes) {=0A=
		var result =3D {},=0A=
			$element =3D this;=0A=
		$.each(attributes.split(/\s/), function(index, value) {=0A=
			result[value] =3D $element.attr(value);=0A=
			$element.removeAttr(value);=0A=
		});=0A=
		return result;=0A=
	},=0A=
	// http://docs.jquery.com/Plugins/Validation/rules=0A=
	rules: function(command, argument) {=0A=
		var element =3D this[0];=0A=
		=0A=
		if (command) {=0A=
			var settings =3D $.data(element.form, 'validator').settings;=0A=
			var staticRules =3D settings.rules;=0A=
			var existingRules =3D $.validator.staticRules(element);=0A=
			switch(command) {=0A=
			case "add":=0A=
				$.extend(existingRules, $.validator.normalizeRule(argument));=0A=
				staticRules[element.name] =3D existingRules;=0A=
				if (argument.messages)=0A=
					settings.messages[element.name] =3D $.extend( =
settings.messages[element.name], argument.messages );=0A=
				break;=0A=
			case "remove":=0A=
				if (!argument) {=0A=
					delete staticRules[element.name];=0A=
					return existingRules;=0A=
				}=0A=
				var filtered =3D {};=0A=
				$.each(argument.split(/\s/), function(index, method) {=0A=
					filtered[method] =3D existingRules[method];=0A=
					delete existingRules[method];=0A=
				});=0A=
				return filtered;=0A=
			}=0A=
		}=0A=
		=0A=
		var data =3D $.validator.normalizeRules(=0A=
		$.extend(=0A=
			{},=0A=
			$.validator.metadataRules(element),=0A=
			$.validator.classRules(element),=0A=
			$.validator.attributeRules(element),=0A=
			$.validator.staticRules(element)=0A=
		), element);=0A=
		=0A=
		// make sure required is at front=0A=
		if (data.required) {=0A=
			var param =3D data.required;=0A=
			delete data.required;=0A=
			data =3D $.extend({required: param}, data);=0A=
		}=0A=
		=0A=
		return data;=0A=
	}=0A=
});=0A=
=0A=
// Custom selectors=0A=
$.extend($.expr[":"], {=0A=
	// http://docs.jquery.com/Plugins/Validation/blank=0A=
	blank: function(a) {return !$.trim(a.value);},=0A=
	// http://docs.jquery.com/Plugins/Validation/filled=0A=
	filled: function(a) {return !!$.trim(a.value);},=0A=
	// http://docs.jquery.com/Plugins/Validation/unchecked=0A=
	unchecked: function(a) {return !a.checked;}=0A=
});=0A=
=0A=
// constructor for validator=0A=
$.validator =3D function( options, form ) {=0A=
	this.settings =3D $.extend( {}, $.validator.defaults, options );=0A=
	this.currentForm =3D form;=0A=
	this.init();=0A=
};=0A=
=0A=
$.validator.format =3D function(source, params) {=0A=
	if ( arguments.length =3D=3D 1 ) =0A=
		return function() {=0A=
			var args =3D $.makeArray(arguments);=0A=
			args.unshift(source);=0A=
			return $.validator.format.apply( this, args );=0A=
		};=0A=
	if ( arguments.length > 2 && params.constructor !=3D Array  ) {=0A=
		params =3D $.makeArray(arguments).slice(1);=0A=
	}=0A=
	if ( params.constructor !=3D Array ) {=0A=
		params =3D [ params ];=0A=
	}=0A=
	$.each(params, function(i, n) {=0A=
		source =3D source.replace(new RegExp("\\{" + i + "\\}", "g"), n);=0A=
	});=0A=
	return source;=0A=
};=0A=
=0A=
$.extend($.validator, {=0A=
	=0A=
	defaults: {=0A=
		messages: {},=0A=
		groups: {},=0A=
		rules: {},=0A=
		errorClass: "error",=0A=
		validClass: "valid",=0A=
		errorElement: "label",=0A=
		focusInvalid: true,=0A=
		errorContainer: $( [] ),=0A=
		errorLabelContainer: $( [] ),=0A=
		onsubmit: true,=0A=
		ignore: [],=0A=
		ignoreTitle: false,=0A=
		onfocusin: function(element) {=0A=
			this.lastActive =3D element;=0A=
				=0A=
			// hide error label and remove error class on focus if enabled=0A=
			if ( this.settings.focusCleanup && !this.blockFocusCleanup ) {=0A=
				this.settings.unhighlight && this.settings.unhighlight.call( this, =
element, this.settings.errorClass, this.settings.validClass );=0A=
				this.errorsFor(element).hide();=0A=
			}=0A=
		},=0A=
		onfocusout: function(element) {=0A=
			if ( !this.checkable(element) && (element.name in this.submitted || =
!this.optional(element)) ) {=0A=
				this.element(element);=0A=
			}=0A=
		},=0A=
		onkeyup: function(element) {=0A=
			if ( element.name in this.submitted || element =3D=3D =
this.lastElement ) {=0A=
				this.element(element);=0A=
			}=0A=
		},=0A=
		onclick: function(element) {=0A=
			if ( element.name in this.submitted )=0A=
				this.element(element);=0A=
		},=0A=
		highlight: function( element, errorClass, validClass ) {=0A=
			$(element).addClass(errorClass).removeClass(validClass);=0A=
		},=0A=
		unhighlight: function( element, errorClass, validClass ) {=0A=
			$(element).removeClass(errorClass).addClass(validClass);=0A=
		}=0A=
	},=0A=
=0A=
	// http://docs.jquery.com/Plugins/Validation/Validator/setDefaults=0A=
	setDefaults: function(settings) {=0A=
		$.extend( $.validator.defaults, settings );=0A=
	},=0A=
=0A=
	messages: {=0A=
		required: "This field is required.",=0A=
		remote: "Please fix this field.",=0A=
		email: "Please enter a valid email address.",=0A=
		url: "Please enter a valid URL.",=0A=
		date: "Please enter a valid date.",=0A=
		dateISO: "Please enter a valid date (ISO).",=0A=
		dateDE: "Bitte geben Sie ein g=C3=BCltiges Datum ein.",=0A=
		number: "Please enter a valid number.",=0A=
		numberDE: "Bitte geben Sie eine Nummer ein.",=0A=
		digits: "Please enter only digits",=0A=
		creditcard: "Please enter a valid credit card number.",=0A=
		equalTo: "Please enter the same value again.",=0A=
		accept: "Please enter a value with a valid extension.",=0A=
		maxlength: $.validator.format("Please enter no more than {0} =
characters."),=0A=
		minlength: $.validator.format("Please enter at least {0} characters."),=0A=
		rangelength: $.validator.format("Please enter a value between {0} and =
{1} characters long."),=0A=
		range: $.validator.format("Please enter a value between {0} and {1}."),=0A=
		max: $.validator.format("Please enter a value less than or equal to =
{0}."),=0A=
		min: $.validator.format("Please enter a value greater than or equal to =
{0}.")=0A=
	},=0A=
	=0A=
	autoCreateRanges: false,=0A=
	=0A=
	prototype: {=0A=
		=0A=
		init: function() {=0A=
			this.labelContainer =3D $(this.settings.errorLabelContainer);=0A=
			this.errorContext =3D this.labelContainer.length && =
this.labelContainer || $(this.currentForm);=0A=
			this.containers =3D $(this.settings.errorContainer).add( =
this.settings.errorLabelContainer );=0A=
			this.submitted =3D {};=0A=
			this.valueCache =3D {};=0A=
			this.pendingRequest =3D 0;=0A=
			this.pending =3D {};=0A=
			this.invalid =3D {};=0A=
			this.reset();=0A=
			=0A=
			var groups =3D (this.groups =3D {});=0A=
			$.each(this.settings.groups, function(key, value) {=0A=
				$.each(value.split(/\s/), function(index, name) {=0A=
					groups[name] =3D key;=0A=
				});=0A=
			});=0A=
			var rules =3D this.settings.rules;=0A=
			$.each(rules, function(key, value) {=0A=
				rules[key] =3D $.validator.normalizeRule(value);=0A=
			});=0A=
			=0A=
			function delegate(event) {=0A=
				var validator =3D $.data(this[0].form, "validator");=0A=
				validator.settings["on" + event.type] && validator.settings["on" + =
event.type].call(validator, this[0] );=0A=
			}=0A=
			$(this.currentForm)=0A=
				.delegate("focusin focusout keyup", ":text, :password, :file, =
select, textarea", delegate)=0A=
				.delegate("click", ":radio, :checkbox", delegate);=0A=
=0A=
			if (this.settings.invalidHandler)=0A=
				$(this.currentForm).bind("invalid-form.validate", =
this.settings.invalidHandler);=0A=
		},=0A=
=0A=
		// http://docs.jquery.com/Plugins/Validation/Validator/form=0A=
		form: function() {=0A=
			this.checkForm();=0A=
			$.extend(this.submitted, this.errorMap);=0A=
			this.invalid =3D $.extend({}, this.errorMap);=0A=
			if (!this.valid())=0A=
				$(this.currentForm).triggerHandler("invalid-form", [this]);=0A=
			this.showErrors();=0A=
			return this.valid();=0A=
		},=0A=
		=0A=
		checkForm: function() {=0A=
			this.prepareForm();=0A=
			for ( var i =3D 0, elements =3D (this.currentElements =3D =
this.elements()); elements[i]; i++ ) {=0A=
				this.check( elements[i] );=0A=
			}=0A=
			return this.valid(); =0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Validator/element=0A=
		element: function( element ) {=0A=
			element =3D this.clean( element );=0A=
			this.lastElement =3D element;=0A=
			this.prepareElement( element );=0A=
			this.currentElements =3D $(element);=0A=
			var result =3D this.check( element );=0A=
			if ( result ) {=0A=
				delete this.invalid[element.name];=0A=
			} else {=0A=
				this.invalid[element.name] =3D true;=0A=
			}=0A=
			if ( !this.numberOfInvalids() ) {=0A=
				// Hide error containers on last error=0A=
				this.toHide =3D this.toHide.add( this.containers );=0A=
			}=0A=
			this.showErrors();=0A=
			return result;=0A=
		},=0A=
=0A=
		// http://docs.jquery.com/Plugins/Validation/Validator/showErrors=0A=
		showErrors: function(errors) {=0A=
			if(errors) {=0A=
				// add items to error list and map=0A=
				$.extend( this.errorMap, errors );=0A=
				this.errorList =3D [];=0A=
				for ( var name in errors ) {=0A=
					this.errorList.push({=0A=
						message: errors[name],=0A=
						element: this.findByName(name)[0]=0A=
					});=0A=
				}=0A=
				// remove items from success list=0A=
				this.successList =3D $.grep( this.successList, function(element) {=0A=
					return !(element.name in errors);=0A=
				});=0A=
			}=0A=
			this.settings.showErrors=0A=
				? this.settings.showErrors.call( this, this.errorMap, this.errorList =
)=0A=
				: this.defaultShowErrors();=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Validator/resetForm=0A=
		resetForm: function() {=0A=
			if ( $.fn.resetForm )=0A=
				$( this.currentForm ).resetForm();=0A=
			this.submitted =3D {};=0A=
			this.prepareForm();=0A=
			this.hideErrors();=0A=
			this.elements().removeClass( this.settings.errorClass );=0A=
		},=0A=
		=0A=
		numberOfInvalids: function() {=0A=
			return this.objectLength(this.invalid);=0A=
		},=0A=
		=0A=
		objectLength: function( obj ) {=0A=
			var count =3D 0;=0A=
			for ( var i in obj )=0A=
				count++;=0A=
			return count;=0A=
		},=0A=
		=0A=
		hideErrors: function() {=0A=
			this.addWrapper( this.toHide ).hide();=0A=
		},=0A=
		=0A=
		valid: function() {=0A=
			return this.size() =3D=3D 0;=0A=
		},=0A=
		=0A=
		size: function() {=0A=
			return this.errorList.length;=0A=
		},=0A=
		=0A=
		focusInvalid: function() {=0A=
			if( this.settings.focusInvalid ) {=0A=
				try {=0A=
					$(this.findLastActive() || this.errorList.length && =
this.errorList[0].element || []).filter(":visible").focus();=0A=
				} catch(e) {=0A=
					// ignore IE throwing errors when focusing hidden elements=0A=
				}=0A=
			}=0A=
		},=0A=
		=0A=
		findLastActive: function() {=0A=
			var lastActive =3D this.lastActive;=0A=
			return lastActive && $.grep(this.errorList, function(n) {=0A=
				return n.element.name =3D=3D lastActive.name;=0A=
			}).length =3D=3D 1 && lastActive;=0A=
		},=0A=
		=0A=
		elements: function() {=0A=
			var validator =3D this,=0A=
				rulesCache =3D {};=0A=
			=0A=
			// select all valid inputs inside the form (no submit or reset =
buttons)=0A=
			// workaround $Query([]).add until http://dev.jquery.com/ticket/2114 =
is solved=0A=
			return $([]).add(this.currentForm.elements)=0A=
			.filter(":input")=0A=
			.not(":submit, :reset, :image, [disabled]")=0A=
			.not( this.settings.ignore )=0A=
			.filter(function() {=0A=
				!this.name && validator.settings.debug && window.console && =
console.error( "%o has no name assigned", this);=0A=
			=0A=
				// select only the first element for each name, and only those with =
rules specified=0A=
				if ( this.name in rulesCache || =
!validator.objectLength($(this).rules()) )=0A=
					return false;=0A=
				=0A=
				rulesCache[this.name] =3D true;=0A=
				return true;=0A=
			});=0A=
		},=0A=
		=0A=
		clean: function( selector ) {=0A=
			return $( selector )[0];=0A=
		},=0A=
		=0A=
		errors: function() {=0A=
			return $( this.settings.errorElement + "." + =
this.settings.errorClass, this.errorContext );=0A=
		},=0A=
		=0A=
		reset: function() {=0A=
			this.successList =3D [];=0A=
			this.errorList =3D [];=0A=
			this.errorMap =3D {};=0A=
			this.toShow =3D $([]);=0A=
			this.toHide =3D $([]);=0A=
			this.formSubmitted =3D false;=0A=
			this.currentElements =3D $([]);=0A=
		},=0A=
		=0A=
		prepareForm: function() {=0A=
			this.reset();=0A=
			this.toHide =3D this.errors().add( this.containers );=0A=
		},=0A=
		=0A=
		prepareElement: function( element ) {=0A=
			this.reset();=0A=
			this.toHide =3D this.errorsFor(element);=0A=
		},=0A=
	=0A=
		check: function( element ) {=0A=
			element =3D this.clean( element );=0A=
			=0A=
			// if radio/checkbox, validate first element in group instead=0A=
			if (this.checkable(element)) {=0A=
				element =3D this.findByName( element.name )[0];=0A=
			}=0A=
			=0A=
			var rules =3D $(element).rules();=0A=
			var dependencyMismatch =3D false;=0A=
			for( method in rules ) {=0A=
				var rule =3D { method: method, parameters: rules[method] };=0A=
				try {=0A=
					var result =3D $.validator.methods[method].call( this, =
element.value.replace(/\r/g, ""), element, rule.parameters );=0A=
					=0A=
					// if a method indicates that the field is optional and therefore =
valid,=0A=
					// don't mark it as valid when there are no other rules=0A=
					if ( result =3D=3D "dependency-mismatch" ) {=0A=
						dependencyMismatch =3D true;=0A=
						continue;=0A=
					}=0A=
					dependencyMismatch =3D false;=0A=
					=0A=
					if ( result =3D=3D "pending" ) {=0A=
						this.toHide =3D this.toHide.not( this.errorsFor(element) );=0A=
						return;=0A=
					}=0A=
					=0A=
					if( !result ) {=0A=
						this.formatAndAdd( element, rule );=0A=
						return false;=0A=
					}=0A=
				} catch(e) {=0A=
					this.settings.debug && window.console && console.log("exception =
occured when checking element " + element.id=0A=
						 + ", check the '" + rule.method + "' method");=0A=
					throw e;=0A=
				}=0A=
			}=0A=
			if (dependencyMismatch)=0A=
				return;=0A=
			if ( this.objectLength(rules) )=0A=
				this.successList.push(element);=0A=
			return true;=0A=
		},=0A=
		=0A=
		// return the custom message for the given element and validation =
method=0A=
		// specified in the element's "messages" metadata=0A=
		customMetaMessage: function(element, method) {=0A=
			if (!$.metadata)=0A=
				return;=0A=
			=0A=
			var meta =3D this.settings.meta=0A=
				? $(element).metadata()[this.settings.meta]=0A=
				: $(element).metadata();=0A=
			=0A=
			return meta && meta.messages && meta.messages[method];=0A=
		},=0A=
		=0A=
		// return the custom message for the given element name and validation =
method=0A=
		customMessage: function( name, method ) {=0A=
			var m =3D this.settings.messages[name];=0A=
			return m && (m.constructor =3D=3D String=0A=
				? m=0A=
				: m[method]);=0A=
		},=0A=
		=0A=
		// return the first defined argument, allowing empty strings=0A=
		findDefined: function() {=0A=
			for(var i =3D 0; i < arguments.length; i++) {=0A=
				if (arguments[i] !=3D=3D undefined)=0A=
					return arguments[i];=0A=
			}=0A=
			return undefined;=0A=
		},=0A=
		=0A=
		defaultMessage: function( element, method) {=0A=
			return this.findDefined(=0A=
				this.customMessage( element.name, method ),=0A=
				this.customMetaMessage( element, method ),=0A=
				// title is never undefined, so handle empty string as undefined=0A=
				!this.settings.ignoreTitle && element.title || undefined,=0A=
				$.validator.messages[method],=0A=
				"<strong>Warning: No message defined for " + element.name + =
"</strong>"=0A=
			);=0A=
		},=0A=
		=0A=
		formatAndAdd: function( element, rule ) {=0A=
			var message =3D this.defaultMessage( element, rule.method );=0A=
			if ( typeof message =3D=3D "function" ) =0A=
				message =3D message.call(this, rule.parameters, element);=0A=
			this.errorList.push({=0A=
				message: message,=0A=
				element: element=0A=
			});=0A=
			this.errorMap[element.name] =3D message;=0A=
			this.submitted[element.name] =3D message;=0A=
		},=0A=
		=0A=
		addWrapper: function(toToggle) {=0A=
			if ( this.settings.wrapper )=0A=
				toToggle =3D toToggle.add( toToggle.parent( this.settings.wrapper ) =
);=0A=
			return toToggle;=0A=
		},=0A=
		=0A=
		defaultShowErrors: function() {=0A=
			for ( var i =3D 0; this.errorList[i]; i++ ) {=0A=
				var error =3D this.errorList[i];=0A=
				this.settings.highlight && this.settings.highlight.call( this, =
error.element, this.settings.errorClass, this.settings.validClass );=0A=
				this.showLabel( error.element, error.message );=0A=
			}=0A=
			if( this.errorList.length ) {=0A=
				this.toShow =3D this.toShow.add( this.containers );=0A=
			}=0A=
			if (this.settings.success) {=0A=
				for ( var i =3D 0; this.successList[i]; i++ ) {=0A=
					this.showLabel( this.successList[i] );=0A=
				}=0A=
			}=0A=
			if (this.settings.unhighlight) {=0A=
				for ( var i =3D 0, elements =3D this.validElements(); elements[i]; =
i++ ) {=0A=
					this.settings.unhighlight.call( this, elements[i], =
this.settings.errorClass, this.settings.validClass );=0A=
				}=0A=
			}=0A=
			this.toHide =3D this.toHide.not( this.toShow );=0A=
			this.hideErrors();=0A=
			this.addWrapper( this.toShow ).show();=0A=
		},=0A=
		=0A=
		validElements: function() {=0A=
			return this.currentElements.not(this.invalidElements());=0A=
		},=0A=
		=0A=
		invalidElements: function() {=0A=
			return $(this.errorList).map(function() {=0A=
				return this.element;=0A=
			});=0A=
		},=0A=
		=0A=
		showLabel: function(element, message) {=0A=
			var label =3D this.errorsFor( element );=0A=
			if ( label.length ) {=0A=
				// refresh error/success class=0A=
				label.removeClass().addClass( this.settings.errorClass );=0A=
			=0A=
				// check if we have a generated label, replace the message then=0A=
				label.attr("generated") && label.html(message);=0A=
			} else {=0A=
				// create label=0A=
				label =3D $("<" + this.settings.errorElement + "/>")=0A=
					.attr({"for":  this.idOrName(element), generated: true})=0A=
					.addClass(this.settings.errorClass)=0A=
					.html(message || "");=0A=
				if ( this.settings.wrapper ) {=0A=
					// make sure the element is visible, even in IE=0A=
					// actually showing the wrapped element is handled elsewhere=0A=
					label =3D label.hide().show().wrap("<" + this.settings.wrapper + =
"/>").parent();=0A=
				}=0A=
				if ( !this.labelContainer.append(label).length )=0A=
					this.settings.errorPlacement=0A=
						? this.settings.errorPlacement(label, $(element) )=0A=
						: label.insertAfter(element);=0A=
			}=0A=
			if ( !message && this.settings.success ) {=0A=
				label.text("");=0A=
				typeof this.settings.success =3D=3D "string"=0A=
					? label.addClass( this.settings.success )=0A=
					: this.settings.success( label );=0A=
			}=0A=
			this.toShow =3D this.toShow.add(label);=0A=
		},=0A=
		=0A=
		errorsFor: function(element) {=0A=
			return this.errors().filter("[for=3D'" + this.idOrName(element) + =
"']");=0A=
		},=0A=
		=0A=
		idOrName: function(element) {=0A=
			return this.groups[element.name] || (this.checkable(element) ? =
element.name : element.id || element.name);=0A=
		},=0A=
=0A=
		checkable: function( element ) {=0A=
			return /radio|checkbox/i.test(element.type);=0A=
		},=0A=
		=0A=
		findByName: function( name ) {=0A=
			// select by name and filter by form for performance over =
form.find("[name=3D...]")=0A=
			var form =3D this.currentForm;=0A=
			return $(document.getElementsByName(name)).map(function(index, =
element) {=0A=
				return element.form =3D=3D form && element.name =3D=3D name && =
element  || null;=0A=
			});=0A=
		},=0A=
		=0A=
		getLength: function(value, element) {=0A=
			switch( element.nodeName.toLowerCase() ) {=0A=
			case 'select':=0A=
				return $("option:selected", element).length;=0A=
			case 'input':=0A=
				if( this.checkable( element) )=0A=
					return this.findByName(element.name).filter(':checked').length;=0A=
			}=0A=
			return value.length;=0A=
		},=0A=
	=0A=
		depend: function(param, element) {=0A=
			return this.dependTypes[typeof param]=0A=
				? this.dependTypes[typeof param](param, element)=0A=
				: true;=0A=
		},=0A=
	=0A=
		dependTypes: {=0A=
			"boolean": function(param, element) {=0A=
				return param;=0A=
			},=0A=
			"string": function(param, element) {=0A=
				return !!$(param, element.form).length;=0A=
			},=0A=
			"function": function(param, element) {=0A=
				return param(element);=0A=
			}=0A=
		},=0A=
		=0A=
		optional: function(element) {=0A=
			return !$.validator.methods.required.call(this, =
$.trim(element.value), element) && "dependency-mismatch";=0A=
		},=0A=
		=0A=
		startRequest: function(element) {=0A=
			if (!this.pending[element.name]) {=0A=
				this.pendingRequest++;=0A=
				this.pending[element.name] =3D true;=0A=
			}=0A=
		},=0A=
		=0A=
		stopRequest: function(element, valid) {=0A=
			this.pendingRequest--;=0A=
			// sometimes synchronization fails, make sure pendingRequest is never =
< 0=0A=
			if (this.pendingRequest < 0)=0A=
				this.pendingRequest =3D 0;=0A=
			delete this.pending[element.name];=0A=
			if ( valid && this.pendingRequest =3D=3D 0 && this.formSubmitted && =
this.form() ) {=0A=
				$(this.currentForm).submit();=0A=
			} else if (!valid && this.pendingRequest =3D=3D 0 && =
this.formSubmitted) {=0A=
				$(this.currentForm).triggerHandler("invalid-form", [this]);=0A=
			}=0A=
		},=0A=
		=0A=
		previousValue: function(element) {=0A=
			return $.data(element, "previousValue") || $.data(element, =
"previousValue", previous =3D {=0A=
				old: null,=0A=
				valid: true,=0A=
				message: this.defaultMessage( element, "remote" )=0A=
			});=0A=
		}=0A=
		=0A=
	},=0A=
	=0A=
	classRuleSettings: {=0A=
		required: {required: true},=0A=
		email: {email: true},=0A=
		url: {url: true},=0A=
		date: {date: true},=0A=
		dateISO: {dateISO: true},=0A=
		dateDE: {dateDE: true},=0A=
		number: {number: true},=0A=
		numberDE: {numberDE: true},=0A=
		digits: {digits: true},=0A=
		creditcard: {creditcard: true}=0A=
	},=0A=
	=0A=
	addClassRules: function(className, rules) {=0A=
		className.constructor =3D=3D String ?=0A=
			this.classRuleSettings[className] =3D rules :=0A=
			$.extend(this.classRuleSettings, className);=0A=
	},=0A=
	=0A=
	classRules: function(element) {=0A=
		var rules =3D {};=0A=
		var classes =3D $(element).attr('class');=0A=
		classes && $.each(classes.split(' '), function() {=0A=
			if (this in $.validator.classRuleSettings) {=0A=
				$.extend(rules, $.validator.classRuleSettings[this]);=0A=
			}=0A=
		});=0A=
		return rules;=0A=
	},=0A=
	=0A=
	attributeRules: function(element) {=0A=
		var rules =3D {};=0A=
		var $element =3D $(element);=0A=
		=0A=
		for (method in $.validator.methods) {=0A=
			var value =3D $element.attr(method);=0A=
			if (value) {=0A=
				rules[method] =3D value;=0A=
			}=0A=
		}=0A=
		=0A=
		// maxlength may be returned as -1, 2147483647 (IE) and 524288 =
(safari) for text inputs=0A=
		if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {=0A=
			delete rules.maxlength;=0A=
		}=0A=
		=0A=
		return rules;=0A=
	},=0A=
	=0A=
	metadataRules: function(element) {=0A=
		if (!$.metadata) return {};=0A=
		=0A=
		var meta =3D $.data(element.form, 'validator').settings.meta;=0A=
		return meta ?=0A=
			$(element).metadata()[meta] :=0A=
			$(element).metadata();=0A=
	},=0A=
	=0A=
	staticRules: function(element) {=0A=
		var rules =3D {};=0A=
		var validator =3D $.data(element.form, 'validator');=0A=
		if (validator.settings.rules) {=0A=
			rules =3D =
$.validator.normalizeRule(validator.settings.rules[element.name]) || {};=0A=
		}=0A=
		return rules;=0A=
	},=0A=
	=0A=
	normalizeRules: function(rules, element) {=0A=
		// handle dependency check=0A=
		$.each(rules, function(prop, val) {=0A=
			// ignore rule when param is explicitly false, eg. required:false=0A=
			if (val =3D=3D=3D false) {=0A=
				delete rules[prop];=0A=
				return;=0A=
			}=0A=
			if (val.param || val.depends) {=0A=
				var keepRule =3D true;=0A=
				switch (typeof val.depends) {=0A=
					case "string":=0A=
						keepRule =3D !!$(val.depends, element.form).length;=0A=
						break;=0A=
					case "function":=0A=
						keepRule =3D val.depends.call(element, element);=0A=
						break;=0A=
				}=0A=
				if (keepRule) {=0A=
					rules[prop] =3D val.param !=3D=3D undefined ? val.param : true;=0A=
				} else {=0A=
					delete rules[prop];=0A=
				}=0A=
			}=0A=
		});=0A=
		=0A=
		// evaluate parameters=0A=
		$.each(rules, function(rule, parameter) {=0A=
			rules[rule] =3D $.isFunction(parameter) ? parameter(element) : =
parameter;=0A=
		});=0A=
		=0A=
		// clean number parameters=0A=
		$.each(['minlength', 'maxlength', 'min', 'max'], function() {=0A=
			if (rules[this]) {=0A=
				rules[this] =3D Number(rules[this]);=0A=
			}=0A=
		});=0A=
		$.each(['rangelength', 'range'], function() {=0A=
			if (rules[this]) {=0A=
				rules[this] =3D [Number(rules[this][0]), Number(rules[this][1])];=0A=
			}=0A=
		});=0A=
		=0A=
		if ($.validator.autoCreateRanges) {=0A=
			// auto-create ranges=0A=
			if (rules.min && rules.max) {=0A=
				rules.range =3D [rules.min, rules.max];=0A=
				delete rules.min;=0A=
				delete rules.max;=0A=
			}=0A=
			if (rules.minlength && rules.maxlength) {=0A=
				rules.rangelength =3D [rules.minlength, rules.maxlength];=0A=
				delete rules.minlength;=0A=
				delete rules.maxlength;=0A=
			}=0A=
		}=0A=
		=0A=
		// To support custom messages in metadata ignore rule methods titled =
"messages"=0A=
		if (rules.messages) {=0A=
			delete rules.messages=0A=
		}=0A=
		=0A=
		return rules;=0A=
	},=0A=
	=0A=
	// Converts a simple string to a {string: true} rule, e.g., "required" =
to {required:true}=0A=
	normalizeRule: function(data) {=0A=
		if( typeof data =3D=3D "string" ) {=0A=
			var transformed =3D {};=0A=
			$.each(data.split(/\s/), function() {=0A=
				transformed[this] =3D true;=0A=
			});=0A=
			data =3D transformed;=0A=
		}=0A=
		return data;=0A=
	},=0A=
	=0A=
	// http://docs.jquery.com/Plugins/Validation/Validator/addMethod=0A=
	addMethod: function(name, method, message) {=0A=
		$.validator.methods[name] =3D method;=0A=
		$.validator.messages[name] =3D message || $.validator.messages[name];=0A=
		if (method.length < 3) {=0A=
			$.validator.addClassRules(name, $.validator.normalizeRule(name));=0A=
		}=0A=
	},=0A=
=0A=
	methods: {=0A=
=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/required=0A=
		required: function(value, element, param) {=0A=
			// check if dependency is met=0A=
			if ( !this.depend(param, element) )=0A=
				return "dependency-mismatch";=0A=
			switch( element.nodeName.toLowerCase() ) {=0A=
			case 'select':=0A=
				var options =3D $("option:selected", element);=0A=
				return options.length > 0 && ( element.type =3D=3D "select-multiple" =
|| ($.browser.msie && !(options[0].attributes['value'].specified) ? =
options[0].text : options[0].value).length > 0);=0A=
			case 'input':=0A=
				if ( this.checkable(element) )=0A=
					return this.getLength(value, element) > 0;=0A=
			default:=0A=
				return $.trim(value).length > 0;=0A=
			}=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/remote=0A=
		remote: function(value, element, param) {=0A=
			if ( this.optional(element) )=0A=
				return "dependency-mismatch";=0A=
			=0A=
			var previous =3D this.previousValue(element);=0A=
			=0A=
			if (!this.settings.messages[element.name] )=0A=
				this.settings.messages[element.name] =3D {};=0A=
			this.settings.messages[element.name].remote =3D typeof =
previous.message =3D=3D "function" ? previous.message(value) : =
previous.message;=0A=
			=0A=
			param =3D typeof param =3D=3D "string" && {url:param} || param; =0A=
			=0A=
			if ( previous.old !=3D=3D value ) {=0A=
				previous.old =3D value;=0A=
				var validator =3D this;=0A=
				this.startRequest(element);=0A=
				var data =3D {};=0A=
				data[element.name] =3D value;=0A=
				$.ajax($.extend(true, {=0A=
					url: param,=0A=
					mode: "abort",=0A=
					port: "validate" + element.name,=0A=
					dataType: "json",=0A=
					data: data,=0A=
					success: function(response) {=0A=
						var valid =3D response =3D=3D=3D true;=0A=
						if ( valid ) {=0A=
							var submitted =3D validator.formSubmitted;=0A=
							validator.prepareElement(element);=0A=
							validator.formSubmitted =3D submitted;=0A=
							validator.successList.push(element);=0A=
							validator.showErrors();=0A=
						} else {=0A=
							var errors =3D {};=0A=
							errors[element.name] =3D previous.message =3D response || =
validator.defaultMessage( element, "remote" );=0A=
							validator.showErrors(errors);=0A=
						}=0A=
						previous.valid =3D valid;=0A=
						validator.stopRequest(element, valid);=0A=
					}=0A=
				}, param));=0A=
				return "pending";=0A=
			} else if( this.pending[element.name] ) {=0A=
				return "pending";=0A=
			}=0A=
			return previous.valid;=0A=
		},=0A=
=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/minlength=0A=
		minlength: function(value, element, param) {=0A=
			return this.optional(element) || this.getLength($.trim(value), =
element) >=3D param;=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/maxlength=0A=
		maxlength: function(value, element, param) {=0A=
			return this.optional(element) || this.getLength($.trim(value), =
element) <=3D param;=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/rangelength=0A=
		rangelength: function(value, element, param) {=0A=
			var length =3D this.getLength($.trim(value), element);=0A=
			return this.optional(element) || ( length >=3D param[0] && length =
<=3D param[1] );=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/min=0A=
		min: function( value, element, param ) {=0A=
			return this.optional(element) || value >=3D param;=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/max=0A=
		max: function( value, element, param ) {=0A=
			return this.optional(element) || value <=3D param;=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/range=0A=
		range: function( value, element, param ) {=0A=
			return this.optional(element) || ( value >=3D param[0] && value <=3D =
param[1] );=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/email=0A=
		email: function(value, element) {=0A=
			// contributed by Scott Gonzalez: =
http://projects.scottsplayground.com/email_address_validation/=0A=
			return this.optional(element) || =
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=3D\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF=
\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=3D\?\^_`{\|}~]|[\u00A0-\uD7=
FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x2=
0|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]=
|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x=
7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a=
))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\=
uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|=
\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7F=
F\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uF=
DF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|=
-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF=
\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);=0A=
		},=0A=
	=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/url=0A=
		url: function(value, element) {=0A=
			// contributed by Scott Gonzalez: =
http://projects.scottsplayground.com/iri/=0A=
			return this.optional(element) || =
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF=
0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=3D]|:)*@)?(((\d|[1-9]\d|1\d\d|2=
[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|=
2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00=
A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uF=
DCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\u=
FFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|=
[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\=
uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-=
\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(=
\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-=
f]{2})|[!\$&'\(\)\*\+,;=3D]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF=
900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=3D]|:|@)*)*)?)?(=
\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-=
f]{2})|[!\$&'\(\)\*\+,;=3D]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|=
-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\=
(\)\*\+,;=3D]|:|@)|\/|\?)*)?$/i.test(value);=0A=
		},=0A=
        =0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/date=0A=
		date: function(value, element) {=0A=
			return this.optional(element) || !/Invalid|NaN/.test(new Date(value));=0A=
		},=0A=
	=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/dateISO=0A=
		dateISO: function(value, element) {=0A=
			return this.optional(element) || =
/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);=0A=
		},=0A=
	=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/dateDE=0A=
		dateDE: function(value, element) {=0A=
			return this.optional(element) || =
/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);=0A=
		},=0A=
	=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/number=0A=
		number: function(value, element) {=0A=
			return this.optional(element) || =
/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);=0A=
		},=0A=
	=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/numberDE=0A=
		numberDE: function(value, element) {=0A=
			return this.optional(element) || =
/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/digits=0A=
		digits: function(value, element) {=0A=
			return this.optional(element) || /^\d+$/.test(value);=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/creditcard=0A=
		// based on http://en.wikipedia.org/wiki/Luhn=0A=
		creditcard: function(value, element) {=0A=
			if ( this.optional(element) )=0A=
				return "dependency-mismatch";=0A=
			// accept only digits and dashes=0A=
			if (/[^0-9-]+/.test(value))=0A=
				return false;=0A=
			var nCheck =3D 0,=0A=
				nDigit =3D 0,=0A=
				bEven =3D false;=0A=
=0A=
			value =3D value.replace(/\D/g, "");=0A=
=0A=
			for (n =3D value.length - 1; n >=3D 0; n--) {=0A=
				var cDigit =3D value.charAt(n);=0A=
				var nDigit =3D parseInt(cDigit, 10);=0A=
				if (bEven) {=0A=
					if ((nDigit *=3D 2) > 9)=0A=
						nDigit -=3D 9;=0A=
				}=0A=
				nCheck +=3D nDigit;=0A=
				bEven =3D !bEven;=0A=
			}=0A=
=0A=
			return (nCheck % 10) =3D=3D 0;=0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/accept=0A=
		accept: function(value, element, param) {=0A=
			param =3D typeof param =3D=3D "string" ? param.replace(/,/g, '|') : =
"png|jpe?g|gif";=0A=
			return this.optional(element) || value.match(new RegExp(".(" + param =
+ ")$", "i")); =0A=
		},=0A=
		=0A=
		// http://docs.jquery.com/Plugins/Validation/Methods/equalTo=0A=
		equalTo: function(value, element, param) {=0A=
			return value =3D=3D $(param).val();=0A=
		}=0A=
		=0A=
	}=0A=
	=0A=
});=0A=
=0A=
// deprecated, use $.validator.format instead=0A=
$.format =3D $.validator.format;=0A=
=0A=
})(jQuery);=0A=
=0A=
// ajax mode: abort=0A=
// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});=0A=
// if mode:"abort" is used, the previous request on that port (port can =
be undefined) is aborted via XMLHttpRequest.abort() =0A=
;(function($) {=0A=
	var ajax =3D $.ajax;=0A=
	var pendingRequests =3D {};=0A=
	$.ajax =3D function(settings) {=0A=
		// create settings for compatibility with ajaxSetup=0A=
		settings =3D $.extend(settings, $.extend({}, $.ajaxSettings, =
settings));=0A=
		var port =3D settings.port;=0A=
		if (settings.mode =3D=3D "abort") {=0A=
			if ( pendingRequests[port] ) {=0A=
				pendingRequests[port].abort();=0A=
			}=0A=
			return (pendingRequests[port] =3D ajax.apply(this, arguments));=0A=
		}=0A=
		return ajax.apply(this, arguments);=0A=
	};=0A=
})(jQuery);=0A=
=0A=
// provides cross-browser focusin and focusout events=0A=
// IE has native support, in other browsers, use event caputuring =
(neither bubbles)=0A=
=0A=
// provides delegate(type: String, delegate: Selector, handler: =
Callback) plugin for easier event delegation=0A=
// handler is only called when $(event.target).is(delegate), in the =
scope of the jquery-object for event.target =0A=
=0A=
// provides triggerEvent(type: String, target: Element) to trigger =
delegated events=0A=
;(function($) {=0A=
	$.each({=0A=
		focus: 'focusin',=0A=
		blur: 'focusout'	=0A=
	}, function( original, fix ){=0A=
		$.event.special[fix] =3D {=0A=
			setup:function() {=0A=
				if ( $.browser.msie ) return false;=0A=
				this.addEventListener( original, $.event.special[fix].handler, true =
);=0A=
			},=0A=
			teardown:function() {=0A=
				if ( $.browser.msie ) return false;=0A=
				this.removeEventListener( original,=0A=
				$.event.special[fix].handler, true );=0A=
			},=0A=
			handler: function(e) {=0A=
				arguments[0] =3D $.event.fix(e);=0A=
				arguments[0].type =3D fix;=0A=
				return $.event.handle.apply(this, arguments);=0A=
			}=0A=
		};=0A=
	});=0A=
	$.extend($.fn, {=0A=
		delegate: function(type, delegate, handler) {=0A=
			return this.bind(type, function(event) {=0A=
				var target =3D $(event.target);=0A=
				if (target.is(delegate)) {=0A=
					return handler.apply(target, arguments);=0A=
				}=0A=
			});=0A=
		},=0A=
		triggerEvent: function(type, target) {=0A=
			return this.triggerHandler(type, [$.event.fix({ type: type, target: =
target })]);=0A=
		}=0A=
	})=0A=
})(jQuery);=0A=

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.clasp.org/utility/scripts/jcarousel/lib/jquery.jcarousel.js

/**=0A=
 * jCarousel - Riding carousels with jQuery=0A=
 *   http://sorgalla.com/jcarousel/=0A=
 *=0A=
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)=0A=
 * Dual licensed under the MIT (MIT-LICENSE.txt)=0A=
 * and GPL (GPL-LICENSE.txt) licenses.=0A=
 *=0A=
 * Built on top of the jQuery library=0A=
 *   http://jquery.com=0A=
 *=0A=
 * Inspired by the "Carousel Component" by Bill Scott=0A=
 *   http://billwscott.com/carousel/=0A=
 */=0A=
=0A=
(function($) {=0A=
    /**=0A=
     * Creates a carousel for all matched elements.=0A=
     *=0A=
     * @example $("#mycarousel").jcarousel();=0A=
     * @before <ul id=3D"mycarousel" =
class=3D"jcarousel-skin-name"><li>First item</li><li>Second =
item</li></ul>=0A=
     * @result=0A=
     *=0A=
     * <div class=3D"jcarousel-skin-name">=0A=
     *   <div class=3D"jcarousel-container">=0A=
     *     <div disabled=3D"disabled" class=3D"jcarousel-prev =
jcarousel-prev-disabled"></div>=0A=
     *     <div class=3D"jcarousel-next"></div>=0A=
     *     <div class=3D"jcarousel-clip">=0A=
     *       <ul class=3D"jcarousel-list">=0A=
     *         <li class=3D"jcarousel-item-1">First item</li>=0A=
     *         <li class=3D"jcarousel-item-2">Second item</li>=0A=
     *       </ul>=0A=
     *     </div>=0A=
     *   </div>=0A=
     * </div>=0A=
     *=0A=
     * @name jcarousel=0A=
     * @type jQuery=0A=
     * @param Hash o A set of key/value pairs to set as configuration =
properties.=0A=
     * @cat Plugins/jCarousel=0A=
     */=0A=
    $.fn.jcarousel =3D function(o) {=0A=
        return this.each(function() {=0A=
            new $jc(this, o);=0A=
        });=0A=
    };=0A=
=0A=
    // Default configuration properties.=0A=
    var defaults =3D {=0A=
        vertical: false,=0A=
        start: 1,=0A=
        offset: 1,=0A=
        size: null,=0A=
        scroll: 3,=0A=
        visible: null,=0A=
        animation: 'normal',=0A=
        easing: 'swing',=0A=
        auto: 0,=0A=
        wrap: null,=0A=
        initCallback: null,=0A=
        reloadCallback: null,=0A=
        itemLoadCallback: null,=0A=
        itemFirstInCallback: null,=0A=
        itemFirstOutCallback: null,=0A=
        itemLastInCallback: null,=0A=
        itemLastOutCallback: null,=0A=
        itemVisibleInCallback: null,=0A=
        itemVisibleOutCallback: null,=0A=
        buttonNextHTML: '<div></div>',=0A=
        buttonPrevHTML: '<div></div>',=0A=
        buttonNextEvent: 'click',=0A=
        buttonPrevEvent: 'click',=0A=
        buttonNextCallback: null,=0A=
        buttonPrevCallback: null=0A=
    };=0A=
=0A=
    /**=0A=
     * The jCarousel object.=0A=
     *=0A=
     * @constructor=0A=
     * @name $.jcarousel=0A=
     * @param Object e The element to create the carousel for.=0A=
     * @param Hash o A set of key/value pairs to set as configuration =
properties.=0A=
     * @cat Plugins/jCarousel=0A=
     */=0A=
    $.jcarousel =3D function(e, o) {=0A=
        this.options    =3D $.extend({}, defaults, o || {});=0A=
=0A=
        this.locked     =3D false;=0A=
=0A=
        this.container  =3D null;=0A=
        this.clip       =3D null;=0A=
        this.list       =3D null;=0A=
        this.buttonNext =3D null;=0A=
        this.buttonPrev =3D null;=0A=
=0A=
        this.wh =3D !this.options.vertical ? 'width' : 'height';=0A=
        this.lt =3D !this.options.vertical ? 'left' : 'top';=0A=
=0A=
        // Extract skin class=0A=
        var skin =3D '', split =3D e.className.split(' ');=0A=
=0A=
        for (var i =3D 0; i < split.length; i++) {=0A=
            if (split[i].indexOf('jcarousel-skin') !=3D -1) {=0A=
                $(e).removeClass(split[i]);=0A=
                var skin =3D split[i];=0A=
                break;=0A=
            }=0A=
        }=0A=
=0A=
        if (e.nodeName =3D=3D 'UL' || e.nodeName =3D=3D 'OL') {=0A=
            this.list =3D $(e);=0A=
            this.container =3D this.list.parent();=0A=
=0A=
            if (this.container.hasClass('jcarousel-clip')) {=0A=
                if =
(!this.container.parent().hasClass('jcarousel-container'))=0A=
                    this.container =3D =
this.container.wrap('<div></div>');=0A=
=0A=
                this.container =3D this.container.parent();=0A=
            } else if (!this.container.hasClass('jcarousel-container'))=0A=
                this.container =3D =
this.list.wrap('<div></div>').parent();=0A=
        } else {=0A=
            this.container =3D $(e);=0A=
            this.list =3D $(e).find('>ul,>ol,div>ul,div>ol');=0A=
        }=0A=
=0A=
        if (skin !=3D '' && =
this.container.parent()[0].className.indexOf('jcarousel-skin') =3D=3D -1)=0A=
        	this.container.wrap('<div class=3D" '+ skin + '"></div>');=0A=
=0A=
        this.clip =3D this.list.parent();=0A=
=0A=
        if (!this.clip.length || !this.clip.hasClass('jcarousel-clip'))=0A=
            this.clip =3D this.list.wrap('<div></div>').parent();=0A=
=0A=
        this.buttonPrev =3D $('.jcarousel-prev', this.container);=0A=
=0A=
        if (this.buttonPrev.size() =3D=3D 0 && =
this.options.buttonPrevHTML !=3D null)=0A=
            this.buttonPrev =3D =
this.clip.before(this.options.buttonPrevHTML).prev();=0A=
=0A=
        this.buttonPrev.addClass(this.className('jcarousel-prev'));=0A=
=0A=
        this.buttonNext =3D $('.jcarousel-next', this.container);=0A=
=0A=
        if (this.buttonNext.size() =3D=3D 0 && =
this.options.buttonNextHTML !=3D null)=0A=
            this.buttonNext =3D =
this.clip.before(this.options.buttonNextHTML).prev();=0A=
=0A=
        this.buttonNext.addClass(this.className('jcarousel-next'));=0A=
=0A=
        this.clip.addClass(this.className('jcarousel-clip'));=0A=
        this.list.addClass(this.className('jcarousel-list'));=0A=
        this.container.addClass(this.className('jcarousel-container'));=0A=
=0A=
        var di =3D this.options.visible !=3D null ? =
Math.ceil(this.clipping() / this.options.visible) : null;=0A=
        var li =3D this.list.children('li');=0A=
=0A=
        var self =3D this;=0A=
=0A=
        if (li.size() > 0) {=0A=
            var wh =3D 0, i =3D this.options.offset;=0A=
            li.each(function() {=0A=
                self.format(this, i++);=0A=
                wh +=3D self.dimension(this, di);=0A=
            });=0A=
=0A=
            this.list.css(this.wh, wh + 'px');=0A=
=0A=
            // Only set if not explicitly passed as option=0A=
            if (!o || o.size =3D=3D=3D undefined)=0A=
                this.options.size =3D li.size();=0A=
        }=0A=
=0A=
        // For whatever reason, .show() does not work in Safari...=0A=
        this.container.css('display', 'block');=0A=
        this.buttonNext.css('display', 'block');=0A=
        this.buttonPrev.css('display', 'block');=0A=
=0A=
        this.funcNext   =3D function() { self.next(); };=0A=
        this.funcPrev   =3D function() { self.prev(); };=0A=
        this.funcResize =3D function() { self.reload(); };=0A=
=0A=
        if (this.options.initCallback !=3D null)=0A=
            this.options.initCallback(this, 'init');=0A=
=0A=
        if ($.browser.safari) {=0A=
            this.buttons(false, false);=0A=
            this.setup();=0A=
=0A=
            // commented out by skellogg@articulatedman.com on 08/06/09=0A=
            // the plugin itself is called after window load, so we just =
call setup() directly instead=0A=
            // $(window).bind('load', function() { self.setup(); });=0A=
        } else=0A=
            this.setup();=0A=
    };=0A=
=0A=
    // Create shortcut for internal use=0A=
    var $jc =3D $.jcarousel;=0A=
=0A=
    $jc.fn =3D $jc.prototype =3D {=0A=
        jcarousel: '0.2.3'=0A=
    };=0A=
=0A=
    $jc.fn.extend =3D $jc.extend =3D $.extend;=0A=
=0A=
    $jc.fn.extend({=0A=
        /**=0A=
         * Setups the carousel.=0A=
         *=0A=
         * @name setup=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        setup: function() {=0A=
            this.first     =3D null;=0A=
            this.last      =3D null;=0A=
            this.prevFirst =3D null;=0A=
            this.prevLast  =3D null;=0A=
            this.animating =3D false;=0A=
            this.timer     =3D null;=0A=
            this.tail      =3D null;=0A=
            this.inTail    =3D false;=0A=
=0A=
            if (this.locked)=0A=
                return;=0A=
=0A=
            this.list.css(this.lt, this.pos(this.options.offset) + 'px');=0A=
            var p =3D this.pos(this.options.start);=0A=
            this.prevFirst =3D this.prevLast =3D null;=0A=
            this.animate(p, false);=0A=
=0A=
            $(window).unbind('resize', this.funcResize).bind('resize', =
this.funcResize);=0A=
        },=0A=
=0A=
        /**=0A=
         * Clears the list and resets the carousel.=0A=
         *=0A=
         * @name reset=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        reset: function() {=0A=
            this.list.empty();=0A=
=0A=
            this.list.css(this.lt, '0px');=0A=
            this.list.css(this.wh, '10px');=0A=
=0A=
            if (this.options.initCallback !=3D null)=0A=
                this.options.initCallback(this, 'reset');=0A=
=0A=
            this.setup();=0A=
        },=0A=
=0A=
        /**=0A=
         * Reloads the carousel and adjusts positions.=0A=
         *=0A=
         * @name reload=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        reload: function() {=0A=
            if (this.tail !=3D null && this.inTail)=0A=
                this.list.css(this.lt, =
$jc.intval(this.list.css(this.lt)) + this.tail);=0A=
=0A=
            this.tail   =3D null;=0A=
            this.inTail =3D false;=0A=
=0A=
            if (this.options.reloadCallback !=3D null)=0A=
                this.options.reloadCallback(this);=0A=
=0A=
            if (this.options.visible !=3D null) {=0A=
                var self =3D this;=0A=
                var di =3D Math.ceil(this.clipping() / =
this.options.visible), wh =3D 0, lt =3D 0;=0A=
                $('li', this.list).each(function(i) {=0A=
                    wh +=3D self.dimension(this, di);=0A=
                    if (i + 1 < self.first)=0A=
                        lt =3D wh;=0A=
                });=0A=
=0A=
                this.list.css(this.wh, wh + 'px');=0A=
                this.list.css(this.lt, -lt + 'px');=0A=
            }=0A=
=0A=
            this.scroll(this.first, false);=0A=
        },=0A=
=0A=
        /**=0A=
         * Locks the carousel.=0A=
         *=0A=
         * @name lock=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        lock: function() {=0A=
            this.locked =3D true;=0A=
            this.buttons();=0A=
        },=0A=
=0A=
        /**=0A=
         * Unlocks the carousel.=0A=
         *=0A=
         * @name unlock=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        unlock: function() {=0A=
            this.locked =3D false;=0A=
            this.buttons();=0A=
        },=0A=
=0A=
        /**=0A=
         * Sets the size of the carousel.=0A=
         *=0A=
         * @name size=0A=
         * @type undefined=0A=
         * @param Number s The size of the carousel.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        size: function(s) {=0A=
            if (s !=3D undefined) {=0A=
                this.options.size =3D s;=0A=
                if (!this.locked)=0A=
                    this.buttons();=0A=
            }=0A=
=0A=
            return this.options.size;=0A=
        },=0A=
=0A=
        /**=0A=
         * Checks whether a list element exists for the given index (or =
index range).=0A=
         *=0A=
         * @name get=0A=
         * @type bool=0A=
         * @param Number i The index of the (first) element.=0A=
         * @param Number i2 The index of the last element.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        has: function(i, i2) {=0A=
            if (i2 =3D=3D undefined || !i2)=0A=
                i2 =3D i;=0A=
=0A=
            if (this.options.size !=3D=3D null && i2 > this.options.size)=0A=
            	i2 =3D this.options.size;=0A=
=0A=
            for (var j =3D i; j <=3D i2; j++) {=0A=
                var e =3D this.get(j);=0A=
                if (!e.length || =
e.hasClass('jcarousel-item-placeholder'))=0A=
                    return false;=0A=
            }=0A=
=0A=
            return true;=0A=
        },=0A=
=0A=
        /**=0A=
         * Returns a jQuery object with list element for the given index.=0A=
         *=0A=
         * @name get=0A=
         * @type jQuery=0A=
         * @param Number i The index of the element.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        get: function(i) {=0A=
            return $('.jcarousel-item-' + i, this.list);=0A=
        },=0A=
=0A=
        /**=0A=
         * Adds an element for the given index to the list.=0A=
         * If the element already exists, it updates the inner html.=0A=
         * Returns the created element as jQuery object.=0A=
         *=0A=
         * @name add=0A=
         * @type jQuery=0A=
         * @param Number i The index of the element.=0A=
         * @param String s The innerHTML of the element.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        add: function(i, s) {=0A=
            var e =3D this.get(i), old =3D 0, add =3D 0;=0A=
=0A=
            if (e.length =3D=3D 0) {=0A=
                var c, e =3D this.create(i), j =3D $jc.intval(i);=0A=
                while (c =3D this.get(--j)) {=0A=
                    if (j <=3D 0 || c.length) {=0A=
                        j <=3D 0 ? this.list.prepend(e) : c.after(e);=0A=
                        break;=0A=
                    }=0A=
                }=0A=
            } else=0A=
                old =3D this.dimension(e);=0A=
=0A=
            e.removeClass(this.className('jcarousel-item-placeholder'));=0A=
            typeof s =3D=3D 'string' ? e.html(s) : e.empty().append(s);=0A=
=0A=
            var di =3D this.options.visible !=3D null ? =
Math.ceil(this.clipping() / this.options.visible) : null;=0A=
            var wh =3D this.dimension(e, di) - old;=0A=
=0A=
            if (i > 0 && i < this.first)=0A=
                this.list.css(this.lt, =
$jc.intval(this.list.css(this.lt)) - wh + 'px');=0A=
=0A=
            this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) + =
wh + 'px');=0A=
=0A=
            return e;=0A=
        },=0A=
=0A=
        /**=0A=
         * Removes an element for the given index from the list.=0A=
         *=0A=
         * @name remove=0A=
         * @type undefined=0A=
         * @param Number i The index of the element.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        remove: function(i) {=0A=
            var e =3D this.get(i);=0A=
=0A=
            // Check if item exists and is not currently visible=0A=
            if (!e.length || (i >=3D this.first && i <=3D this.last))=0A=
                return;=0A=
=0A=
            var d =3D this.dimension(e);=0A=
=0A=
            if (i < this.first)=0A=
                this.list.css(this.lt, =
$jc.intval(this.list.css(this.lt)) + d + 'px');=0A=
=0A=
            e.remove();=0A=
=0A=
            this.list.css(this.wh, $jc.intval(this.list.css(this.wh)) - =
d + 'px');=0A=
        },=0A=
=0A=
        /**=0A=
         * Moves the carousel forwards.=0A=
         *=0A=
         * @name next=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        next: function() {=0A=
            this.stopAuto();=0A=
=0A=
            if (this.tail !=3D null && !this.inTail)=0A=
                this.scrollTail(false);=0A=
            else=0A=
                this.scroll(((this.options.wrap =3D=3D 'both' || =
this.options.wrap =3D=3D 'last') && this.options.size !=3D null && =
this.last =3D=3D this.options.size) ? 1 : this.first + =
this.options.scroll);=0A=
        },=0A=
=0A=
        /**=0A=
         * Moves the carousel backwards.=0A=
         *=0A=
         * @name prev=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        prev: function() {=0A=
            this.stopAuto();=0A=
=0A=
            if (this.tail !=3D null && this.inTail)=0A=
                this.scrollTail(true);=0A=
            else=0A=
                this.scroll(((this.options.wrap =3D=3D 'both' || =
this.options.wrap =3D=3D 'first') && this.options.size !=3D null && =
this.first =3D=3D 1) ? this.options.size : this.first - =
this.options.scroll);=0A=
        },=0A=
=0A=
        /**=0A=
         * Scrolls the tail of the carousel.=0A=
         *=0A=
         * @name scrollTail=0A=
         * @type undefined=0A=
         * @param Bool b Whether scroll the tail back or forward.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        scrollTail: function(b) {=0A=
            if (this.locked || this.animating || !this.tail)=0A=
                return;=0A=
=0A=
            var pos  =3D $jc.intval(this.list.css(this.lt));=0A=
=0A=
            !b ? pos -=3D this.tail : pos +=3D this.tail;=0A=
            this.inTail =3D !b;=0A=
=0A=
            // Save for callbacks=0A=
            this.prevFirst =3D this.first;=0A=
            this.prevLast  =3D this.last;=0A=
=0A=
            this.animate(pos);=0A=
        },=0A=
=0A=
        /**=0A=
         * Scrolls the carousel to a certain position.=0A=
         *=0A=
         * @name scroll=0A=
         * @type undefined=0A=
         * @param Number i The index of the element to scoll to.=0A=
         * @param Bool a Flag indicating whether to perform animation.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        scroll: function(i, a) {=0A=
            if (this.locked || this.animating)=0A=
                return;=0A=
=0A=
            this.animate(this.pos(i), a);=0A=
        },=0A=
=0A=
        /**=0A=
         * Prepares the carousel and return the position for a certian =
index.=0A=
         *=0A=
         * @name pos=0A=
         * @type Number=0A=
         * @param Number i The index of the element to scoll to.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        pos: function(i) {=0A=
            if (this.locked || this.animating)=0A=
                return;=0A=
=0A=
            if (this.options.wrap !=3D 'circular')=0A=
                i =3D i < 1 ? 1 : (this.options.size && i > =
this.options.size ? this.options.size : i);=0A=
=0A=
            var back =3D this.first > i;=0A=
            var pos  =3D $jc.intval(this.list.css(this.lt));=0A=
=0A=
            // Create placeholders, new list width/height=0A=
            // and new list position=0A=
            var f =3D this.options.wrap !=3D 'circular' && this.first =
<=3D 1 ? 1 : this.first;=0A=
            var c =3D back ? this.get(f) : this.get(this.last);=0A=
            var j =3D back ? f : f - 1;=0A=
            var e =3D null, l =3D 0, p =3D false, d =3D 0;=0A=
=0A=
            while (back ? --j >=3D i : ++j < i) {=0A=
                e =3D this.get(j);=0A=
                p =3D !e.length;=0A=
                if (e.length =3D=3D 0) {=0A=
                    e =3D =
this.create(j).addClass(this.className('jcarousel-item-placeholder'));=0A=
                    c[back ? 'before' : 'after' ](e);=0A=
                }=0A=
=0A=
                c =3D e;=0A=
                d =3D this.dimension(e);=0A=
=0A=
                if (p)=0A=
                    l +=3D d;=0A=
=0A=
                if (this.first !=3D null && (this.options.wrap =3D=3D =
'circular' || (j >=3D 1 && (this.options.size =3D=3D null || j <=3D =
this.options.size))))=0A=
                    pos =3D back ? pos + d : pos - d;=0A=
            }=0A=
=0A=
            // Calculate visible items=0A=
            var clipping =3D this.clipping();=0A=
            var cache =3D [];=0A=
            var visible =3D 0, j =3D i, v =3D 0;=0A=
            var c =3D this.get(i - 1);=0A=
=0A=
            while (++visible) {=0A=
                e =3D this.get(j);=0A=
                p =3D !e.length;=0A=
                if (e.length =3D=3D 0) {=0A=
                    e =3D =
this.create(j).addClass(this.className('jcarousel-item-placeholder'));=0A=
                    // This should only happen on a next scroll=0A=
                    c.length =3D=3D 0 ? this.list.prepend(e) : c[back ? =
'before' : 'after' ](e);=0A=
                }=0A=
=0A=
                c =3D e;=0A=
                var d =3D this.dimension(e);=0A=
                if (d =3D=3D 0) {=0A=
                    alert('jCarousel: No width/height set for items. =
This will cause an infinite loop. Aborting...');=0A=
                    return 0;=0A=
                }=0A=
=0A=
                if (this.options.wrap !=3D 'circular' && =
this.options.size !=3D=3D null && j > this.options.size)=0A=
                    cache.push(e);=0A=
                else if (p)=0A=
                    l +=3D d;=0A=
=0A=
                v +=3D d;=0A=
=0A=
                if (v >=3D clipping)=0A=
                    break;=0A=
=0A=
                j++;=0A=
            }=0A=
=0A=
             // Remove out-of-range placeholders=0A=
            for (var x =3D 0; x < cache.length; x++)=0A=
                cache[x].remove();=0A=
=0A=
            // Resize list=0A=
            if (l > 0) {=0A=
                this.list.css(this.wh, this.dimension(this.list) + l + =
'px');=0A=
=0A=
                if (back) {=0A=
                    pos -=3D l;=0A=
                    this.list.css(this.lt, =
$jc.intval(this.list.css(this.lt)) - l + 'px');=0A=
                }=0A=
            }=0A=
=0A=
            // Calculate first and last item=0A=
            var last =3D i + visible - 1;=0A=
            if (this.options.wrap !=3D 'circular' && this.options.size =
&& last > this.options.size)=0A=
                last =3D this.options.size;=0A=
=0A=
            if (j > last) {=0A=
                visible =3D 0, j =3D last, v =3D 0;=0A=
                while (++visible) {=0A=
                    var e =3D this.get(j--);=0A=
                    if (!e.length)=0A=
                        break;=0A=
                    v +=3D this.dimension(e);=0A=
                    if (v >=3D clipping)=0A=
                        break;=0A=
                }=0A=
            }=0A=
=0A=
            var first =3D last - visible + 1;=0A=
            if (this.options.wrap !=3D 'circular' && first < 1)=0A=
                first =3D 1;=0A=
=0A=
            if (this.inTail && back) {=0A=
                pos +=3D this.tail;=0A=
                this.inTail =3D false;=0A=
            }=0A=
=0A=
            this.tail =3D null;=0A=
            if (this.options.wrap !=3D 'circular' && last =3D=3D =
this.options.size && (last - visible + 1) >=3D 1) {=0A=
                var m =3D $jc.margin(this.get(last), =
!this.options.vertical ? 'marginRight' : 'marginBottom');=0A=
                if ((v - m) > clipping)=0A=
                    this.tail =3D v - clipping - m;=0A=
            }=0A=
=0A=
            // Adjust position=0A=
            while (i-- > first)=0A=
                pos +=3D this.dimension(this.get(i));=0A=
=0A=
            // Save visible item range=0A=
            this.prevFirst =3D this.first;=0A=
            this.prevLast  =3D this.last;=0A=
            this.first     =3D first;=0A=
            this.last      =3D last;=0A=
=0A=
            return pos;=0A=
        },=0A=
=0A=
        /**=0A=
         * Animates the carousel to a certain position.=0A=
         *=0A=
         * @name animate=0A=
         * @type undefined=0A=
         * @param mixed p Position to scroll to.=0A=
         * @param Bool a Flag indicating whether to perform animation.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        animate: function(p, a) {=0A=
            if (this.locked || this.animating)=0A=
                return;=0A=
=0A=
            this.animating =3D true;=0A=
=0A=
            var self =3D this;=0A=
            var scrolled =3D function() {=0A=
                self.animating =3D false;=0A=
=0A=
                if (p =3D=3D 0)=0A=
                    self.list.css(self.lt,  0);=0A=
=0A=
                if (self.options.wrap =3D=3D 'both' || self.options.wrap =
=3D=3D 'last' || self.options.size =3D=3D null || self.last < =
self.options.size)=0A=
                    self.startAuto();=0A=
=0A=
                self.buttons();=0A=
                self.notify('onAfterAnimation');=0A=
            };=0A=
=0A=
            this.notify('onBeforeAnimation');=0A=
=0A=
            // Animate=0A=
            if (!this.options.animation || a =3D=3D false) {=0A=
                this.list.css(this.lt, p + 'px');=0A=
                scrolled();=0A=
            } else {=0A=
                var o =3D !this.options.vertical ? {'left': p} : {'top': =
p};=0A=
                this.list.animate(o, this.options.animation, =
this.options.easing, scrolled);=0A=
            }=0A=
        },=0A=
=0A=
        /**=0A=
         * Starts autoscrolling.=0A=
         *=0A=
         * @name auto=0A=
         * @type undefined=0A=
         * @param Number s Seconds to periodically autoscroll the =
content.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        startAuto: function(s) {=0A=
            if (s !=3D undefined)=0A=
                this.options.auto =3D s;=0A=
=0A=
            if (this.options.auto =3D=3D 0)=0A=
                return this.stopAuto();=0A=
=0A=
            if (this.timer !=3D null)=0A=
                return;=0A=
=0A=
            var self =3D this;=0A=
            this.timer =3D setTimeout(function() { self.next(); }, =
this.options.auto * 1000);=0A=
        },=0A=
=0A=
        /**=0A=
         * Stops autoscrolling.=0A=
         *=0A=
         * @name stopAuto=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        stopAuto: function() {=0A=
            if (this.timer =3D=3D null)=0A=
                return;=0A=
=0A=
            clearTimeout(this.timer);=0A=
            this.timer =3D null;=0A=
        },=0A=
=0A=
        /**=0A=
         * Sets the states of the prev/next buttons.=0A=
         *=0A=
         * @name buttons=0A=
         * @type undefined=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        buttons: function(n, p) {=0A=
            if (n =3D=3D undefined || n =3D=3D null) {=0A=
                var n =3D !this.locked && this.options.size !=3D=3D 0 && =
((this.options.wrap && this.options.wrap !=3D 'first') || =
this.options.size =3D=3D null || this.last < this.options.size);=0A=
                if (!this.locked && (!this.options.wrap || =
this.options.wrap =3D=3D 'first') && this.options.size !=3D null && =
this.last >=3D this.options.size)=0A=
                    n =3D this.tail !=3D null && !this.inTail;=0A=
            }=0A=
=0A=
            if (p =3D=3D undefined || p =3D=3D null) {=0A=
                var p =3D !this.locked && this.options.size !=3D=3D 0 && =
((this.options.wrap && this.options.wrap !=3D 'last') || this.first > 1);=0A=
                if (!this.locked && (!this.options.wrap || =
this.options.wrap =3D=3D 'last') && this.options.size !=3D null && =
this.first =3D=3D 1)=0A=
                    p =3D this.tail !=3D null && this.inTail;=0A=
            }=0A=
=0A=
            var self =3D this;=0A=
=0A=
            this.buttonNext[n ? 'bind' : =
'unbind'](this.options.buttonNextEvent, this.funcNext)[n ? 'removeClass' =
: =
'addClass'](this.className('jcarousel-next-disabled')).attr('disabled', =
n ? false : true);=0A=
            this.buttonPrev[p ? 'bind' : =
'unbind'](this.options.buttonPrevEvent, this.funcPrev)[p ? 'removeClass' =
: =
'addClass'](this.className('jcarousel-prev-disabled')).attr('disabled', =
p ? false : true);=0A=
=0A=
            if (this.buttonNext.length > 0 && =
(this.buttonNext[0].jcarouselstate =3D=3D undefined || =
this.buttonNext[0].jcarouselstate !=3D n) && =
this.options.buttonNextCallback !=3D null) {=0A=
                this.buttonNext.each(function() { =
self.options.buttonNextCallback(self, this, n); });=0A=
                this.buttonNext[0].jcarouselstate =3D n;=0A=
            }=0A=
=0A=
            if (this.buttonPrev.length > 0 && =
(this.buttonPrev[0].jcarouselstate =3D=3D undefined || =
this.buttonPrev[0].jcarouselstate !=3D p) && =
this.options.buttonPrevCallback !=3D null) {=0A=
                this.buttonPrev.each(function() { =
self.options.buttonPrevCallback(self, this, p); });=0A=
                this.buttonPrev[0].jcarouselstate =3D p;=0A=
            }=0A=
        },=0A=
=0A=
        notify: function(evt) {=0A=
            var state =3D this.prevFirst =3D=3D null ? 'init' : =
(this.prevFirst < this.first ? 'next' : 'prev');=0A=
=0A=
            // Load items=0A=
            this.callback('itemLoadCallback', evt, state);=0A=
=0A=
            if (this.prevFirst !=3D=3D this.first) {=0A=
                this.callback('itemFirstInCallback', evt, state, =
this.first);=0A=
                this.callback('itemFirstOutCallback', evt, state, =
this.prevFirst);=0A=
            }=0A=
=0A=
            if (this.prevLast !=3D=3D this.last) {=0A=
                this.callback('itemLastInCallback', evt, state, =
this.last);=0A=
                this.callback('itemLastOutCallback', evt, state, =
this.prevLast);=0A=
            }=0A=
=0A=
            this.callback('itemVisibleInCallback', evt, state, =
this.first, this.last, this.prevFirst, this.prevLast);=0A=
            this.callback('itemVisibleOutCallback', evt, state, =
this.prevFirst, this.prevLast, this.first, this.last);=0A=
        },=0A=
=0A=
        callback: function(cb, evt, state, i1, i2, i3, i4) {=0A=
            if (this.options[cb] =3D=3D undefined || (typeof =
this.options[cb] !=3D 'object' && evt !=3D 'onAfterAnimation'))=0A=
                return;=0A=
=0A=
            var callback =3D typeof this.options[cb] =3D=3D 'object' ? =
this.options[cb][evt] : this.options[cb];=0A=
=0A=
            if (!$.isFunction(callback))=0A=
                return;=0A=
=0A=
            var self =3D this;=0A=
=0A=
            if (i1 =3D=3D=3D undefined)=0A=
                callback(self, state, evt);=0A=
            else if (i2 =3D=3D=3D undefined)=0A=
                this.get(i1).each(function() { callback(self, this, i1, =
state, evt); });=0A=
            else {=0A=
                for (var i =3D i1; i <=3D i2; i++)=0A=
                    if (i !=3D=3D null && !(i >=3D i3 && i <=3D i4))=0A=
                        this.get(i).each(function() { callback(self, =
this, i, state, evt); });=0A=
            }=0A=
        },=0A=
=0A=
        create: function(i) {=0A=
            return this.format('<li></li>', i);=0A=
        },=0A=
=0A=
        format: function(e, i) {=0A=
            var $e =3D =
$(e).addClass(this.className('jcarousel-item')).addClass(this.className('=
jcarousel-item-' + i));=0A=
            $e.attr('jcarouselindex', i);=0A=
            return $e;=0A=
        },=0A=
=0A=
        className: function(c) {=0A=
            return c + ' ' + c + (!this.options.vertical ? '-horizontal' =
: '-vertical');=0A=
        },=0A=
=0A=
        dimension: function(e, d) {=0A=
            var el =3D e.jquery !=3D undefined ? e[0] : e;=0A=
=0A=
            var old =3D !this.options.vertical ?=0A=
                el.offsetWidth + $jc.margin(el, 'marginLeft') + =
$jc.margin(el, 'marginRight') :=0A=
                el.offsetHeight + $jc.margin(el, 'marginTop') + =
$jc.margin(el, 'marginBottom');=0A=
=0A=
            if (d =3D=3D undefined || old =3D=3D d)=0A=
                return old;=0A=
=0A=
            var w =3D !this.options.vertical ?=0A=
                d - $jc.margin(el, 'marginLeft') - $jc.margin(el, =
'marginRight') :=0A=
                d - $jc.margin(el, 'marginTop') - $jc.margin(el, =
'marginBottom');=0A=
=0A=
            $(el).css(this.wh, w + 'px');=0A=
=0A=
            return this.dimension(el);=0A=
        },=0A=
=0A=
        clipping: function() {=0A=
            return !this.options.vertical ?=0A=
                this.clip[0].offsetWidth - =
$jc.intval(this.clip.css('borderLeftWidth')) - =
$jc.intval(this.clip.css('borderRightWidth')) :=0A=
                this.clip[0].offsetHeight - =
$jc.intval(this.clip.css('borderTopWidth')) - =
$jc.intval(this.clip.css('borderBottomWidth'));=0A=
        },=0A=
=0A=
        index: function(i, s) {=0A=
            if (s =3D=3D undefined)=0A=
                s =3D this.options.size;=0A=
=0A=
            return Math.round((((i-1) / s) - Math.floor((i-1) / s)) * s) =
+ 1;=0A=
        }=0A=
    });=0A=
=0A=
    $jc.extend({=0A=
        /**=0A=
         * Gets/Sets the global default configuration properties.=0A=
         *=0A=
         * @name defaults=0A=
         * @descr Gets/Sets the global default configuration properties.=0A=
         * @type Hash=0A=
         * @param Hash d A set of key/value pairs to set as =
configuration properties.=0A=
         * @cat Plugins/jCarousel=0A=
         */=0A=
        defaults: function(d) {=0A=
            return $.extend(defaults, d || {});=0A=
        },=0A=
=0A=
        margin: function(e, p) {=0A=
            if (!e)=0A=
                return 0;=0A=
=0A=
            var el =3D e.jquery !=3D undefined ? e[0] : e;=0A=
=0A=
            if (p =3D=3D 'marginRight' && $.browser.safari) {=0A=
                var old =3D {'display': 'block', 'float': 'none', =
'width': 'auto'}, oWidth, oWidth2;=0A=
=0A=
                $.swap(el, old, function() { oWidth =3D el.offsetWidth; =
});=0A=
=0A=
                old['marginRight'] =3D 0;=0A=
                $.swap(el, old, function() { oWidth2 =3D el.offsetWidth; =
});=0A=
=0A=
                return oWidth2 - oWidth;=0A=
            }=0A=
=0A=
            return $jc.intval($.css(el, p));=0A=
        },=0A=
=0A=
        intval: function(v) {=0A=
            v =3D parseInt(v);=0A=
            return isNaN(v) ? 0 : v;=0A=
        }=0A=
    });=0A=
=0A=
})(jQuery);=0A=

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google.com/jsapi

if (!window['google']) {=0A=
window['google'] =3D {};=0A=
}=0A=
if (!window['google']['loader']) {=0A=
window['google']['loader'] =3D {};=0A=
google.loader.ServiceBase =3D 'http://www.google.com/uds';=0A=
google.loader.GoogleApisBase =3D 'http://ajax.googleapis.com/ajax';=0A=
google.loader.ApiKey =3D 'notsupplied';=0A=
google.loader.KeyVerified =3D true;=0A=
google.loader.LoadFailure =3D false;=0A=
google.loader.Secure =3D false;=0A=
google.loader.GoogleLocale =3D 'www.google.com';=0A=
google.loader.ClientLocation =3D =
{"latitude":43.073,"longitude":-89.401,"address":{"city":"Madison","regio=
n":"WI","country":"USA","country_code":"US"}};=0A=
google.loader.AdditionalParams =3D '';=0A=
(function() {var =
d=3Dtrue,f=3Dnull,g=3Dfalse,h=3DencodeURIComponent,j=3Dwindow,k=3Dgoogle,=
m=3Dundefined,n=3Ddocument;function p(a,b){return a.load=3Db}var =
q=3D"push",s=3D"replace",t=3D"charAt",u=3D"ServiceBase",v=3D"name",w=3D"g=
etTime",x=3D"length",y=3D"prototype",z=3D"setTimeout",A=3D"loader",B=3D"s=
ubstring",C=3D"join",D=3D"toLowerCase";function E(a){if(a in F)return =
F[a];return F[a]=3Dnavigator.userAgent[D]().indexOf(a)!=3D-1}var =
F=3D{};function G(a,b){var =
c=3Dfunction(){};c.prototype=3Db[y];a.R=3Db[y];a.prototype=3Dnew c}=0A=
function H(a,b){var =
c=3Da.F||[];c=3Dc.concat(Array[y].slice.call(arguments,2));if(typeof =
a.s!=3D"undefined")b=3Da.s;if(typeof a.r!=3D"undefined")a=3Da.r;var =
e=3Dfunction(){var i=3Dc.concat(Array[y].slice.call(arguments));return =
a.apply(b,i)};e.F=3Dc;e.s=3Db;e.r=3Da;return e}function I(a){a=3Dnew =
Error(a);a.toString=3Dfunction(){return this.message};return a}function =
J(a,b){a=3Da.split(/\./);for(var =
c=3Dj,e=3D0;e<a[x]-1;e++){c[a[e]]||(c[a[e]]=3D{});c=3Dc[a[e]]}c[a[a[x]-1]=
]=3Db}function K(a,b,c){a[b]=3Dc}if(!L)var L=3DJ;if(!M)var =
M=3DK;k[A].t=3D{};L("google.loader.callbacks",k[A].t);var =
N=3D{},O=3D{};k[A].eval=3D{};L("google.loader.eval",k[A].eval);=0A=
p(k,function(a,b,c){var e=3Da;c=3Dc||{};function i(r){var =
o=3Dr.split(".");if(o[x]>2)throw I("Module: '"+r+"' not found!");else =
if(typeof =
o[1]!=3D"undefined"){e=3Do[0];c.packages=3Dc.packages||[];c.packages[q](o=
[1])}}if(a instanceof Array||a&&typeof a=3D=3D"object"&&typeof =
a[C]=3D=3D"function"&&typeof a.reverse=3D=3D"function")for(var =
l=3D0;l<a[x];l++)i(a[l]);else =
i(a);if(a=3DN[":"+e]){if(c&&!c.language&&c.locale)c.language=3Dc.locale;i=
f(c&&typeof =
c.callback=3D=3D"string"){l=3Dc.callback;if(l.match(/^[[\]A-Za-z0-9._]+$/=
)){l=3Dj.eval(l);=0A=
c.callback=3Dl}}if((l=3Dc&&c.callback!=3Df)&&!a.q(b))throw I("Module: =
'"+e+"' must be loaded before DOM onLoad!");else =
if(l)a.l(b,c)?j[z](c.callback,0):a.load(b,c);else =
a.l(b,c)||a.load(b,c)}else throw I("Module: '"+e+"' not =
found!");});L("google.load",k.load);k.Q=3Dfunction(a,b){b?aa(a):P(j,"load=
",a)};L("google.setOnLoadCallback",k.Q);function =
P(a,b,c){if(a.addEventListener)a.addEventListener(b,c,g);else =
if(a.attachEvent)a.attachEvent("on"+b,c);else{var =
e=3Da["on"+b];a["on"+b]=3De!=3Df?ba([c,e]):c}}=0A=
function ba(a){return function(){for(var b=3D0;b<a[x];b++)a[b]()}}var =
Q=3D[];function =
aa(a){if(Q[x]=3D=3D0){P(j,"load",R);if(!E("msie")&&!(E("safari")||E("konq=
ueror"))&&E("mozilla")||j.opera)j.addEventListener("DOMContentLoaded",R,g=
);else if(E("msie"))n.write("<script defer =
onreadystatechange=3D'google.loader.domReady()' =
src=3D//:><\/script>");else(E("safari")||E("konqueror"))&&j[z](ca,10)}Q[q=
](a)}=0A=
k[A].L=3Dfunction(){var =
a=3Dj.event.srcElement;if(a.readyState=3D=3D"complete"){a.onreadystatecha=
nge=3Df;a.parentNode.removeChild(a);R()}};L("google.loader.domReady",k[A]=
.L);var da=3D{loaded:d,complete:d};function =
ca(){if(da[n.readyState])R();else Q[x]>0&&j[z](ca,10)}function =
R(){for(var a=3D0;a<Q[x];a++)Q[a]();Q.length=3D0}=0A=
k[A].e=3Dfunction(a,b,c){if(c){var =
e;if(a=3D=3D"script"){e=3Dn.createElement("script");e.type=3D"text/javasc=
ript";e.src=3Db}else =
if(a=3D=3D"css"){e=3Dn.createElement("link");e.type=3D"text/css";e.href=3D=
b;e.rel=3D"stylesheet"}(a=3Dn.getElementsByTagName("head")[0])||(a=3Dn.bo=
dy.parentNode.appendChild(n.createElement("head")));a.appendChild(e)}else=
 if(a=3D=3D"script")n.write('<script src=3D"'+b+'" =
type=3D"text/javascript"><\/script>');else a=3D=3D"css"&&n.write('<link =
href=3D"'+b+'" type=3D"text/css" rel=3D"stylesheet"></link>')};=0A=
L("google.loader.writeLoadTag",k[A].e);k[A].N=3Dfunction(a){O=3Da};L("goo=
gle.loader.rfm",k[A].N);k[A].P=3Dfunction(a){for(var b in a)if(typeof =
b=3D=3D"string"&&b&&b[t](0)=3D=3D":"&&!N[b])N[b]=3Dnew =
T(b[B](1),a[b])};L("google.loader.rpl",k[A].P);k[A].O=3Dfunction(a){if((a=
=3Da.specs)&&a[x])for(var b=3D0;b<a[x];++b){var c=3Da[b];if(typeof =
c=3D=3D"string")N[":"+c]=3Dnew U(c);else{c=3Dnew =
V(c[v],c.baseSpec,c.customSpecs);N[":"+c[v]]=3Dc}}};L("google.loader.rm",=
k[A].O);k[A].loaded=3Dfunction(a){N[":"+a.module].j(a)};=0A=
L("google.loader.loaded",k[A].loaded);k[A].K=3Dfunction(){var a=3D(new =
Date)[w](),b=3DMath.floor(Math.random()*10000000);return"qid=3D"+(a.toStr=
ing(16)+b.toString(16))};L("google.loader.createGuidArg_",k[A].K);J("goog=
le_exportSymbol",J);J("google_exportProperty",K);k[A].b=3D{};L("google.lo=
ader.themes",k[A].b);k[A].b.z=3D"http://www.google.com/cse/style/look/bub=
blegum.css";M(k[A].b,"BUBBLEGUM",k[A].b.z);k[A].b.B=3D"http://www.google.=
com/cse/style/look/greensky.css";M(k[A].b,"GREENSKY",k[A].b.B);k[A].b.A=3D=
"http://www.google.com/cse/style/look/espresso.css";=0A=
M(k[A].b,"ESPRESSO",k[A].b.A);k[A].b.D=3D"http://www.google.com/cse/style=
/look/shiny.css";M(k[A].b,"SHINY",k[A].b.D);k[A].b.C=3D"http://www.google=
.com/cse/style/look/minimalist.css";M(k[A].b,"MINIMALIST",k[A].b.C);funct=
ion U(a){this.a=3Da;this.o=3D{};this.c=3D{};this.k=3Dd;this.d=3D-1}=0A=
U[y].g=3Dfunction(a,b){var =
c=3D"";if(b!=3Dm){if(b.language!=3Dm)c+=3D"&hl=3D"+h(b.language);if(b.noc=
ss!=3Dm)c+=3D"&output=3D"+h("nocss=3D"+b.nocss);if(b.nooldnames!=3Dm)c+=3D=
"&nooldnames=3D"+h(b.nooldnames);if(b.packages!=3Dm)c+=3D"&packages=3D"+h=
(b.packages);if(b.callback!=3Df)c+=3D"&async=3D2";if(b.style!=3Dm)c+=3D"&=
style=3D"+h(b.style);if(b.other_params!=3Dm)c+=3D"&"+b.other_params}if(!t=
his.k){if(k[this.a]&&k[this.a].JSHash)c+=3D"&sig=3D"+h(k[this.a].JSHash);=
b=3D[];for(var e in this.o)e[t](0)=3D=3D":"&&b[q](e[B](1));for(e in =
this.c)e[t](0)=3D=3D":"&&b[q](e[B](1));=0A=
c+=3D"&have=3D"+h(b[C](","))}return =
k[A][u]+"/?file=3D"+this.a+"&v=3D"+a+k[A].AdditionalParams+c};U[y].v=3Dfu=
nction(a){var b=3Df;if(a)b=3Da.packages;var c=3Df;if(b)if(typeof =
b=3D=3D"string")c=3D[a.packages];else =
if(b[x]){c=3D[];for(a=3D0;a<b[x];a++)typeof =
b[a]=3D=3D"string"&&c[q](b[a][s](/^\s*|\s*$/,"")[D]())}c||(c=3D["default"=
]);b=3D[];for(a=3D0;a<c[x];a++)this.o[":"+c[a]]||b[q](c[a]);return b};=0A=
p(U[y],function(a,b){var c=3Dthis.v(b),e=3Db&&b.callback!=3Df;if(e)var =
i=3Dnew W(b.callback);for(var l=3D[],r=3Dc[x]-1;r>=3D0;r--){var =
o=3Dc[r];e&&i.G(o);if(this.c[":"+o]){c.splice(r,1);e&&this.c[":"+o][q](i)=
}else =
l[q](o)}if(c[x]){if(b&&b.packages)b.packages=3Dc.sort()[C](",");if(!b&&O[=
":"+this.a]!=3Df&&O[":"+this.a].versions[":"+a]!=3Df&&!k[A].AdditionalPar=
ams&&this.k){a=3DO[":"+this.a];k[this.a]=3Dk[this.a]||{};for(var S in =
a.properties)if(S&&S[t](0)=3D=3D":")k[this.a][S[B](1)]=3Da.properties[S];=
k[A].e("script",k[A][u]+a.path+=0A=
a.js,e);a.css&&k[A].e("css",k[A][u]+a.path+a.css,e)}else =
if(!b||!b.autoloaded)k[A].e("script",this.g(a,b),e);if(this.k){this.k=3Dg=
;this.d=3D(new =
Date)[w]();if(this.d%100!=3D1)this.d=3D-1}for(r=3D0;r<l[x];r++){o=3Dl[r];=
this.c[":"+o]=3D[];e&&this.c[":"+o][q](i)}}});=0A=
U[y].j=3Dfunction(a){if(this.d!=3D-1){X("al_"+this.a,"jl."+((new =
Date)[w]()-this.d),d);this.d=3D-1}for(var =
b=3D0;b<a.components[x];b++){this.o[":"+a.components[b]]=3Dd;var =
c=3Dthis.c[":"+a.components[b]];if(c){for(var =
e=3D0;e<c[x];e++)c[e].J(a.components[b]);delete =
this.c[":"+a.components[b]]}}X("hl",this.a)};U[y].l=3Dfunction(a,b){retur=
n this.v(b)[x]=3D=3D0};U[y].q=3Dfunction(){return d};function =
W(a){this.I=3Da;this.m=3D{};this.p=3D0}W[y].G=3Dfunction(a){this.p++;this=
.m[":"+a]=3Dd};=0A=
W[y].J=3Dfunction(a){if(this.m[":"+a]){this.m[":"+a]=3Dg;this.p--;this.p=3D=
=3D0&&j[z](this.I,0)}};function =
V(a,b,c){this.name=3Da;this.H=3Db;this.n=3Dc;this.u=3Dthis.h=3Dg;this.i=3D=
[];k[A].t[this[v]]=3DH(this.j,this)}G(V,U);p(V[y],function(a,b){var =
c=3Db&&b.callback!=3Df;if(c){this.i[q](b.callback);b.callback=3D"google.l=
oader.callbacks."+this[v]}else =
this.h=3Dd;if(!b||!b.autoloaded)k[A].e("script",this.g(a,b),c);X("el",thi=
s[v])});V[y].l=3Dfunction(a,b){return =
b&&b.callback!=3Df?this.u:this.h};V[y].j=3Dfunction(){this.u=3Dd;for(var =
a=3D0;a<this.i[x];a++)j[z](this.i[a],0);this.i=3D[]};=0A=
var Y=3Dfunction(a,b){return =
a.string?h(a.string)+"=3D"+h(b):a.regex?b[s](/(^.*$)/,a.regex):""};V[y].g=
=3Dfunction(a,b){return this.M(this.w(a),a,b)};=0A=
V[y].M=3Dfunction(a,b,c){var =
e=3D"";if(a.key)e+=3D"&"+Y(a.key,k[A].ApiKey);if(a.version)e+=3D"&"+Y(a.v=
ersion,b);b=3Dk[A].Secure&&a.ssl?a.ssl:a.uri;if(c!=3Df)for(var i in =
c)if(a.params[i])e+=3D"&"+Y(a.params[i],c[i]);else =
if(i=3D=3D"other_params")e+=3D"&"+c[i];else =
if(i=3D=3D"base_domain")b=3D"http://"+c[i]+a.uri[B](a.uri.indexOf("/",7))=
;k[this[v]]=3D{};if(b.indexOf("?")=3D=3D-1&&e)e=3D"?"+e[B](1);return =
b+e};V[y].q=3Dfunction(a){return =
this.w(a).deferred};V[y].w=3Dfunction(a){if(this.n)for(var =
b=3D0;b<this.n[x];++b){var c=3Dthis.n[b];if((new =
RegExp(c.pattern)).test(a))return c}return this.H};function =
T(a,b){this.a=3Da;this.f=3Db;this.h=3Dg}G(T,U);p(T[y],function(a,b){this.=
h=3Dd;k[A].e("script",this.g(a,b),g)});T[y].l=3Dfunction(){return =
this.h};T[y].j=3Dfunction(){};T[y].g=3Dfunction(a,b){if(!this.f.versions[=
":"+a]){if(this.f.aliases){var =
c=3Dthis.f.aliases[":"+a];if(c)a=3Dc}if(!this.f.versions[":"+a])throw =
I("Module: '"+this.a+"' with version '"+a+"' not =
found!");}a=3Dk[A].GoogleApisBase+"/libs/"+this.a+"/"+a+"/"+this.f.versio=
ns[":"+a][b&&b.uncompressed?"uncompressed":"compressed"];X("el",this.a);r=
eturn a};=0A=
T[y].q=3Dfunction(){return g};var ea=3Dg,Z=3D[],fa=3D(new =
Date)[w](),X=3Dfunction(a,b,c){if(!ea){P(j,"unload",ga);ea=3Dd}if(c){if(!=
k[A].Secure&&(!k[A].Options||k[A].Options.csi=3D=3D=3Dg)){a=3Da[D]()[s](/=
[^a-z0-9_.]+/g,"_");b=3Db[D]()[s](/[^a-z0-9_.]+/g,"_");a=3D"http://csi.gs=
tatic.com/csi?s=3Duds&v=3D2&action=3D"+h(a)+"&it=3D"+h(b);j[z](H($,f,a),1=
0000)}}else{Z[q]("r"+Z[x]+"=3D"+h(a+(b?"|"+b:"")));j[z](ga,Z[x]>5?0:15000=
)}},ga=3Dfunction(){if(Z[x]){$(k[A][u]+"/stats?"+Z[C]("&")+"&nc=3D"+(new =
Date)[w]()+"_"+((new Date)[w]()-fa));Z.length=3D0}},$=3Dfunction(a){var =
b=3Dnew Image,=0A=
c=3Dha++;ia[c]=3Db;b.onload=3Db.onerror=3Dfunction(){delete =
ia[c]};b.src=3Da;b=3Df},ia=3D{},ha=3D0;J("google.loader.recordStat",X);J(=
"google.loader.createImageForLogging",$);=0A=
=0A=
}) =
();google.loader.rm({"specs":[{"name":"books","baseSpec":{"uri":"http://b=
ooks.google.com/books/api.js","ssl":null,"key":{"string":"key"},"version"=
:{"string":"v"},"deferred":true,"params":{"callback":{"string":"callback"=
},"language":{"string":"hl"}}}},"feeds",{"name":"friendconnect","baseSpec=
":{"uri":"http://www.google.com/friendconnect/script/friendconnect.js","s=
sl":null,"key":{"string":"key"},"version":{"string":"v"},"deferred":false=
,"params":{}}},"spreadsheets","gdata","visualization",{"name":"sharing","=
baseSpec":{"uri":"http://www.google.com/s2/sharing/js","ssl":null,"key":{=
"string":"key"},"version":{"string":"v"},"deferred":false,"params":{"lang=
uage":{"string":"hl"}}}},"search",{"name":"maps","baseSpec":{"uri":"http:=
//maps.google.com/maps?file\u003dgoogleapi","ssl":"https://maps-api-ssl.g=
oogle.com/maps?file\u003dgoogleapi","key":{"string":"key"},"version":{"st=
ring":"v"},"deferred":true,"params":{"callback":{"regex":"callback\u003d$=
1\u0026async\u003d2"},"language":{"string":"hl"}}},"customSpecs":[{"uri":=
"http://maps.google.com/maps/api/js","ssl":null,"key":{"string":"key"},"v=
ersion":{"string":"v"},"deferred":true,"params":{"callback":{"string":"ca=
llback"},"language":{"string":"hl"}},"pattern":"^(3|3..*)$"}]},"annotatio=
ns_v2","orkut","language","earth",{"name":"annotations","baseSpec":{"uri"=
:"http://www.google.com/reviews/scripts/annotations_bootstrap.js","ssl":n=
ull,"key":{"string":"key"},"version":{"string":"v"},"deferred":true,"para=
ms":{"callback":{"string":"callback"},"language":{"string":"hl"},"country=
":{"string":"gl"}}}},"ads","elements"]});=0A=
google.loader.rfm({":feeds":{"versions":{":1":"1",":1.0":"1"},"path":"/ap=
i/feeds/1.0/f471ca262fef1bea760861a87b7a2baa/","js":"default+en.I.js","cs=
s":"default.css","properties":{":JSHash":"f471ca262fef1bea760861a87b7a2ba=
a",":Version":"1.0"}},":search":{"versions":{":1":"1",":1.0":"1"},"path":=
"/api/search/1.0/fd25df5f26208aec5fddcae8457d8888/","js":"default+en.I.js=
","css":"default.css","properties":{":JSHash":"fd25df5f26208aec5fddcae845=
7d8888",":NoOldNames":false,":Version":"1.0"}},":language":{"versions":{"=
:1":"1",":1.0":"1"},"path":"/api/language/1.0/c959a037ebe2d32b673a1532b3c=
b057c/","js":"default+en.I.js","properties":{":JSHash":"c959a037ebe2d32b6=
73a1532b3cb057c",":Version":"1.0"}},":spreadsheets":{"versions":{":0":"1"=
,":0.2":"1"},"path":"/api/spreadsheets/0.2/626554c678ff579189704ea83fe727=
74/","js":"default.I.js","properties":{":JSHash":"626554c678ff579189704ea=
83fe72774",":Version":"0.2"}},":earth":{"versions":{":1":"1",":1.0":"1"},=
"path":"/api/earth/1.0/56ce34c6d009ea6795ba3ac23670c3ee/","js":"default.I=
.js","properties":{":JSHash":"56ce34c6d009ea6795ba3ac23670c3ee",":Version=
":"1.0"}},":annotations":{"versions":{":1":"1",":1.0":"1"},"path":"/api/a=
nnotations/1.0/f193f28356b091de48b6f9ae0de94a0a/","js":"default+en.I.js",=
"properties":{":JSHash":"f193f28356b091de48b6f9ae0de94a0a",":Version":"1.=
0"}}});=0A=
google.loader.rpl({":scriptaculous":{"versions":{":1.8.3":{"uncompressed"=
:"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.2":{"uncompres=
sed":"scriptaculous.js","compressed":"scriptaculous.js"},":1.8.1":{"uncom=
pressed":"scriptaculous.js","compressed":"scriptaculous.js"}},"aliases":{=
":1.8":"1.8.3",":1":"1.8.3"}},":yui":{"versions":{":2.6.0":{"uncompressed=
":"build/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-=
min.js"},":2.7.0":{"uncompressed":"build/yuiloader/yuiloader.js","compres=
sed":"build/yuiloader/yuiloader-min.js"},":2.8.0r4":{"uncompressed":"buil=
d/yuiloader/yuiloader.js","compressed":"build/yuiloader/yuiloader-min.js"=
}},"aliases":{":2":"2.8.0r4",":2.7":"2.7.0",":2.6":"2.6.0",":2.8":"2.8.0r=
4",":2.8.0":"2.8.0r4"}},":swfobject":{"versions":{":2.1":{"uncompressed":=
"swfobject_src.js","compressed":"swfobject.js"},":2.2":{"uncompressed":"s=
wfobject_src.js","compressed":"swfobject.js"}},"aliases":{":2":"2.2"}},":=
ext-core":{"versions":{":3.0.0":{"uncompressed":"ext-core-debug.js","comp=
ressed":"ext-core.js"}},"aliases":{":3":"3.0.0",":3.0":"3.0.0"}},":mootoo=
ls":{"versions":{":1.2.3":{"uncompressed":"mootools.js","compressed":"moo=
tools-yui-compressed.js"},":1.1.1":{"uncompressed":"mootools.js","compres=
sed":"mootools-yui-compressed.js"},":1.2.4":{"uncompressed":"mootools.js"=
,"compressed":"mootools-yui-compressed.js"},":1.2.1":{"uncompressed":"moo=
tools.js","compressed":"mootools-yui-compressed.js"},":1.2.2":{"uncompres=
sed":"mootools.js","compressed":"mootools-yui-compressed.js"},":1.1.2":{"=
uncompressed":"mootools.js","compressed":"mootools-yui-compressed.js"}},"=
aliases":{":1":"1.1.2",":1.11":"1.1.1",":1.2":"1.2.4",":1.1":"1.1.2"}},":=
jqueryui":{"versions":{":1.7.2":{"uncompressed":"jquery-ui.js","compresse=
d":"jquery-ui.min.js"},":1.6.0":{"uncompressed":"jquery-ui.js","compresse=
d":"jquery-ui.min.js"},":1.7.0":{"uncompressed":"jquery-ui.js","compresse=
d":"jquery-ui.min.js"},":1.7.1":{"uncompressed":"jquery-ui.js","compresse=
d":"jquery-ui.min.js"},":1.5.3":{"uncompressed":"jquery-ui.js","compresse=
d":"jquery-ui.min.js"},":1.5.2":{"uncompressed":"jquery-ui.js","compresse=
d":"jquery-ui.min.js"}},"aliases":{":1.7":"1.7.2",":1":"1.7.2",":1.6":"1.=
6.0",":1.5":"1.5.3"}},":chrome-frame":{"versions":{":1.0.1":{"uncompresse=
d":"CFInstall.js","compressed":"CFInstall.min.js"},":1.0.0":{"uncompresse=
d":"CFInstall.js","compressed":"CFInstall.min.js"}},"aliases":{":1":"1.0.=
1",":1.0":"1.0.1"}},":prototype":{"versions":{":1.6.0.2":{"uncompressed":=
"prototype.js","compressed":"prototype.js"},":1.6.1.0":{"uncompressed":"p=
rototype.js","compressed":"prototype.js"},":1.6.0.3":{"uncompressed":"pro=
totype.js","compressed":"prototype.js"}},"aliases":{":1.6.1":"1.6.1.0",":=
1":"1.6.1.0",":1.6":"1.6.1.0",":1.6.0":"1.6.0.3"}},":jquery":{"versions":=
{":1.2.3":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3=
.1":{"uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.0":{"=
uncompressed":"jquery.js","compressed":"jquery.min.js"},":1.3.2":{"uncomp=
ressed":"jquery.js","compressed":"jquery.min.js"},":1.2.6":{"uncompressed=
":"jquery.js","compressed":"jquery.min.js"}},"aliases":{":1":"1.3.2",":1.=
3":"1.3.2",":1.2":"1.2.6"}},":dojo":{"versions":{":1.2.3":{"uncompressed"=
:"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.=
1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/d=
ojo.xd.js"},":1.1.1":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","c=
ompressed":"dojo/dojo.xd.js"},":1.3.0":{"uncompressed":"dojo/dojo.xd.js.u=
ncompressed.js","compressed":"dojo/dojo.xd.js"},":1.3.2":{"uncompressed":=
"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/dojo.xd.js"},":1.2.0=
":{"uncompressed":"dojo/dojo.xd.js.uncompressed.js","compressed":"dojo/do=
jo.xd.js"}},"aliases":{":1":"1.3.2",":1.3":"1.3.2",":1.2":"1.2.3",":1.1":=
"1.1.1"}}});=0A=
}=0A=

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google.com/coop/cse/t13n?form=cse-search-box1&t13n_langs=en

=0A=
(function() {=0A=
if (!google.elements || !google.elements.transliteration) {=0A=
return;=0A=
}=0A=
var t13nLangs =3D 'en'.split(',');=0A=
if (t13nLangs.length =3D=3D 1 && t13nLangs[0] !=3D '') {=0A=
var t13nLangCode =3D t13nLangs[0];=0A=
t13nLangs =3D [];=0A=
var supportedT13nLanguages =3D=0A=
google.elements.transliteration.getDestinationLanguages('en');=0A=
for (var lang in supportedT13nLanguages) {=0A=
var supportedLangCode =3D supportedT13nLanguages[lang];=0A=
if (supportedLangCode =3D=3D t13nLangCode) {=0A=
t13nLangs =3D [t13nLangCode];=0A=
break;=0A=
}=0A=
}=0A=
}=0A=
if (t13nLangs.length > 0 && t13nLangs[0] !=3D '') {=0A=
var f =3D document.getElementById('cse-search-box1');=0A=
if (!f) {=0A=
f =3D document.getElementById('searchbox_demo');=0A=
}=0A=
if (f && f.q) {=0A=
f.innerHTML =3D '<table><tr>' +=0A=
'<td><div id=3D"t13nc"></div></td>' +=0A=
'<td>' + f.innerHTML + '</td>' +=0A=
'</tr></table>';=0A=
function onLoad() {=0A=
var options =3D {=0A=
sourceLanguage: 'en',=0A=
destinationLanguage: t13nLangs,=0A=
shortcutKey: 'ctrl+g',=0A=
transliterationEnabled: true=0A=
};=0A=
var control =3D=0A=
new google.elements.transliteration.TransliterationControl(options);=0A=
control.makeTransliteratable([f.q]);=0A=
control.showControl('t13nc');=0A=
}=0A=
google.setOnLoadCallback(onLoad);=0A=
}=0A=
}=0A=
})();=0A=

------=_NextPart_000_0000_01CA7273.CA168740
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.google.com/coop/cse/t13n?form=cse-search-box2&t13n_langs=en

=0A=
(function() {=0A=
if (!google.elements || !google.elements.transliteration) {=0A=
return;=0A=
}=0A=
var t13nLangs =3D 'en'.split(',');=0A=
if (t13nLangs.length =3D=3D 1 && t13nLangs[0] !=3D '') {=0A=
var t13nLangCode =3D t13nLangs[0];=0A=
t13nLangs =3D [];=0A=
var supportedT13nLanguages =3D=0A=
google.elements.transliteration.getDestinationLanguages('en');=0A=
for (var lang in supportedT13nLanguages) {=0A=
var supportedLangCode =3D supportedT13nLanguages[lang];=0A=
if (supportedLangCode =3D=3D t13nLangCode) {=0A=
t13nLangs =3D [t13nLangCode];=0A=
break;=0A=
}=0A=
}=0A=
}=0A=
if (t13nLangs.length > 0 && t13nLangs[0] !=3D '') {=0A=
var f =3D document.getElementById('cse-search-box2');=0A=
if (!f) {=0A=
f =3D document.getElementById('searchbox_demo');=0A=
}=0A=
if (f && f.q) {=0A=
f.innerHTML =3D '<table><tr>' +=0A=
'<td><div id=3D"t13nc"></div></td>' +=0A=
'<td>' + f.innerHTML + '</td>' +=0A=
'</tr></table>';=0A=
function onLoad() {=0A=
var options =3D {=0A=
sourceLanguage: 'en',=0A=
destinationLanguage: t13nLangs,=0A=
shortcutKey: 'ctrl+g',=0A=
transliterationEnabled: true=0A=
};=0A=
var control =3D=0A=
new google.elements.transliteration.TransliterationControl(options);=0A=
control.makeTransliteratable([f.q]);=0A=
control.showControl('t13nc');=0A=
}=0A=
google.setOnLoadCallback(onLoad);=0A=
}=0A=
}=0A=
})();=0A=

------=_NextPart_000_0000_01CA7273.CA168740--

