From: <Guardado por Microsoft Internet Explorer 5>
Subject: National Center for Biotechnology Information
Date: Mon, 17 Jan 2011 10:07:07 +0100
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01CBB62E.4C2F4BF0"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<?xml version=3D"1.0" encoding=3D"utf-8"?><HTML lang=3Den =
xml:lang=3D"en"=20
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>National Center for =
Biotechnology Information</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<META id=3Dncbi_app content=3Dguide name=3Dncbi_app>
<META id=3Dncbi_pdid content=3DHomePage name=3Dncbi_pdid>
<META id=3Dncbi_sessionid content=3DCE8C79F9D3406811_0062SID =
name=3Dncbi_sessionid>
<META content=3D"slideInterval: 8000, randomStart: true" =
name=3Dncbislideshow>
<SCRIPT src=3D"http://www.ncbi.nlm.nih.gov/core/jig/1.5.2/js/jig.js"=20
type=3Dtext/javascript></SCRIPT>

<META content=3D"All Resources" name=3Dncbi_pcid>
<SCRIPT type=3Dtext/javascript>=0A=
            var ncbi_startTime =3D new Date();=0A=
        </SCRIPT>
<LINK=20
href=3D"http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/928261/css/4734=
42/12313.css"=20
type=3Dtext/css rel=3Dstylesheet xmlns=3D"http://www.w3.org/1999/xhtml"=20
xml:base=3D"http://127.0.0.1/sites/static/header_footer"><LINK =
media=3Dprint=20
href=3D"http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/928261/css/3198=
2.css"=20
type=3Dtext/css rel=3Dstylesheet xmlns=3D"http://www.w3.org/1999/xhtml"=20
xml:base=3D"http://127.0.0.1/sites/static/header_footer"><LINK=20
href=3D"http://www.ncbi.nlm.nih.gov/favicon.ico" rel=3D"shortcut icon">
<META content=3DCE8C79F9D3405A0100000000003EB746 name=3Dncbi_phid>
<SCRIPT type=3Dtext/javascript><!--=0A=
var ScriptUrl =3D 'http://www.ncbi.nlm.nih.gov/guide';=0A=
var ScriptPath =3D '/portal/';=0A=
var objHierarchy =3D =
{"name":"NCBIHomePageLayout","type":"Layout","realname":"NCBIHomePageLayo=
ut",=0A=
"children":[{"name":"NCBIHomePageLayout.NCBIHomePageAppController","type"=
:"Cluster","realname":"NCBIHomePageLayout.NCBIHomePageAppController",=0A=
"children":[{"name":"NCBIHomePageLayout.NCBIHomePageAppController.StdNCol=
Resources","type":"Portlet","realname":"NCBIHomePageLayout.NCBIHomePageAp=
pController.PAFAppController.StdNColResources","shortname":"StdNColResour=
ces"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFDebugPage","type=
":"Portlet","realname":"NCBIHomePageLayout.NCBIHomePageAppController.PAFA=
ppController.PAFDebugPage","shortname":"PAFDebugPage"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFAppLogReporter",=
"type":"Portlet","realname":"NCBIHomePageLayout.NCBIHomePageAppController=
.PAFAppController.PAFAppLogReporter","shortname":"PAFAppLogReporter"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePagePageMap=
","type":"Portlet","realname":"NCBIHomePageLayout.NCBIHomePageAppControll=
er.NCBIHomePagePageMap","shortname":"NCBIHomePagePageMap"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePageDataLoa=
der","type":"Portlet","realname":"NCBIHomePageLayout.NCBIHomePageAppContr=
oller.NCBIHomePageDataLoader","shortname":"NCBIHomePageDataLoader"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePageAppReso=
urces","type":"Portlet","realname":"NCBIHomePageLayout.NCBIHomePageAppCon=
troller.NCBIHomePageAppResources","shortname":"NCBIHomePageAppResources"}=
,=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures","t=
ype":"Cluster","realname":"NCBIHomePageLayout.NCBIHomePageAppController.P=
AFPageFixtures",=0A=
"children":[{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPage=
Fixtures.PAFPageFixturesP","type":"Portlet","realname":"NCBIHomePageLayou=
t.NCBIHomePageAppController.PAFPageFixtures.PAFPageFixtures.PAFPageFixtur=
esP","shortname":"PAFPageFixturesP"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures.NCB=
IFooter_dynamic","type":"Cluster","realname":"NCBIHomePageLayout.NCBIHome=
PageAppController.PAFPageFixtures.PAFPageFixtures.NCBIFooter_dynamic",=0A=
"children":[{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPage=
Fixtures.NCBIFooter_dynamic.NCBIBreadcrumbs","type":"Portlet","realname":=
"NCBIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures.PAFPageFixt=
ures.NCBIFooter_dynamic.NCBIBreadcrumbs","shortname":"NCBIBreadcrumbs"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures.NCB=
IFooter_dynamic.NCBIHelpDesk","type":"Portlet","realname":"NCBIHomePageLa=
yout.NCBIHomePageAppController.PAFPageFixtures.PAFPageFixtures.NCBIFooter=
_dynamic.NCBIHelpDesk","shortname":"NCBIHelpDesk"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures.NCB=
IFooter_dynamic.NCBIApplog_NoScript_Ping","type":"Portlet","realname":"NC=
BIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures.PAFPageFixture=
s.NCBIFooter_dynamic.NCBIApplog_NoScript_Ping","shortname":"NCBIApplog_No=
Script_Ping"}]},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.PAFPageFixtures.NCB=
IHomePageBreadcrumbs","type":"Portlet","realname":"NCBIHomePageLayout.NCB=
IHomePageAppController.PAFPageFixtures.NCBIHomePageBreadcrumbs","shortnam=
e":"NCBIHomePageBreadcrumbs"}]},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePageHomePag=
e","type":"Cluster","realname":"NCBIHomePageLayout.NCBIHomePageAppControl=
ler.NCBIHomePageHomePage",=0A=
"children":[{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHom=
ePageHomePage.NCBIHomePageHome","type":"Portlet","realname":"NCBIHomePage=
Layout.NCBIHomePageAppController.NCBIHomePageHomePage.NCBIHomePageHome","=
shortname":"NCBIHomePageHome"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePageHomePag=
e.NCBIHomePageBrowserCheck","type":"Portlet","realname":"NCBIHomePageLayo=
ut.NCBIHomePageAppController.NCBIHomePageHomePage.NCBIHomePageBase.NCBIHo=
mePageBrowserCheck","shortname":"NCBIHomePageBrowserCheck"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePageHomePag=
e.NCBIGuideNav","type":"Portlet","realname":"NCBIHomePageLayout.NCBIHomeP=
ageAppController.NCBIHomePageHomePage.NCBIGuideNav","shortname":"NCBIGuid=
eNav"},=0A=
{"name":"NCBIHomePageLayout.NCBIHomePageAppController.NCBIHomePageHomePag=
e.NCBISearchBar","type":"Portlet","realname":"NCBIHomePageLayout.NCBIHome=
PageAppController.NCBIHomePageHomePage.NCBISearchBar","shortname":"NCBISe=
archBar"}]}]}]};=0A=
--></SCRIPT>

<SCRIPT src=3D"http://www.ncbi.nlm.nih.gov/portal/js/portal.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK=20
href=3D"http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/1035669/css/702=
27/33411/33405/78653/194601/218229/31147/31870/3499/13021/2807/19975/7865=
2/14534/24272.css"=20
type=3Dtext/css rel=3Dstylesheet>
<SCRIPT=20
src=3D"http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/1035669/js/14385=
/94974/13034/14476/32470.js"=20
type=3Dtext/javascript snapshot=3D"guide"></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
=0A=
var ObjectLinks=3D[{i:0, ename: "p$ExL", esid:"*", sname: "p$ExL", =
ssid:"*", dname:"p$el", dsid:"0",m:"CopyValue",p:[],f: function(src, =
dst) {fn_CopyValue(src, dst);}}]=0A=
=0A=
=0A=
var ActiveNames =3D {"p$ExL":1};=0A=
</SCRIPT>

<META content=3D"MSHTML 6.00.2900.2180" name=3DGENERATOR></HEAD>
<BODY><!-- System messages like service outage or JS required; this is =
handled by the TemplateResources portlet -->
<DIV class=3Dsysmessages><NOSCRIPT>
<P class=3Dnojs><STRONG>Warning:</STRONG> The NCBI web site requires =
JavaScript to=20
function. <A title=3D"Learn how to enable JavaScript"=20
href=3D"http://www.ncbi.nlm.nih.gov/corehtml/query/static/unsupported-bro=
wser.html#enablejs"=20
target=3D_blank>more...</A> </P></NOSCRIPT></DIV><!--/.sysmessage-->
<DIV class=3Dwrap>
<DIV class=3Dpage>
<DIV xmlns:xi=3D"http://www.w3.org/2001/XInclude">
<DIV class=3Duniversal_header id=3Duniversal_header=20
xmlns=3D"http://www.w3.org/1999/xhtml"=20
xml:base=3D"http://127.0.0.1/sites/static/header_footer">
<UL class=3D"inline_list jig-ncbimenu ui-ncbimenu resources_list" =
id=3Dnavcontent>
  <LI=20
  class=3D"ui-ncbimenu-item-leaf ui-ncbimenu-item-first ui-helper-reset =
ui-ncbimenu-item-no-hlt"><A=20
  class=3Dui-ncbimenu-link-first id=3Dncbihome title=3D"NCBI Home" =
accessKey=3D1=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/" role=3D"banner"><IMG =
class=3Dncbi_logo=20
  title=3DNCBI alt=3D"NCBI Logo"=20
  =
src=3D"http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/928261/img/28977=
"></A>
  <LI class=3D"topmenu ui-helper-reset ui-ncbimenu-item-first =
ui-helper-reset"=20
  id=3Dresource-menu><A=20
  class=3D"ui-ncbimenu-first-link-has-submenu ui-ncbimenu-link-first =
topanchor"=20
  href=3D"http://www.ncbi.nlm.nih.gov/#">Resources</A>
  <UL id=3Dresources-submenu>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/all/">All =
Resources</A>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Chemicals &amp; =
Bioassays</A>
    <UL class=3D"actual-resources-submenu chemicals-bioassays">
      <LI><A=20
      title=3D"&#10;                Database that groups biomedical =
literature, small molecules, and sequence data in terms of biological =
relationships.&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/biosystems/">BioSystems</A>
      <LI><A title=3D"Contributed bioactivity data for PubChem =
Substances"=20
      href=3D"http://www.ncbi.nlm.nih.gov/pcassay">PubChem BioAssay</A>
      <LI><A title=3D"Unique, standardized chemical structures"=20
      href=3D"http://www.ncbi.nlm.nih.gov/pccompound">PubChem =
Compound</A>
      <LI><A title=3D"Searches PubChem Compound by chemical structure"=20
      href=3D"http://pubchem.ncbi.nlm.nih.gov/search/search.cgi">PubChem =
Structure=20
      Search</A>
      <LI><A=20
      title=3D"Provides information on the biological activities of =
small molecules."=20
      href=3D"http://www.ncbi.nlm.nih.gov/pcsubstance">PubChem =
Substance</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/chemicals-bioassays/">All=20
      Chemicals &amp; Bioassays Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">DNA &amp; RNA</A>
    <UL class=3D"actual-resources-submenu dna-rna">
      <LI><A title=3D"Web tool for simple submissions of nucleotide =
sequences"=20
      href=3D"http://www.ncbi.nlm.nih.gov/BankIt/">BankIt</A>
      <LI><A=20
      title=3D"&#10;                Database that groups biomedical =
literature, small molecules, and sequence data in terms of biological =
relationships.&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/biosystems/">BioSystems</A>
      <LI><A title=3D"Tool for finding local regions of sequence =
similarity"=20
      href=3D"http://blast.ncbi.nlm.nih.gov/">BLAST (Basic Local =
Alignment Search=20
      Tool)</A>
      <LI><A title=3D"BLAST programs for a local computer"=20
      =
href=3D"http://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=3DWeb&amp;PAGE_TYPE=3D=
BlastDocs&amp;DOC_TYPE=3DDownload">BLAST=20
      (Stand-alone)</A>
      <LI><A=20
      title=3D"&#10;&#10;                URL application programming =
interface for searching, linking and downloading data within NCBI's =
Entrez system&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpeutils">=
E-Utilities</A>
      <LI><A title=3D"DNA and RNA sequences submitted to NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/Genbank/">GenBank</A>
      <LI><A title=3D"Stand-alone application for analyzing sequence =
data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/projects/gbench/">Genome =
Workbench</A>
      <LI><A=20
      title=3D"&#10;&#10;                Data from the NIAID Influenza =
Genome Sequencing Project&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/genomes/FLU/">Influenza =
Virus</A>
      <LI><A title=3D"Nucleotide sequence data in GenBank and RefSeq"=20
      href=3D"http://www.ncbi.nlm.nih.gov/nuccore">Nucleotide =
Database</A>
      <LI><A title=3D"Sets of nucleotide sequences representing a =
population"=20
      href=3D"http://www.ncbi.nlm.nih.gov/popset">PopSet</A>
      <LI><A title=3D"Curated nucleotide and protein sequences produced =
by NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/RefSeq/">Reference Sequence =
(RefSeq)</A>
      <LI><A=20
      title=3D"&#10;&#10;                RefSeqGene reference standards =
for genomic sequences of well-characterized genes&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/refseq/rsg/">RefSeqGene</A>
      <LI><A=20
      title=3D"Database of sequences reads from next generation =
sequencing technologies"=20
      href=3D"http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?">Sequence =
Read=20
      Archive (SRA)</A>
      <LI><A=20
      title=3D"&#10;                Software tool for complex =
submissions of nucleotide sequences&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/Sequin">Sequin</A>
      <LI><A=20
      title=3D"&#10;&#10;                Command-line program for =
submitting sequence data&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Genbank/tbl2asn2.html">tbl2asn</A>
      <LI><A=20
      title=3D"DNA chromatograms, base calls, and quality estimates for =
single-pass reads."=20
      href=3D"http://www.ncbi.nlm.nih.gov/Traces/trace.cgi">Trace =
Archive</A>
      <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/dna-rna/">All DNA =
&amp; RNA=20
      Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Data &amp; =
Software</A>
    <UL class=3D"actual-resources-submenu data-software">
      <LI><A title=3D"Program for viewing 3D structures and alignments"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/CN3D/cn3d.shtml">Cn3D</A>
      <LI><A=20
      title=3D"&#10;&#10;                Locates conserved domains =
within a protein sequence&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/cdd/wrpsb.cgi">Conserved=20
      Domain Search Service (CD Search)</A>
      <LI><A=20
      title=3D"&#10;                URL application programming =
interface for searching, linking and downloading data within NCBI's =
Entrez system&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpeutils">=
E-Utilities</A>
      <LI><A title=3D"Tool for aligning proteins to genomic DNA"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sutils/static/prosplign/prosplign.htm=
l">ProSplign</A>
      <LI><A=20
      title=3D"&#10;&#10;                Software tool for complex =
submissions of nucleotide sequences&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/Sequin">Sequin</A>
      <LI><A title=3D"Tool for aligning transcripts to genomic DNA"=20
      href=3D"http://www.ncbi.nlm.nih.gov/sutils/splign">Splign</A>
      <LI><A=20
      title=3D"&#10;                Command-line program for submitting =
sequence data&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Genbank/tbl2asn2.html">tbl2asn</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/data-software/">All Data=20
      &amp; Software Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Domains &amp; =
Structures</A>
    <UL class=3D"actual-resources-submenu domains-structures">
      <LI><A title=3D"Program for viewing 3D structures and alignments"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/CN3D/cn3d.shtml">Cn3D</A>
      <LI><A=20
      title=3D"Database of conserved protein domains represented by =
multiple sequence alignments"=20
      href=3D"http://www.ncbi.nlm.nih.gov/cdd">Conserved Domain Database =
(CDD)</A>
      <LI><A=20
      title=3D"&#10;                Locates conserved domains within a =
protein sequence&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/cdd/wrpsb.cgi">Conserved=20
      Domain Search Service (CD Search)</A>
      <LI><A title=3D"Database of 3D macromolecular structures derived =
from PDB"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sites/entrez?db=3Dstructure">Structur=
e=20
      (Molecular Modeling Database)</A>
      <LI><A title=3D"Tool that generates 3D structural alignments"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/VAST/vast.html">Vector=20
      Alignment Search Tool (VAST)</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/domains-structures/">All=20
      Domains &amp; Structures Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Genes &amp; =
Expression</A>
    <UL class=3D"actual-resources-submenu genes-expression">
      <LI><A=20
      title=3D"&#10;&#10;                Database that groups biomedical =
literature, small molecules, and sequence data in terms of biological =
relationships.&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/biosystems/">BioSystems</A>
      <LI><A title=3D"Genotype/Phenotype association studies"=20
      href=3D"http://www.ncbi.nlm.nih.gov/gap">Database of Genotypes and =

      Phenotypes (dbGaP)</A>
      <LI><A=20
      title=3D"&#10;&#10;                URL application programming =
interface for searching, linking and downloading data within NCBI's =
Entrez system&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpeutils">=
E-Utilities</A>
      <LI><A title=3D"DNA and RNA sequences submitted to NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/Genbank/">GenBank</A>
      <LI><A=20
      title=3D"Database of gene loci and associated transcripts and =
proteins"=20
      href=3D"http://www.ncbi.nlm.nih.gov/gene">Gene</A>
      <LI><A title=3D" Gene Expression Omnibus (GEO) Database "=20
      href=3D"http://www.ncbi.nlm.nih.gov/geo/">Gene Expression Omnibus =
(GEO)=20
      Database </A>
      <LI><A title=3D"Curated collections of gene expression data sets"=20
      href=3D"http://www.ncbi.nlm.nih.gov/gds">Gene Expression Omnibus =
(GEO)=20
      Datasets</A>
      <LI><A=20
      title=3D"&#10;                Database of gene expression Profiles =
for individual sequences&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/geoprofiles/">Gene Expression =
Omnibus=20
      (GEO) Profiles</A>
      <LI><A title=3D"Stand-alone application for analyzing sequence =
data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/projects/gbench/">Genome =
Workbench</A>
      <LI><A title=3D"Sets of homologous eukaryotic genes"=20
      href=3D"http://www.ncbi.nlm.nih.gov/homologene">HomoloGene</A>
      <LI><A=20
      title=3D"Tool for searching, viewing and downloading genomic maps =
and related data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/mapview/">Map Viewer</A>
      <LI><A title=3D"Database of human genes and genetic disorders"=20
      href=3D"http://www.ncbi.nlm.nih.gov/omim">Online Mendelian =
Inheritance in=20
      Man (OMIM)</A>
      <LI><A=20
      title=3D"&#10;&#10;                RefSeqGene reference standards =
for genomic sequences of well-characterized genes&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/refseq/rsg/">RefSeqGene</A>
      <LI><A title=3D"Gene-centered clusters of transcripts and ESTs"=20
      href=3D"http://www.ncbi.nlm.nih.gov/unigene">UniGene</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genes-expression/">All=20
      Genes &amp; Expression Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Genetics &amp; =
Medicine</A>
    <UL class=3D"actual-resources-submenu genetics-medicine">
      <LI><A title=3D"Online biomedical books"=20
      href=3D"http://www.ncbi.nlm.nih.gov/books">Bookshelf</A>
      <LI><A title=3D"Genotype/Phenotype association studies"=20
      href=3D"http://www.ncbi.nlm.nih.gov/gap">Database of Genotypes and =

      Phenotypes (dbGaP)</A>
      <LI><A=20
      title=3D"&#10;                Data from the NIAID Influenza Genome =
Sequencing Project&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/genomes/FLU/">Influenza =
Virus</A>
      <LI><A=20
      title=3D"Tool for searching, viewing and downloading genomic maps =
and related data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/mapview/">Map Viewer</A>
      <LI><A title=3D"Database of human genes and genetic disorders"=20
      href=3D"http://www.ncbi.nlm.nih.gov/omim">Online Mendelian =
Inheritance in=20
      Man (OMIM)</A>
      <LI><A=20
      title=3D"&#10;&#10;                Biomedical literature =
abstracts&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/pubmed">PubMed</A>
      <LI><A=20
      title=3D"&#10;                Free, full-text articles&#10;        =
    "=20
      href=3D"http://www.ncbi.nlm.nih.gov/pmc/">PubMed Central (PMC)</A>
      <LI><A=20
      title=3D"&#10;                Directory of PubMed queries about =
clinical topics&#10;&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/entrez/query/static/clinical.shtml">P=
ubMed=20
      Clinical Queries</A>
      <LI><A=20
      title=3D"&#10;                RefSeqGene reference standards for =
genomic sequences of well-characterized genes&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/refseq/rsg/">RefSeqGene</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genetics-medicine/">All=20
      Genetics &amp; Medicine Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Genomes &amp; Maps</A>
    <UL class=3D"actual-resources-submenu genomes-maps">
      <LI><A title=3D"A database of genomic structural variation"=20
      href=3D"http://www.ncbi.nlm.nih.gov/dbvar">Database of Genomic =
Structural=20
      Variation (dbVar)</A>
      <LI><A title=3D"Curated genomic DNA sequences"=20
      href=3D"http://www.ncbi.nlm.nih.gov/sites/genome">Genome</A>
      <LI><A title=3D"Central status pages for genome sequencing =
projects"=20
      href=3D"http://www.ncbi.nlm.nih.gov/genomeprj">Genome Project</A>
      <LI><A title=3D"Stand-alone application for analyzing sequence =
data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/projects/gbench/">Genome =
Workbench</A>
      <LI><A=20
      title=3D"&#10;                Data from the NIAID Influenza Genome =
Sequencing Project&#10;&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/genomes/FLU/">Influenza =
Virus</A>
      <LI><A=20
      title=3D"Tool for searching, viewing and downloading genomic maps =
and related data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/mapview/">Map Viewer</A>
      <LI><A title=3D"Nucleotide sequence data in GenBank and RefSeq"=20
      href=3D"http://www.ncbi.nlm.nih.gov/nuccore">Nucleotide =
Database</A>
      <LI><A title=3D"Sets of nucleotide sequences representing a =
population"=20
      href=3D"http://www.ncbi.nlm.nih.gov/popset">PopSet</A>
      <LI><A title=3D"Tool for aligning proteins to genomic DNA"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sutils/static/prosplign/prosplign.htm=
l">ProSplign</A>
      <LI><A=20
      title=3D"Database of sequences reads from next generation =
sequencing technologies"=20
      href=3D"http://www.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?">Sequence =
Read=20
      Archive (SRA)</A>
      <LI><A=20
      title=3D"&#10;&#10;                Software tool for complex =
submissions of nucleotide sequences&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/Sequin">Sequin</A>
      <LI><A title=3D"Tool for aligning transcripts to genomic DNA"=20
      href=3D"http://www.ncbi.nlm.nih.gov/sutils/splign">Splign</A>
      <LI><A=20
      title=3D"&#10;&#10;                Command-line program for =
submitting sequence data&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Genbank/tbl2asn2.html">tbl2asn</A>
      <LI><A=20
      title=3D"DNA chromatograms, base calls, and quality estimates for =
single-pass reads."=20
      href=3D"http://www.ncbi.nlm.nih.gov/Traces/trace.cgi">Trace =
Archive</A>
      <LI><A title=3D"Database of Sequence Tagged Sites"=20
      href=3D"http://www.ncbi.nlm.nih.gov/unists">UniSTS</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genomes-maps/">All Genomes=20
      &amp; Maps Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Homology</A>
    <UL class=3D"actual-resources-submenu homology">
      <LI><A title=3D"Tool for finding local regions of sequence =
similarity"=20
      href=3D"http://blast.ncbi.nlm.nih.gov/">BLAST (Basic Local =
Alignment Search=20
      Tool)</A>
      <LI><A title=3D"BLAST programs for a local computer"=20
      =
href=3D"http://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=3DWeb&amp;PAGE_TYPE=3D=
BlastDocs&amp;DOC_TYPE=3DDownload">BLAST=20
      (Stand-alone)</A>
      <LI><A=20
      title=3D"Database of conserved protein domains represented by =
multiple sequence alignments"=20
      href=3D"http://www.ncbi.nlm.nih.gov/cdd">Conserved Domain Database =
(CDD)</A>
      <LI><A title=3D"Maps proteins from a COG/VOG back to its genome"=20
      href=3D"http://www.ncbi.nlm.nih.gov/sutils/protmap.cgi">Genome =
ProtMap</A>
      <LI><A title=3D"Sets of homologous eukaryotic genes"=20
      href=3D"http://www.ncbi.nlm.nih.gov/homologene">HomoloGene</A>
      <LI><A=20
      title=3D"Clusters of related proteins from prokaryotes and =
organelles"=20
      href=3D"http://www.ncbi.nlm.nih.gov/proteinclusters">Protein =
Clusters</A>
      <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/homology/">All =
Homology=20
      Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Literature</A>
    <UL class=3D"actual-resources-submenu literature">
      <LI><A title=3D"Online biomedical books"=20
      href=3D"http://www.ncbi.nlm.nih.gov/books">Bookshelf</A>
      <LI><A=20
      title=3D"&#10;&#10;                URL application programming =
interface for searching, linking and downloading data within NCBI's =
Entrez system&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpeutils">=
E-Utilities</A>
      <LI><A=20
      title=3D"&#10;                 Information on journals cited by =
NCBI records&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/nlmcatalog/journals">Journals =
in NLM=20
      Catalog</A>
      <LI><A=20
      title=3D"&#10;&#10;                Controlled vocabulary for =
MEDLINE&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/mesh">MeSH Database</A>
      <LI><A=20
      title=3D"&#10;&#10;                Biomedical literature =
abstracts&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/pubmed">PubMed</A>
      <LI><A=20
      title=3D"&#10;                Free, full-text articles&#10;        =
    "=20
      href=3D"http://www.ncbi.nlm.nih.gov/pmc/">PubMed Central (PMC)</A>
      <LI><A=20
      title=3D"&#10;&#10;                Directory of PubMed queries =
about clinical topics&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/entrez/query/static/clinical.shtml">P=
ubMed=20
      Clinical Queries</A>
      <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/literature/">All =
Literature=20
      Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Proteins</A>
    <UL class=3D"actual-resources-submenu proteins">
      <LI><A=20
      title=3D"&#10;                Database that groups biomedical =
literature, small molecules, and sequence data in terms of biological =
relationships.&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/biosystems/">BioSystems</A>
      <LI><A title=3D"Tool for finding local regions of sequence =
similarity"=20
      href=3D"http://blast.ncbi.nlm.nih.gov/">BLAST (Basic Local =
Alignment Search=20
      Tool)</A>
      <LI><A title=3D"BLAST programs for a local computer"=20
      =
href=3D"http://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=3DWeb&amp;PAGE_TYPE=3D=
BlastDocs&amp;DOC_TYPE=3DDownload">BLAST=20
      (Stand-alone)</A>
      <LI><A=20
      title=3D"Pre-computed reports showing proteins with similar =
sequences"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sutils/blink.cgi?mode=3Dquery">BLAST =
Link=20
      (BLink)</A>
      <LI><A=20
      title=3D"&#10;&#10;                Locates conserved domains =
within a protein sequence&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/cdd/wrpsb.cgi">Conserved=20
      Domain Search Service (CD Search)</A>
      <LI><A=20
      title=3D"&#10;                URL application programming =
interface for searching, linking and downloading data within NCBI's =
Entrez system&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpeutils">=
E-Utilities</A>
      <LI><A title=3D"DNA and RNA sequences submitted to NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/Genbank/">GenBank</A>
      <LI><A title=3D"Tool for aligning proteins to genomic DNA"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sutils/static/prosplign/prosplign.htm=
l">ProSplign</A>
      <LI><A title=3D"&#10;                Protein sequence data&#10;    =
        "=20
      href=3D"http://www.ncbi.nlm.nih.gov/protein">Protein</A>
      <LI><A=20
      title=3D"Clusters of related proteins from prokaryotes and =
organelles"=20
      href=3D"http://www.ncbi.nlm.nih.gov/proteinclusters">Protein =
Clusters</A>
      <LI><A title=3D"Curated nucleotide and protein sequences produced =
by NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/RefSeq/">Reference Sequence =
(RefSeq)</A>
      <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/proteins/">All =
Proteins=20
      Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Sequence Analysis</A>
    <UL class=3D"actual-resources-submenu sequence-analysis">
      <LI><A=20
      title=3D"&#10;                Database that groups biomedical =
literature, small molecules, and sequence data in terms of biological =
relationships.&#10;&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/biosystems/">BioSystems</A>
      <LI><A title=3D"Tool for finding local regions of sequence =
similarity"=20
      href=3D"http://blast.ncbi.nlm.nih.gov/">BLAST (Basic Local =
Alignment Search=20
      Tool)</A>
      <LI><A title=3D"BLAST programs for a local computer"=20
      =
href=3D"http://blast.ncbi.nlm.nih.gov/Blast.cgi?CMD=3DWeb&amp;PAGE_TYPE=3D=
BlastDocs&amp;DOC_TYPE=3DDownload">BLAST=20
      (Stand-alone)</A>
      <LI><A=20
      title=3D"Pre-computed reports showing proteins with similar =
sequences"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sutils/blink.cgi?mode=3Dquery">BLAST =
Link=20
      (BLink)</A>
      <LI><A=20
      title=3D"&#10;&#10;                Locates conserved domains =
within a protein sequence&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Structure/cdd/wrpsb.cgi">Conserved=20
      Domain Search Service (CD Search)</A>
      <LI><A title=3D"DNA and RNA sequences submitted to NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/Genbank/">GenBank</A>
      <LI><A title=3D"Stand-alone application for analyzing sequence =
data"=20
      href=3D"http://www.ncbi.nlm.nih.gov/projects/gbench/">Genome =
Workbench</A>
      <LI><A=20
      title=3D"&#10;&#10;                Data from the NIAID Influenza =
Genome Sequencing Project&#10;            "=20
      href=3D"http://www.ncbi.nlm.nih.gov/genomes/FLU/">Influenza =
Virus</A>
      <LI><A=20
      title=3D"&#10;                Designs PCR primers and analyzes =
them for target specificity using BLAST.&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/tools/primer-blast">Primer-BLAST</A>
      <LI><A title=3D"Tool for aligning proteins to genomic DNA"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/sutils/static/prosplign/prosplign.htm=
l">ProSplign</A>
      <LI><A title=3D"Tool for aligning transcripts to genomic DNA"=20
      href=3D"http://www.ncbi.nlm.nih.gov/sutils/splign">Splign</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/sequence-analysis/">All=20
      Sequence Analysis Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Taxonomy</A>
    <UL class=3D"actual-resources-submenu taxonomy">
      <LI><A title=3D"The NCBI taxonomy tree in Entrez"=20
      href=3D"http://www.ncbi.nlm.nih.gov/taxonomy">Taxonomy</A>
      <LI><A title=3D"Displays and links Entrez data to each taxonomic =
node"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=3DRo=
ot">Taxonomy=20
      Browser</A>
      <LI><A title=3D"Creates custom taxonomic trees"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/Taxonomy/CommonTree/wwwcmt.cgi">Taxon=
omy=20
      Common Tree</A>
      <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/taxonomy/">All =
Taxonomy=20
      Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Training &amp; =
Tutorials</A>
    <UL class=3D"actual-resources-submenu training-tutorials">
      <LI><A=20
      title=3D"Central page providing links to tutorials and training =
materials "=20
      href=3D"http://www.ncbi.nlm.nih.gov/Education/">NCBI Education =
Page</A>
      <LI><A=20
      title=3D"&#10;                Introductory articles about NCBI =
resources&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhandbook">NC=
BI=20
      Handbook</A>
      <LI><A=20
      title=3D"&#10;                Online, searchable help =
documentation&#10;            "=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpcollect"=
>NCBI=20
      Help Manual</A>
      <LI><A title=3D"NCBI's monthly newsletter"=20
      =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dnewsncbi">NC=
BI=20
      News</A>
      <LI><A title=3D"An introduction to bioinformatics at NCBI"=20
      href=3D"http://www.ncbi.nlm.nih.gov/About/primer/">Science =
Primer</A>
      <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/training-tutorials/">All=20
      Training &amp; Tutorials Resources=E2=80=A6</A></LI></UL>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/#">Variation</A>
    <UL class=3D"actual-resources-submenu variation">
      <LI><A title=3D"A database of genomic structural variation"=20
      href=3D"http://www.ncbi.nlm.nih.gov/dbvar">Database of Genomic =
Structural=20
      Variation (dbVar)</A>
      <LI><A title=3D"Genotype/Phenotype association studies"=20
      href=3D"http://www.ncbi.nlm.nih.gov/gap">Database of Genotypes and =

      Phenotypes (dbGaP)</A>
      <LI><A title=3D"Database of nucleotide sequence polymorphisms"=20
      href=3D"http://www.ncbi.nlm.nih.gov/snp">Database of Single =
Nucleotide=20
      Polymorphisms (dbSNP)</A>
      <LI><A=20
      title=3D"The SNP database tools page provides links to the general =
submission guidelines and to the submission handle request."=20
      href=3D"http://www.ncbi.nlm.nih.gov/projects/SNP">SNP Submission =
Tool</A>
      <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/variation/">All =
Variation=20
      Resources=E2=80=A6</A></LI></UL></LI></UL>
  <LI class=3D"topmenu ui-helper-reset ui-ncbimenu-item-first"=20
  id=3Dall-howtos-menu><A=20
  class=3D"ui-ncbimenu-first-link-has-submenu ui-ncbimenu-link-first =
topanchor"=20
  href=3D"http://www.ncbi.nlm.nih.gov/#">How To</A>
  <UL id=3Dhowto-submenu>
    <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/all/#howto">All How =
To</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/chemicals-bioassays/#howto_">Ch=
emicals=20
    &amp; Bioassays</A>
    <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/dna-rna/#howto_">DNA &amp;=20
    RNA</A>
    <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/data-software/#howto_">Data=20
    &amp; Software</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/domains-structures/#howto_">Dom=
ains=20
    &amp; Structures</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genes-expression/#howto_">Genes=
=20
    &amp; Expression</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genetics-medicine/#howto_">Gene=
tics=20
    &amp; Medicine</A>
    <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genomes-maps/#howto_">Genomes=20
    &amp; Maps</A>
    <LI><A=20
href=3D"http://www.ncbi.nlm.nih.gov/guide/homology/#howto_">Homology</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/literature/#howto_">Literature<=
/A>
    <LI><A=20
href=3D"http://www.ncbi.nlm.nih.gov/guide/proteins/#howto_">Proteins</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/sequence-analysis/#howto_">Sequ=
ence=20
    Analysis</A>
    <LI><A=20
href=3D"http://www.ncbi.nlm.nih.gov/guide/taxonomy/#howto_">Taxonomy</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/training-tutorials/#howto_">Tra=
ining=20
    &amp; Tutorials</A>
    <LI><A=20
    =
href=3D"http://www.ncbi.nlm.nih.gov/guide/variation/#howto_">Variation</A=
></LI></UL></LI>
  <LI class=3D"offscreen_noflow ui-ncbimenu-item-skip access"><A=20
  title=3D"Skip to the content" accessKey=3D3 tabIndex=3D0=20
  href=3D"http://www.ncbi.nlm.nih.gov/#maincontent">Skip to main =
content</A></LI>
  <LI class=3D"offscreen_noflow ui-ncbimenu-item-skip access"><A=20
  title=3D"Skip to the navigation" accessKey=3D4 tabIndex=3D0=20
  href=3D"http://www.ncbi.nlm.nih.gov/#navcontent">Skip to =
navigation</A></LI>
  <LI class=3D"offscreen_noflow ui-ncbimenu-item-skip access"><A=20
  title=3D"About My NCBI Accesskeys" accessKey=3D0 tabIndex=3D0=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/sites/myncbi/about/accesskeys">About =
NCBI=20
  Accesskeys</A></LI></UL>
<DIV class=3Dmyncbi><A id=3Dmyncbiusername title=3D"My NCBI" =
style=3D"DISPLAY: none"=20
href=3D"http://www.ncbi.nlm.nih.gov/sites/myncbi/"></A><A title=3D"My =
NCBI"=20
href=3D"http://www.ncbi.nlm.nih.gov/sites/myncbi/">My NCBI</A><A =
id=3Dsign_in=20
title=3D"Sign in" =
href=3D"http://www.ncbi.nlm.nih.gov/sites/myncbi/">Sign In</A><A=20
id=3Dsign_out title=3D"Sign Out" style=3D"DISPLAY: none"=20
href=3D"http://www.ncbi.nlm.nih.gov/sites/myncbi/signout/">Sign Out</A>
<SCRIPT type=3Dtext/javascript>=0A=
var c =3D jQuery.cookie('WebCubbyUser'); lre =3D =
/.*logged-in\=3D(\w*);.*/; ure =3D /.*my-name\=3D([\w|\-|\.|\@]*);.*/;=0A=
if(c){ l =3D lre.exec( c ); if(l[1]){ if(l[1] =3D=3D=3D 'true'){ u =3D =
ure.exec( c ); if(u[1]){ jQuery("#myncbiusername").text(u[1]).show(); =
jQuery("#sign_in").hide(); jQuery("#sign_out").show(); }}}}=0A=
            </SCRIPT>
</DIV></DIV></DIV><!--/.header-->
<DIV class=3Dheader>
<DIV class=3Dapp_logo>
<H1><A class=3D"newdomain ncbi_home_logo offscreen"=20
href=3D"http://www.ncbi.nlm.nih.gov/guide/">NCBI</A></H1>
<DIV class=3DNLMLogo>National Center for<BR>Biotechnology Information =
</DIV></DIV>
<DIV class=3Dsearch>
<FORM action=3Dhttp://www.ncbi.nlm.nih.gov/guide/ method=3Dget>
<DIV class=3Dsearch_top id=3Dgd-search-bar role=3D"search"><LABEL =
for=3Dterm>Search=20
</LABEL><SELECT name=3Dresource> <OPTION value=3Dgquery selected>All=20
  Databases</OPTION> <OPTION value=3Dpubmed>PubMed</OPTION> <OPTION=20
  value=3Dprotein>Protein</OPTION> <OPTION =
value=3Dnuccore>Nucleotide</OPTION>=20
  <OPTION value=3Dnucgss>GSS</OPTION> <OPTION =
value=3Dnucest>EST</OPTION> <OPTION=20
  value=3Dstructure>Structure</OPTION> <OPTION =
value=3Dgenome>Genome</OPTION>=20
  <OPTION value=3Dbiosample>BioSample</OPTION> <OPTION=20
  value=3Dbiosystems>BioSystems</OPTION> <OPTION =
value=3Dbooks>Books</OPTION>=20
  <OPTION value=3Dcancerchromosomes>CancerChromosomes</OPTION> <OPTION=20
  value=3Dcdd>Conserved Domains</OPTION> <OPTION =
value=3Dgap>dbGaP</OPTION> <OPTION=20
  value=3Ddbvar>dbVar</OPTION> <OPTION =
value=3Depigenomics>Epigenomics</OPTION>=20
  <OPTION value=3Dgene>Gene</OPTION> <OPTION value=3Dgenomeprj>Genome=20
  Project</OPTION> <OPTION value=3Dgensat>GENSAT</OPTION> <OPTION =
value=3Dgds>GEO=20
  Datasets</OPTION> <OPTION value=3Dgeoprofiles>GEO Profiles</OPTION> =
<OPTION=20
  value=3Dhomologene>HomoloGene</OPTION> <OPTION =
value=3Dimages>Images</OPTION>=20
  <OPTION value=3Dmesh>MeSH</OPTION> <OPTION value=3Dncbisearch>NCBI Web =

  site</OPTION> <OPTION value=3Dnlmcatalog>NLM Catalog</OPTION> <OPTION=20
  value=3Domia>OMIA</OPTION> <OPTION value=3Domim>OMIM</OPTION> <OPTION=20
  value=3Dpepdome>Peptidome</OPTION> <OPTION value=3Dpmc>PubMed =
Central</OPTION>=20
  <OPTION value=3Dpopset>PopSet</OPTION> <OPTION =
value=3Dprobe>Probe</OPTION>=20
  <OPTION value=3Dproteinclusters>Protein Clusters</OPTION> <OPTION=20
  value=3Dpcassay>PubChem BioAssay</OPTION> <OPTION =
value=3Dpccompound>PubChem=20
  Compound</OPTION> <OPTION value=3Dpcsubstance>PubChem =
Substance</OPTION> <OPTION=20
  value=3Dsnp>SNP</OPTION> <OPTION value=3Dsra>SRA</OPTION> <OPTION=20
  value=3Dtaxonomy>Taxonomy</OPTION> <OPTION =
value=3Dtoolkit>ToolKit</OPTION>=20
  <OPTION value=3Dtoolkitall>NCBI C++ Toolkit</OPTION> <OPTION=20
  value=3Dunigene>UniGene</OPTION> <OPTION =
value=3Dunists>UniSTS</OPTION></SELECT>=20
</DIV>
<DIV class=3Dsearch_bottom><INPUT size=3D30 name=3Dterm> <INPUT =
class=3D"button search_button" type=3Dsubmit value=3DSearch =
name=3Dsearch> <INPUT class=3D"button reset_button" type=3Dreset =
value=3DClear name=3Dclear> </DIV>
<DIV class=3Dsearch_extras><SET></SET></DIV><INPUT id=3Dentrez-action =
type=3Dhidden=20
value=3Dhttp://www.ncbi.nlm.nih.gov/guide/> <INPUT id=3Dentrez-method =
type=3Dhidden=20
value=3Dget> <INPUT id=3Dentrez-submit type=3Dhidden value=3Dtrue> =
<INPUT id=3Dp$a=20
type=3Dhidden name=3Dp$a><INPUT id=3Dp$l type=3Dhidden =
value=3DNCBIHomePageLayout=20
name=3Dp$l><INPUT id=3Dp$st type=3Dhidden value=3Dguide =
name=3Dp$st><INPUT id=3DSessionId=20
disabled type=3Dhidden value=3DCE8C79F9D3406811_0062SID =
name=3DSessionId><INPUT=20
id=3DSnapshot disabled type=3Dhidden =
value=3D/projects/HomePage/NCBIGuide@5.1=20
name=3DSnapshot></FORM></DIV></DIV>
<DIV class=3Dfoo></DIV>
<DIV class=3Dsepcomponent>
<DIV class=3Dpartsupported>IE6 specific message here. </DIV></DIV><!-- =
was itemctrl -->
<DIV class=3Dcontent>
<DIV class=3Dcol1 id=3Dnavcontent>
<DIV class=3Dgd-lcl-nav-howto id=3Dgd-lcl-nav role=3D"navigation">
<UL>
  <LI class=3Dcurrent><A class=3Dhomelink=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/">NCBI Home</A> </LI>
  <LI class=3Dbefore-divide><A class=3Dhomelink=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/sitemap/">Site Map (A-Z)</A> =
</LI>
  <LI class=3Dnav-divide></LI>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/all/">All =
Resources</A> </LI>
  <LI class=3D""><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/guide/chemicals-bioassays/">Chemicals=
 &amp;=20
  Bioassays</A> </LI>
  <LI class=3D""><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/data-software/">Data=20
  &amp; Software</A> </LI>
  <LI class=3D""><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/dna-rna/">DNA &amp;=20
  RNA</A> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/domains-structures/">Domains =
&amp;=20
  Structures</A> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/genes-expression/">Genes =
&amp;=20
  Expression</A> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/genetics-medicine/">Genetics =
&amp;=20
  Medicine</A> </LI>
  <LI class=3D""><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genomes-maps/">Genomes=20
  &amp; Maps</A> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/homology/">Homology</A> =
</LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/literature/">Literature</A> =
</LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/proteins/">Proteins</A> =
</LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/sequence-analysis/">Sequence =

  Analysis</A> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/taxonomy/">Taxonomy</A> =
</LI>
  <LI class=3D""><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/guide/training-tutorials/">Training =
&amp;=20
  Tutorials</A> </LI>
  <LI class=3D""><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/guide/variation/">Variation</A>=20
</LI></UL></DIV></DIV><!--/.col1-->
<DIV class=3Dcol2 id=3Dmaincontent>
<H1>Welcome to NCBI</H1>
<P>The National Center for Biotechnology Information advances science =
and health=20
by providing access to biomedical and genomic information.</P>
<UL class=3Dabout_links>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/About/index.html">About the =
NCBI</A>=20
  |=20
  <LI><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/About/glance/ourmission.html">Mission=
</A> |=20
  <LI><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/About/glance/organizational.html">Org=
anization</A>=20
  |=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/CBBresearch/">Research</A> =
|=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/feed">RSS Feeds</A> =
</LI></UL>
<DIV id=3Dgstarted>
<H2 class=3Dhowto>Get Started</H2>
<UL>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/all/#Tools_">Tools</A>: =
Analyze=20
  data using NCBI software=20
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/all/#Downloads_">Downloads</A>:=
=20
  Get NCBI data or software=20
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/all/#howto_">How-To's</A>:=20
  Learn how to accomplish specific tasks at NCBI=20
  <LI><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/guide/howto/submit-data">Submissions<=
/A>:=20
  Submit data to GenBank or other NCBI databases </LI></UL></DIV>
<DIV id=3Dsshow>
<DIV class=3Djig-ncbislideshow id=3Dadghs>
<UL class=3Dui-ncbislideshow-slides>
  <LI><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/genomes/MICROBES/microbial_taxtree.ht=
ml"><IMG=20
  alt=3D"Information on Prokaryotic Genomes"=20
  =
src=3D"http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/Genome=
-Ad.gif">=20
  </A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/Structure/"><IMG=20
  alt=3D"Information on 3D Structures"=20
  =
src=3D"http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/3DS.gi=
f">=20
</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/pmc/"><IMG=20
  alt=3D"Information on PubMed Central"=20
  =
src=3D"http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/PMC.gi=
f">=20
</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/gap/"><IMG=20
  alt=3D"Information on Genotype and Phenotype"=20
  =
src=3D"http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/GeaPh.=
gif">=20
  </A></LI></UL></DIV></DIV></DIV><!--/.col2-->
<DIV class=3Dcol3>
<DIV id=3Dcol3>
<DIV class=3D"portlet popular">
<H3>Popular Resources</H3>
<DIV class=3Dportlet_content>
<UL>
  <LI><A href=3D"http://blast.ncbi.nlm.nih.gov/">BLAST</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/books/">Bookshelf</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/gene/">Gene</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/genome/">Genome</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/nucleotide/">Nucleotide</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/omim/">OMIM</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/protein/">Protein</A>
  <LI><A href=3D"http://pubchem.ncbi.nlm.nih.gov/">PubChem</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/pubmed/">PubMed</A>
  <LI><A class=3Dnewdomain =
href=3D"http://www.pubmedcentral.nih.gov/">PubMed=20
  Central</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/snp/">SNP</A></LI></UL></DIV></DIV>
<DIV class=3D"portlet rss ">
<H3>NCBI News</H3>
<DIV class=3Dportlet_content>
<UL class=3Drss_items>
  <LI xmlns:atom=3D"http://www.w3.org/2005/Atom"><A=20
  href=3D"http://bit.ly/gBahfx">NAR's 2011 Database Issue is out with 9=20
  NCBI-Authored Papers</A>
  <P class=3Ddate>05 Jan 2011</P>
  <P class=3Ddesc>New articles are available describing the new =
Epigenomics=20
  resource, and improvements to the Gene, GEO, SRA, and CDD databases.=20
  Additional articles describe developments for GenBank &amp; the INSDC, =
as well=20
  as many other NCBI Resources.</P>
  <LI xmlns:atom=3D"http://www.w3.org/2005/Atom"><A=20
  href=3D"http://www.ncbi.nlm.nih.gov/books/NBK49296/">New NCBI News =
Issue</A>
  <P class=3Ddate>29 Nov 2010</P>
  <P class=3Ddesc>Information about the RefSeqGene Project and BLAST =
service,=20
  enhancements made to Gene pages and Primer-BLAST graphic displays, the =
NCBI's=20
  YouTube Channel, and more....</P></LI></UL><A class=3Dmore=20
href=3D"http://www.ncbi.nlm.nih.gov/feed/rss.cgi?ChanKey=3Dncbiannounce">=
More...</A></DIV></DIV></DIV></DIV><!--/.col3-->
<DIV class=3Dcol4>
<DIV></DIV></DIV><!--/.col4-->
<DIV class=3Dcol5>
<DIV></DIV></DIV>
<DIV class=3Dcol6>
<DIV></DIV></DIV>
<DIV class=3Dcol7>
<DIV></DIV></DIV>
<DIV class=3Dcol8>
<DIV></DIV></DIV>
<DIV class=3Dcol9>
<DIV></DIV></DIV></DIV><!--/.content-->
<DIV class=3Dfooter>
<DIV>
<DIV id=3DNCBIFooter_dynamic>
<DIV class=3Dbreadcrumbs>You are here: <SPAN id=3Dbreadcrumb_text><A=20
href=3D"http://www.ncbi.nlm.nih.gov/guide/">NCBI</A></SPAN></DIV><A=20
class=3Dhelp_desk id=3Dhelp-desk-link=20
onclick=3D"window.open('/sites/ehelp?&amp;Ncbi_App=3Dguide&amp;Page=3DHom=
ePage&amp;Snapshot=3D/projects/HomePage/NCBIGuide@5.1&amp;Time=3D2011-01-=
17T04:06:10-05:00&amp;Host=3Dportal105','HelpDesk','resizable=3Dno,scroll=
bars=3Dyes,location=3Dno,status=3Dyes,menubar=3Dno,top=3D50,left=3D200,wi=
dth=3D720,height=3D695');return false;"=20
href=3D"http://www.ncbi.nlm.nih.gov/sites/ehelp?&amp;Ncbi_App=3Dguide&amp=
;Page=3DHomePage&amp;Snapshot=3D/projects/HomePage/NCBIGuide@5.1&amp;Time=
=3D2011-01-17T04:06:10-05:00&amp;Host=3Dportal105"=20
target=3D_blank>Write to the Help Desk</A> <NOSCRIPT><IMG=20
src=3D"http://www.ncbi.nlm.nih.gov/stat?jsdisabled=3Dtrue&amp;ncbi_app=3D=
guide&amp;ncbi_db=3D&amp;ncbi_pdid=3DHomePage&amp;ncbi_phid=3DCE8C79F9D34=
05A0100000000003EB746"></NOSCRIPT>=20
</DIV>
<DIV xmlns:xi=3D"http://www.w3.org/2001/XInclude">
<DIV class=3Dfooter id=3Dfooter xmlns=3D"http://www.w3.org/1999/xhtml"=20
xml:base=3D"http://127.0.0.1/sites/static/header_footer">
<DIV class=3Dcrest></DIV>
<DIV class=3Dsubfooter>
<H2 class=3Doffscreen_noflow>Simple NCBI Directory</H2>
<UL class=3Dfoot_list id=3Dgetting_started>
  <LI>
  <H3>Getting Started</H3>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/Education/">NCBI =
Education</A>=20
  <LI><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dhelpcollect"=
>NCBI=20
  Help Manual</A>=20
  <LI><A=20
  =
href=3D"http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=3Dhandbook.TOC&amp;=
depth=3D2">NCBI=20
  Handbook</A>=20
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/training-tutorials/">Training=20
  &amp; Tutorials</A> </LI></UL>
<UL class=3Dfoot_list id=3Dresources>
  <LI>
  <H3>Resources </H3>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/chemicals-bioassays/">Chemicals=
=20
  &amp; Bioassays</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/data-software/">Data =
&amp;=20
  Software</A>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/guide/dna-rna/">DNA &amp; =
RNA</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/domains-structures/">Domains=20
  &amp; Structures</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genes-expression/">Genes &amp; =

  Expression</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genetics-medicine/">Genetics=20
  &amp; Medicine</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/genomes-maps/">Genomes &amp;=20
  Maps</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/homology/">Homology</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/literature/">Literature</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/proteins/">Proteins</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/sequence-analysis/">Sequence=20
  Analysis</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/taxonomy/">Taxonomy</A>
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/guide/training-tutorials/">Training=20
  &amp; Tutorials</A>
  <LI><A=20
href=3D"http://www.ncbi.nlm.nih.gov/guide/variation/">Variation</A></LI><=
/UL>
<UL class=3Dfoot_list id=3Dpopular>
  <LI>
  <H3>Popular</H3>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/pubmed/">PubMed</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/nucleotide/">Nucleotide</A> =

  <LI><A href=3D"http://blast.ncbi.nlm.nih.gov/">BLAST</A>=20
  <LI><A class=3Dnewdomain =
href=3D"http://www.pubmedcentral.nih.gov/">PubMed=20
  Central</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/gene/">Gene</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/books/">Bookshelf</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/protein/">Protein</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/omim/">OMIM</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/genome/">Genome</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/snp/">SNP</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/Structure/">Structure</A> =
</LI></UL>
<UL class=3Dfoot_list id=3Dfeatured>
  <LI>
  <H3>Featured</H3>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/Genbank/">GenBank</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/refseq/">Reference =
Sequences</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/mapview/">Map Viewer</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/genomeprj">Genome =
Projects</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/genome/guide/human/">Human =
Genome</A>=20

  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/genome/guide/mouse/">Mouse =
Genome</A>=20

  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/genomes/FLU/">Influenza =
Virus</A>=20
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/tools/primer-blast/">Primer-BLAST</A>=
=20

  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/Traces/sra/">Sequence Read=20
  Archive</A> </LI></UL>
<UL class=3Dfoot_list id=3Dinfo>
  <LI>
  <H3>NCBI Information</H3>
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/About/">About NCBI</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/CBBresearch/">Research at =
NCBI</A>=20
  <LI><A =
href=3D"http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=3Dnewsncbi">NC=
BI=20
  Newsletter</A>=20
  <LI><A href=3D"http://www.ncbi.nlm.nih.gov/Ftp/">NCBI FTP Site</A>=20
  <LI><A href=3D"http://www.facebook.com/ncbi.nlm">NCBI on Facebook</A>=20
  <LI><A href=3D"http://twitter.com/ncbi">NCBI on Twitter</A>=20
  <LI><A href=3D"http://www.youtube.com/ncbinlm">NCBI on YouTube</A>=20
</LI></UL></DIV>
<DIV class=3Dcontact_info id=3Dncbifooter>
<DIV id=3Dfooter-contents-right><A class=3D"nih_img_link newdomain" =
title=3DNIH=20
href=3D"http://www.nih.gov/">NIH</A> <A class=3D"dhhs_img_link =
newdomain" title=3DDHHS=20
href=3D"http://www.dhhs.gov/">DHHS</A> <A class=3D"usagov_img_link =
newdomain"=20
title=3DUSA.gov href=3D"http://www.usa.gov/">USA.gov</A> </DIV>
<DIV id=3Dfooter-contents-left><A=20
href=3D"http://www.ncbi.nlm.nih.gov/About/disclaimer.html">Copyright</A> =
| <A=20
href=3D"http://www.ncbi.nlm.nih.gov/About/disclaimer.html#disclaimer">Dis=
claimer</A>=20
| <A class=3Dnewdomain =
href=3D"http://www.nlm.nih.gov/privacy.html">Privacy</A> | <A=20
href=3D"http://www.ncbi.nlm.nih.gov/About/accessibility.html">Accessibili=
ty</A> |=20
<A =
href=3D"http://www.ncbi.nlm.nih.gov/About/glance/contact_info.html">Conta=
ct</A>=20

<P class=3D"address vcard"><SPAN class=3Durl><A class=3D"fn url =
newdomain"=20
href=3D"http://www.ncbi.nlm.nih.gov/">National Center for Biotechnology=20
Information</A>, </SPAN><SPAN class=3D"org url"><A=20
href=3D"http://www.nlm.nih.gov/">U.S. National Library of =
Medicine</A></SPAN>=20
<SPAN class=3Dadr><SPAN class=3Dstreet-address>8600 Rockville =
Pike</SPAN>, <SPAN=20
class=3Dlocality>Bethesda</SPAN> <SPAN class=3Dregion>MD</SPAN>, <SPAN=20
class=3Dpostal-code>20894</SPAN> <SPAN class=3Dcountry-name>USA</SPAN>=20
</SPAN></P></DIV></DIV>
<SCRIPT=20
src=3D"http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/rlib/js/Instrume=
ntOmnitureBaseJS/InstrumentNCBIBaseJS/InstrumentPageStarterJS.js"=20
type=3Dtext/javascript></SCRIPT>
</DIV></DIV></DIV></DIV><!--/.footer--></DIV><!--/.page--></DIV><!--/.wra=
p--><!-- usually for JS scripts at page bottom =
--><!--CE8C79F9D3406811_0062SID:/projects/HomePage/NCBIGuide:5.1:portal10=
5:v2.11.r216367: Wed, Dec 08 2010 18:27:54--></BODY></HTML>

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/928261/img/28977

R0lGODlhNwASAPcAAAAAAP////n5+vj4+fLz9vP09uDl7cDL2+/x9IujwsHM28XP3eHm7YqjwYyk
wo+mw46lwpGow6e5z6+/0rvJ2sLN28TP3cfS3+Po7ufr8FR9qVV+qmCFrWiLsWqNs22PtHOTtnSU
t3uZunuZuX+cu4CdvIWhv4ehvomjwIiiv46mwo2lwZSrxJmuxpqvx52yyaK1y6S3zKe6z6a5zqW4
zai6z62+0bfG1rjH17vJ2b3L2r7L2tHa5Nbe59Xd5t/l7N7k69zi6TNmmTdrnzttoDxuoEBxokBx
oUFxokJyokRzpEV0pEZ1pUd2pEh2pUh3pUl3pUp4pUx5pk56p097p1B7p1J8qFF7p1F8p1N9qFR+
qVV/qViBq1eAqViAqliBqlmBq1qCq1yDrFuCq1uDq1yEq1+FrGGHrmCGrWOJr2SJsGeLsGiMsWuO
s2yPs26QtHGStXGTtXCStHOUtnWVt3eXuHaWt3iXuHmYuH2bun+du36cuoGfvYOgvoaiv4ikwYei
vpKqw52zyZ6zyaC1yp+0yaK2y6O3y6q8z62/0ay+0Ku9z6/A0q6/0bHC07PD08fT38bS3snU39Hb
5c7Y4tPc5djg6Nff59zj6tvi6eTp7ubq7uzv8uvu8fHz9e7w8vX29zhunz5xoD9yoUl4pUt5pUx6
pmKJroKgvbLD07bG1cvW4NDa48nV39jg597l69zj6dPd5djh6Obr7+vv8u/y9O3w8uvv8fP19vDz
9Pj5+ff4+Pr6+vj4+P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAL4ALAAAAAA3ABIA
AAj/AIUI3OIhAo42AhMqXMiwocOHCj88ssWroh+IGDNqFGLIE68MFx4p4iLkipGNKFEKmKXHysJS
qPY4NKUGDQeFSdicWaOQQwpAKd4I6ZJmToo/fa4IZNNhTplZNx6WaDSmoYlalpQKHOKAFx2BY3Zc
OuCjFig6HDK4cqHIkyaSaj5V0vJBR56HLX5saIiBFyOFIQSgEfLFR4KEZn5MmfIDkcBAvEqUBAKJ
lJBSEEiAYWjq0YDDDGVJ4gVaSBpWXoTcyLHQTagqPw4JlMMLjxApmRwdSWhlCpI0dxq80IHp42aG
sTb0KOBB4JlVWbDogtAQC4NCAmNEWiLEFCwJowSK/ynEY1OuXgIq7pqwt6ErImcycNIg5NQqK154
3WUoSgEDGzp40oJA3tUwyhY7VCQALrds4sojeUABkQFKCAFCLrJAkUYqUHTBywoNEbHAI0l4QUgv
lAgRBSwGVsILLDPwIZRATXRRBEQYDCZEArxc4EYMTWTBSyINTQELIQnJwEsbUMAiwyi8sNLQFXSw
cFxDnXyQkCC8BMHIEqJUoN9CV1TxiiMJpeDVE5koMsogPjjhEBsVkNDQHrU0l9AivERSoRsIEJBI
CFzgQQEJUgQRCRIC0UCAKVhoYsETo9iRCBkNDcHCJx0wVAguKiikRCuKJNSBD73kQgsusqVBSy8W
sFyQiA9CxTWJFgmNUMdCVMCxigB9LDSKBx3EodAQWISxkBonoLCrEBygYAIgDdTBqBBqnPKBsgs5
8UAqBxTHiyoVpmRuRqdsUlEBFQR77rsQaTEIDCJ8wQS8+AoUEAA7

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/Genome-Ad.gif

R0lGODlhngF1APcAAAUBAQoFAQ0KAQ8MCRgGCBgWBx0REiUYFiMLDygnGC4tGDg2JzYvKi8aIEU6
NTZNCzhTDTpWEzVNED1jETtgKkpJCldVDEZYFFlYE0pRDWJdEkpsFUttGkVmFk5yG0xzFlJ1HVV5
HE5pEWlnF3JtGHp3GmxvEkhGOExPM1V6Ill9JFR3Ik1tLHF1JzxoXVhWSFNMSGNbVUxxTmhmWGpw
VEh2c3l3aHVuaHlbZVQ8R4J9G4d6C4N9IYR7dWyGHF2CJlmCN2SIKmyTNHOZOGyMMGqTLHCRT3qj
TWuTb2GOYYmGHJKNHJiVHI2OFqyoHY2KIoiFI5KNIpaNKJWSI5qVI52aJJmXKYmTMaKdJKOdKaWi
JaqkJayqJaulKq2qKqWjKbOtKrOsJrWxK7u0K765K7m0Jbq3M6yuMaCfJMK8LMS9JsO8Msa+HsbC
LMrELczIK9LMLdnULcvGMtPMM9bONtrUM9rWNM/RPuPcNOXcOeLcLerlN/LrOfHtNdHSKI+rUIiG
d4iJco6ub5+tUrDGaNHSTPPsRPj0R/n2WO3pTvv3Z/v4eOvrbtneXbvBMUh6iEx8jz51hYt9gVSI
mVGGkWqYjnaok1aMo1uVqFuYsmOarGSctW+Yp0+tqUypp1OqpVSprFemqlKqsVWmsVGurmmluXOr
s1GnnGyow3OsxHi1yXq51HCxzm6s0n7C15eWhpKNh422jaqol4m6sbm3qLawq6OblMO7tZTIr6HL
o/n4j8jHt8zMtvv7sc/jooO91oK7yIS/4YbF2pHM0K7TzKjVyrPWzbvazbbVx6bW1IrK5JbV6pnZ
9ZDP6KPd8Kfl+bTp9Kfi48LczsvezNrYyMXe0Mje0dPNxuPd0czi0sPo1dTl09rm09zp1Nrq2dXm
z+vszeTly/b3y+Tt1u3t1OXu2uzt2ubl1vDv2/Lu1u3y2ury1/Pz1fnz1/X02/n02/b42fr63Pf6
1e7xzNDz9ers4/Pt5ez04+r25vT04vj24/v74/386vb26f368+b98yH5BAAAAAAALAAAAACeAXUA
AAj+AN0JHDgQHsGB5tgJNOeOoTp17h4mfPiQHcWL6sypK7fx4Tpz48qJ3DiuZLl14/CVXFmyG0uX
K721HNetps1wNmtys/nNGzdvPntu47bN21Ci25Ju+5ZtW7amT6Nm82btqbaqWLVlm/a0WjVrYK19
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

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/3DS.gif

R0lGODlhmgF1APcAAAQCAAoFAAwKAAsJCxYKBwoYCBQTAhoUDBkYCRcNFhUTExsVFRcZFBsZFBwW
GBwZGxUVGgwTEyMZCiMYFysQFRMjDSUkCiQjEyknGjYpGjU0GjQ0BxsWJBUQLiQYJS4PLigmJjYr
Jjg3JzUyNBskLEUqG0o2F0YsJEc3KVc3KkY7NVg7NE4tL2M8LlUfKDtGF05PEm1wE0VEK0hGN1hG
OVVUO1RTKGhHOXZKOXBQMnBxLF5gFxITUg4RcCkeYFEQTXEPcWIpWFZJQ1pYR1NSSmhLRGhWSHhW
SGVcVHVRSWNiTWhmV3ZuWHl3Z3ZxamJRaT5ISY5xL5FiMIsfcIVaSI1WUIllV5ZpWZFrT6txU7BQ
dJp2aIZ8do1zaaZ5Z690bZ1PZcptZ61gOXiEGnqEe46PD62uDo2PK66PL66uLZ6hG8mtJPT2Ltrd
HIOCbYWEc4uJeJOSfZSKerOHc6uVTciOdsuUVOfoSrfODAkKmRYXmA8QjC0slBUWpxgXuA0NrSQX
shkkrywtsiIblXcOi1wcmklOrxkXxhsY1hIN0CMc0Sgm2TAwzxkV7yYb8Ckm5yon+TQr+jk2+jU0
6Rsj10Q8+UE71zpD6U5P0UdF+1hW+1BP7mhn/W9w8mBg6j5CsI8PkJQqja8vk5YQqrERsbIlsKUX
ms0lsKlMitdZnLMRy7EmztAV0NIo0NMW5+8X7/Uu9OUm3O5J5piWhpOQh6yXjqqol7OznKmnk7i2
p7OvqJ2hjcqZh9WnkuyymcW7seq4psPDrMnHt9PTvdDPu/nIs7fZzbXa0rzd0tjXx87Xy+Pd0cTh
0szj1c7n2dLm1dXo1tvq1tLn2NXp2tzr2tvm1tXn0uTkzevrzuTlx+Xk0uPt1u3t1OPt2u3t2ufl
2PDv2/Pu1O7x0uXx2uzy2uj12PPz1fnz1vX02/n02/b42fn63ff51fDzztvw4ens4vHu4vbs6e31
4uf15PX04vj24/X64/v74/X06vr16v796vP56f388vf186yxzH6B/yH5BAAAAAAALAAAAACaAXUA
AAj+ANEJHKhuoEGB8gYmREeOITlzDck9lDgRojeKFC+SuzhuI7eO5LqR20Zu3Lht5bad3EZyJUqW
LLvBnEmNZbRtN3FG26lzZzRqO6FFE0p0KFFoSJNCe8a0qTWmzp4xk2rNmbOpzKwxi9qs2bOuYJtd
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

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/PMC.gif

R0lGODlhmgF1APcAAB4FDRQXHAoNFisUGxYbJhQbKRsiLB0lMyQnKjokKTUjKCUsOyUqNysyPDc5
OjE0KiUlIEgzN0UzNUEuNTxCNEVJNxwuTSYuQiszRCs2STM7TDY6RTM9Uik5VCg+ZEs7QlE/QjxC
STlEVi1BXjpLZjxRckVISVZDRVdKTkVLWEtSW1dYWFJTSWVUVWBTUGdmWkpVZ1VbZklbdkhSZ1ti
a01ifFhld2ZnaHJiYXVran9xb3V0a2drdnh3d29weGBgYoZ7d4F7bY2AfIWEfJmPc7aict26bf/G
VPnEWezBZktliFVqiEtsmVRulFVzm1p1mVZykmh1h3Z7hmV6mGt3jFV1o1t7pVt8q1Z5p1l+skxy
pGJ9pWB/sEhdgXmFl3aCjlyBrVyDtFyFu12Iu2iFqnWKp2KFtGOLvGiKuG2RvHeUunaPsF2KxF6N
zFyHwl+Qzl6S0l6P0WKNw2GOzGmOwWORzWqVyXaax2GP0GSV0miW02aZ1Wma1Waa2mqd2mSX2HSd
022h3m6h1XKk3Hml13mhy22k4m6o53Gm4nOq5XSt6Xqt5nax7Hu063yx5nu18Xu282mf4IiIiJqP
iZOLiIaLlpiXmJCSlKiel6Kbl6OZj6qkmomVqJWcqYibt4+bsZuhq5iluYuhvKqoqLaupbGsqaWr
t7K0taCeoMS9s8G6rMi2hcrGuoSexYmkyJeqxoaq15O53py825ez15Kw1qm1yLa7yKK+2ae81K25
zoS15ou24o+44IC16Ii57ZW76IOz6qG/46bA16zD1qTB3KvE267I37PG1bbI1bvL1LTK3LvN27bG
2LzK1JnD7qjG5rbM47zR5LDP8p/A3tHMwN7bzdfVx8LO1MTM2cXR1MvV1MTS28rW2s7Z3M/Y1tTa
1Nre1NPc29Ta18XJyt3h1dzi2tnj3tzgzuLl1efo1ezs1uLl2+bp2+zs2+jn1fDv2PHx1/X12u/w
3MPV4svZ5NPd5MbZ8tni6Nfm9ujr4fb24fn55Pr66Pj34erw7YF/gSH5BAAAAAAALAAAAACaAXUA
AAj+AOMJHDgQHrx4BxMqhPfuHcOG79RJfOdOYsWK6tJp3IguXUd0IEOSG3lu5Ehw4KqR+/btHMtv
4F6+tKZN2zebN2vWzKaNZzae45L9FJosKNFryZAmS4asKTKmyI5JnTrV1rBjw7JqFSZsGNevX2/d
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
AQEAOw==

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.ncbi.nlm.nih.gov/core/static/guide/static/images/GeaPh.gif

R0lGODlhmgF1APcAAAAAABAQDyEhHTExLD5HM0FBOkdOOkhQPFFWQlJSSVZbR0xTXElPWF1iTl9m
UGNjVWpuWWdpVWtxW3VzXmloVFNZY1NaZU9YZltmdF5qfFhjcltjbXJyZnl4ZWVsdWRte2lueGxy
fGdxe3V4e2xrZ2NfUzpASMFvPoN8aL51ScFzRX+BcIyCbYGDbYODdI6GcoqIdpOLdpWNeJWTfY2R
eqWQer6AW8SLa2t2gW55gmp3inV7hHF8jXd8hW18kHB8kHaDjnyBinqAhXSBk3qGkX2KnnmHmHyM
oIeIiZOTg5mchZqYiIqPmISMlYyTnIuRlpiZmJCPiqabhqGek7KdiaejjbWijaOjka2pnKmnl7qr
lrGsnbeplK+ymryznLaynIORpYeWqJubpZmbpoiXraGerKWfsZ2iqZinuaioqLKtorCuqrSzobq0
pbWzqrq2qr25rLu7paeqtKyyu6qxuL27s7W0u7m2vbW6vbu8vbS1tLCvtJ6gn8esmceyndCsl8K8
rca7pdm6ptu9qdK4pMK+ssG/utO7s8mcgr7AvcTErsjGrt3CrdXBq8XBtMrEtcTDu8vGus3JvczK
s9/FsdHLvdbLtdTUvdrVvODHsuHLtePOuOXTvJqsxZeryZaqxp6xx5Sr05mu1Z2y1p+02I+lxqO0
w6y9zae3yLq2wra7w7y8xL68ybS3xaG216K22Ka52qm926e61a65z8G+xsG+yr3Bxb7DzLLCzq3B
3K/B1rLF3rXJ3bnM3rjG1LTF07bJ4LrN4bTH4L7R4sPDxM3KwsTDzMjGzsbJzMvLzMjIw9PNwtXO
yNbRxdnTxtTSy9rVy93YzNzbw8TF0MnG0sTJ08zL083M2dHN1tHO2s3R2NPT1Nza1NTT29nW3dzc
29jX1s/QzOfXwOfYwOncxOPbyuHe2+Hd1OXly+3ky+/oz+vgx+bk2PHs0vPx1vX12trW4t3b5Nzd
6dXX4sbS4uHd5uLe6d3i69zg5uLj7OPi4+Hn8eXr9Ojt9erm89/g2yH5BAAAAAAAIf8LSUNDUkdC
RzEwMTL/AAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVD
IHNSR0IAAAAAAAAAAAAAAAEAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAA
AAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAA
AlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmll/3cAAAPUAAAAJGx1bWkAAAP4AAAAFG1l
YXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAI
DHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNj
AAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0IgSUVDNjE5NjYtMi4xAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA
81EAAf8AAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAA
AAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8v
d3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4x
IERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0L/AAAAAAAAAAAAAAAuSUVDIDYxOTY2LTIu
MSBEZWZhdWx0IFJHQiBjb2xvdXIgc3BhY2UgLSBzUkdCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRl
c2MAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAA
AAAAAAAAACxSZWZlcmVuY2UgVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAB2aWV3AAAAAAATpP4AFF8uABDPFAAD7cwABBMLAANcngAAAAFY
WVog/wAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAACjwAAAAJz
aWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAUABkAHgAjACgALQAyADcAOwBAAEUASgBP
AFQAWQBeAGMAaABtAHIAdwB8AIEAhgCLAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA
4ADlAOsA8AD2APsBAQEHAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGS
AZoBoQGpAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAv8UAh0CJgIvAjgCQQJLAlQCXQJnAnECegKE
Ao4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oD
xwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJ
BVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkH
Kwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglP
CWT/CXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK3ArzCwsLIgs5C1ELaQuAC5gLsAvI
C+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0NJg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsO
tg7SDu4PCQ8lD0EPXg96D5YPsw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHo
EgcSJhJFEmQShBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kX/64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZ
kRm3Gd0aBBoqGlEadxqeGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3s
HhYeQB5qHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKCIq8i
3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtyboJxgnSSd6J6sn3CgN
KD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSudK9EsBSw5LG4soizXLQwtQS12Last
4f8uFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz
8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0
OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpB
rEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kd
SWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk3/Sk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EG
UVBRm1HmUjFSfFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZ
uFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxhT2GiYfViSWKc
YvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxpQ2maafFqSGqfavdrT2una/9s
V2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpxlXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+
/3abdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5ifsJ/I3+Ef+WAR4Co
gQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4efiASIaYjOiTOJmYn+imSKyoswi5aL
/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/kaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1
l+CYTJi4mSSZkJn8mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj
5qRWpMelOKWpphqmi6b9p26n4KhSqMSpN6mpqv8cqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACw
dbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2P
vgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbL
tsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx
2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LxU
6Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnzp/Q09ML1UPXe9m32+/eK+Bn4
qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//ACwAAAAAmgF1AAAI/gDfCRz4zl3BgwbdJSyosKFD
he0gSnTXrmJEixjbqdNYcaO6jyBBplM3suRIkulMrku5klPKdC5hpiNHbmZNmzRz0uSUkxNPTuN4
kvP5MyjRoz43cVK6VOkmp083aXqqaWrVq1czZdVESVOmr18piR07lhEjSmbRml1rdhDbtm7jDppL
t+4gQXMF6cW79+7ev4D/nhhMuLDhw69gxYoF5sdiWK9ISY486tWoy5RnSRYlitTlz59FjepM6tUs
Mxg8Qb7MubWoUKNgw+Ycinbt17VDydbNu3dvUqJcldLgyrbv46V8Jw+1vFQpggMNClR4EOHD6xAj
UqR4MSPGjRxD/moM+fEkyfMv06tft1K9zJkud+IcqpO+znH4fdInSs6oUaRPJQVVVFRJZaBVWGml
oFdgicUVWRCeldZbbM3FiIUYymVXXXzlhZdfgQX2h2CHlVhiYoo19tgrkUXmGWagkSbZi6ONJpqN
nbEYCgafrCaaa7TFpltrQ+JmpG+4HcdbcMMVl2RvzSnXXHLLhQIddNIlpCV22TVUEXcWgckdeB65
81FEII0nkkjpobTeeuypd1N9dO5kn3755YfUnnsS2FRTBRKI1aBeVfVVoZl0BWFZYknYKIVtRRrX
hRpW6ldemAYG4iAjimjip4XBohhjjsUC2YyloUqZZKMBd2OM/qxxxuIrnqTGYqyuzSYabKPdlmtu
nAk55JK8eSYccb0qpyRvVOoWJZYMTbdQddRxuZ1D2nmn7ZlpkkfeSeC691J7MrWUUkw6zVcnnfoN
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

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: base64
Content-Location: http://www.ncbi.nlm.nih.gov/stat?jsdisabled=true&ncbi_app=guide&ncbi_db=&ncbi_pdid=HomePage&ncbi_phid=CE8C79F9D3405A0100000000003EB746

R0lGODlhAgACAIAAAP///wAAACH5BAEAAAAALAAAAAACAAIAAAIChFEAOw==

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/928261/css/473442/12313.css

.footer {
	CLEAR: both
}
.dynamic_footer {
	FONT-SIZE: 62.5%
}
#footer {
	LINE-HEIGHT: 1.8em; FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, =
"lucida sans", arial, sans-serif
}
#NCBIFooter_dynamic {
	LINE-HEIGHT: 1.8em; FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, =
"lucida sans", arial, sans-serif
}
#footer H3 {
	FONT-SIZE: 1.1em; COLOR: #505050
}
.foot_list H3 {
	FONT-SIZE: 1.1em
}
#footer {
	FONT-SIZE: 1.1em
}
#NCBIFooter_dynamic {
	CLEAR: both; FONT-SIZE: 1.1em; Z-INDEX: 10; COLOR: #505050; POSITION: =
relative; TOP: -1.5em
}
.breadcrumbs {
	LEFT: 1.6em; POSITION: absolute; TOP: 1.1em
}
.help_desk {
	RIGHT: 1em; POSITION: absolute; TOP: 1.1em
}
#NCBIFooter_dynamic A {
	COLOR: #14376c; TEXT-DECORATION: none
}
#footer A {
	COLOR: #14376c; TEXT-DECORATION: none
}
#NCBIFooter_dynamic A:hover {
	BORDER-BOTTOM: medium none; TEXT-DECORATION: underline
}
#footer A:hover {
	BORDER-BOTTOM: medium none; TEXT-DECORATION: underline
}
.contact_info A:hover {
	BORDER-BOTTOM: medium none; TEXT-DECORATION: underline
}
#footer-contents-right {
	MARGIN-TOP: 1em; FLOAT: right; TEXT-ALIGN: right
}
#footer-contents-right A {
	PADDING-LEFT: 2px; FLOAT: left; OVERFLOW: hidden; WIDTH: 50px; =
TEXT-INDENT: 10em; PADDING-TOP: 14px; HEIGHT: 41px
}
#footer-contents-right A.nih_img_link {
	BACKGROUND: url(/coreweb/images/ncbi/footer/nih_logo_footer.gif) =
no-repeat 0pt 100%; WIDTH: 48px
}
#footer-contents-right A.nlm_img_link {
	BACKGROUND: url(/coreweb/images/ncbi/footer/nlm_logo_footer.gif) =
no-repeat 0pt 100%; WIDTH: 50px
}
#footer-contents-right A.dhhs_img_link {
	BACKGROUND: url(/coreweb/images/ncbi/footer/dhhs_logo_footer.gif) =
no-repeat 0pt 100%; WIDTH: 49px
}
#footer-contents-right A.usagov_img_link {
	BACKGROUND: url(/coreweb/images/ncbi/footer/usagov_logo_footer.gif) =
no-repeat 0pt 100%; WIDTH: 94px
}
#footer-contents-left {
=09
}
#footer-contents-left P.address {
	MARGIN: 0px; PADDING-TOP: 1px
}
#footer-contents-left P.updateinfo {
	MARGIN: 1px; PADDING-TOP: 12px; TEXT-ALIGN: right
}
#footer-contents-left A {
	FONT-WEIGHT: bold
}
#footer-contents-left P.address .adr {
	DISPLAY: block
}
#footer-contents-left P.address .url {
	FONT-WEIGHT: normal; MARGIN: 0px
}
#footer {
	CLEAR: both; MARGIN-TOP: -4em; Z-INDEX: 1; BACKGROUND: =
url(/portal/portal3rc.fcgi/928261/img/27840) #e5e5e5 repeat-x left top; =
ZOOM: 1; POSITION: relative; TOP: 2.5em
}
.crest {
	BACKGROUND: no-repeat left top; LEFT: 46.8%; WIDTH: 50px; POSITION: =
absolute; TOP: -2.3em; HEIGHT: 50px
}
#footer {
	OVERFLOW: visible; COLOR: #14376c; BACKGROUND-COLOR: #fff; TEXT-ALIGN: =
center
}
.contact_info {
	OVERFLOW: visible; COLOR: #14376c; BACKGROUND-COLOR: #fff; TEXT-ALIGN: =
center
}
.foot_list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 4em 0px 0px; WIDTH: 19%; PADDING-TOP: 0px; TEXT-ALIGN: left
}
.foot_list LI {
	LIST-STYLE-TYPE: none
}
.foot_list LI H3 {
	MARGIN: 0px 0px 0.05em; TEXT-TRANSFORM: uppercase
}
.contact_info {
	CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 1.6em; BACKGROUND: =
url(/portal/portal3rc.fcgi/928261/img/26957) repeat-y left top; =
PADDING-BOTTOM: 5em; PADDING-TOP: 0.3em; ZOOM: 1; POSITION: relative; =
TOP: 0.6em; TEXT-ALIGN: left
}
.subfooter {
	MARGIN-LEFT: 1.6em
}
#footer-contents-left SPAN.url A {
	FONT-WEIGHT: normal
}
.offscreen_noflow {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; TEXT-INDENT: -9999em; PADDING-TOP: 0px; HEIGHT: 0px
}
#footer {
	MARGIN-BOTTOM: 6em
}
.universal_header .inline_list LI A {
	FONT-SIZE: 1.2em
}
.myncbi A {
	FONT-SIZE: 1.2em
}
.universal_header {
	FONT-SIZE: 1em; FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, =
"lucida sans", arial, sans-serif; HEIGHT: 2.7em; BACKGROUND-COLOR: #369
}
UL.resources_list {
	MARGIN-LEFT: 1.3em
}
.myncbi A {
	COLOR: #fff; TEXT-DECORATION: none
}
.myncbi A:hover {
	TEXT-DECORATION: underline
}
#ncbihome:unknown {
	BACKGROUND: none transparent scroll repeat 0% 0%
}
.myncbi {
	RIGHT: 1em; FLOAT: right; COLOR: #fff; POSITION: relative; TOP: 0.3em
}
.myncbi A {
	MARGIN-LEFT: 0.6em
}
#ncbihome {
	PADDING-RIGHT: 0.8em; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; COLOR: #fff; PADDING-TOP: 0.25em
}
BODY UL.jig-ncbimenu A:unknown {
=09
}
UL.jig-ncbimenu A.topanchor {
	COLOR: #fff
}
UL.jig-ncbimenu A:hover {
	TEXT-DECORATION: none
}
.ui-ncbimenu-item-no-hlt {
=09
}
DIV.universal_header UL.jig-ncbimenu LI A {
	FONT-SIZE: 1.09em
}
.ui-ncbimenu-item {
	BORDER-BOTTOM: #e5e5e5 1px dotted; BACKGROUND-COLOR: #fcfcfc
}
.ui-ncbimenu LI.ui-ncbimenu-item-first =
A.ui-ncbimenu-first-link-has-submenu {
	PADDING-RIGHT: 20px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0.2em; =
PADDING-TOP: 0.5em
}
BODY UL.ui-ncbimenu-submenu {
	BORDER-RIGHT: #aaa 1px solid; BORDER-TOP: #ddd 1px solid; BORDER-LEFT: =
#ddd 1px solid; BORDER-BOTTOM: #aaa 1px solid; box-shadow: .4em .4em =
.5em #bbb; webkit-box-shadow: .4em .4em .5em #bbb; moz-box-shadow: .4em =
.4em .5em #bbb
}
BODY .ui-ncbimenu-item-first-active {
	COLOR: #fff; BACKGROUND-COLOR: #4c96df
}
BODY UL LI A.ui-ncbimenu-item-active {
	COLOR: #fff; BACKGROUND-COLOR: #4c96df
}

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/928261/css/31982.css

#NCBIFooter_dynamic {
	DISPLAY: none
}

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/1035669/css/70227/33411/33405/78653/194601/218229/31147/31870/3499/13021/2807/19975/78652/14534/24272.css

BODY {
	min-width: 960px
}
DIV.col2 {
	FLOAT: left; MARGIN-LEFT: 250px; WIDTH: 430px
}
DIV.col3 {
	FLOAT: left; MARGIN-LEFT: 680px; WIDTH: 250px! important
}
DIV.col1 {
	MARGIN: 0px
}
DIV.col2 {
	MARGIN: 0px
}
DIV.col3 {
	MARGIN: 0px
}
#adghs {
	MARGIN-BOTTOM: 0px
}
#top-howtos {
	BORDER-LEFT: #edf3ff 1px solid
}
.col2 P {
	MARGIN: 1em
}
.col2 A:hover {
	BORDER-BOTTOM: #2222cc 1px dotted
}
.col4a {
	PADDING-RIGHT: 0.3em; BORDER-TOP: #f7f7f7 1px solid; PADDING-LEFT: =
0.3em; PADDING-BOTTOM: 1em; MARGIN-LEFT: 65%; BORDER-LEFT: #f7f7f7 1px =
solid; WIDTH: 35%; PADDING-TOP: 1em; POSITION: relative; TOP: 1em
}
.about_ncbi {
	BORDER-LEFT: #eee 1px solid
}
.about_links {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 1em =
0px 3.45em 1em; PADDING-TOP: 0px
}
.about_links LI {
	DISPLAY: inline
}
.col3 #top-howtos {
	MARGIN-BOTTOM: 0em
}
.about_ncbi {
	MARGIN-BOTTOM: 0em
}
#gstarted UL {
	PADDING-RIGHT: 0px; LIST-STYLE: square =
url(/portal/portal3rc.fcgi/1035669/img/26911) outside; PADDING-LEFT: =
0px; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 3.45em; PADDING-TOP: 0px
}
#top-howtos UL {
	PADDING-RIGHT: 0px; LIST-STYLE: square =
url(/portal/portal3rc.fcgi/1035669/img/26911) outside; PADDING-LEFT: =
0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
#top-howtos UL LI {
	MARGIN-BOTTOM: 0.2em
}
.portlet {
	MARGIN: 0px 1em 1em; BACKGROUND-COLOR: white; border-radius: 6px 6px 0 =
0; moz-border-radius: 6px 6px 0 0; webkit-border-top-left-radius: 6px; =
webkit-border-top-right-radius: 6px
}
.portlet H3 {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FONT-SIZE: 1em; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/29067) #c9c9c9 repeat-x left top; =
PADDING-BOTTOM: 0.3em; MARGIN: 0px; PADDING-TOP: 0.3em; BORDER-BOTTOM: =
#e5e5e5 1px solid; moz-border-radius: 6px 6px 0 0; =
webkit-border-top-left-radius: 6px; webkit-border-top-right-radius: 6px
}
.portlet_content {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: 0px; =
PADDING-LEFT: 1em; PADDING-BOTTOM: 0.3em; BORDER-LEFT: #ccc 1px solid; =
PADDING-TOP: 0.3em; BORDER-BOTTOM: #ccc 1px solid; POSITION: relative
}
.portlet_content .shutter {
	DISPLAY: block; RIGHT: 1em; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/29068) no-repeat left bottom; =
WIDTH: 14px; POSITION: absolute; TOP: -1.75em; HEIGHT: 14px
}
.portlet_content .shutter_closed {
	BACKGROUND-POSITION: left top
}
.portlet_settings {
	TEXT-ALIGN: right
}
.portlet_list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0.7em 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.portlet_list LI {
	MARGIN-BOTTOM: 0.6em; LINE-HEIGHT: 1.33em
}
.portlet_list LI A {
	COLOR: #2222cc; TEXT-DECORATION: none
}
.portlet_list LI A:hover {
	BORDER-BOTTOM: #2222cc 1px dotted
}
.portlet UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
.portlet LI {
	MARGIN: 0px
}
DIV.section {
	FONT-SIZE: 120%; MARGIN: 0px 1em
}
DIV#ppPopper {
	FONT-SIZE: 120%; Z-INDEX: 100
}
.rss UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 1em =
0.5em; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.rss UL LI {
	MARGIN: 0px 0px 1em
}
.rss UL A {
	LINE-HEIGHT: 1em
}
.rss UL P.desc {
	MARGIN: 0px 0px 0.5em; WIDTH: 100%; LINE-HEIGHT: 1.2em
}
.rss UL P.short {
	OVERFLOW: hidden; WIDTH: 100%; LINE-HEIGHT: 1.2em; HEIGHT: 2.4em; =
TEXT-OVERFLOW: ellipsis; o-text-overflow: ellipsis; ms-text-overflow: =
ellipsis
}
.rss UL .arrow {
	WIDTH: 100%
}
.rss UL DIV.up {
	BORDER-BOTTOM: #ccc 1px solid
}
.rss UL DIV.down {
	BORDER-TOP: #ccc 1px solid
}
.rss UL .arrow DIV {
	BORDER-RIGHT: pink 5px solid; FILTER: chroma(color=3Dpink); =
BORDER-BOTTOM-COLOR: pink; MARGIN: 0px auto; BORDER-LEFT: pink 5px =
solid; WIDTH: 0px; HEIGHT: 0px
}
.rss UL DIV.hover {
	BORDER-LEFT-COLOR: #000; BORDER-BOTTOM-COLOR: #000; BORDER-TOP-COLOR: =
#000; BORDER-RIGHT-COLOR: #000
}
.rss UL DIV.hover DIV.down {
	BORDER-TOP-COLOR: #000
}
.rss UL DIV.hover DIV.up {
	BORDER-BOTTOM-COLOR: #000
}
.rss UL .arrow DIV.down {
	BORDER-TOP: #ccc 5px solid; BORDER-BOTTOM: 0px
}
.rss UL .arrow DIV.up {
	BORDER-TOP: 0px; BORDER-BOTTOM: #ccc 5px solid
}
.rss UL P.date {
	FONT-SIZE: 80%; MARGIN: -0.1em 0px 0.25em 0.5em; COLOR: #888; =
TEXT-ALIGN: right
}
.rss A.more {
	PADDING-RIGHT: 1em; DISPLAY: block; TEXT-ALIGN: right
}
.rss A.more:hover {
	BORDER-BOTTOM: medium none
}
.popular UL {
	PADDING-RIGHT: 0px; LIST-STYLE: square =
url(/portal/portal3rc.fcgi/1035669/img/26911) outside; PADDING-LEFT: =
1.6em; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.col3 {
	PADDING-TOP: 1em
}
DIV#top-howtos {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
.col2 DIV#top-howtos H2 {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: none =
transparent scroll repeat 0% 0%; BORDER-LEFT: medium none; =
BORDER-BOTTOM: medium none
}
.col2 DIV#h1n1_ad H2 {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BACKGROUND: none =
transparent scroll repeat 0% 0%; BORDER-LEFT: medium none; =
BORDER-BOTTOM: medium none
}
.col2 DIV#top-howtos UL {
	MARGIN-TOP: -0.5em
}
.col2 DIV#h1n1_ad DIV.portlet_content {
	MARGIN-TOP: -0.5em
}
.h1n1 {
	MARGIN: 2em 0px 0px
}
.h1n1 .portlet_content {
	BORDER-RIGHT: medium none; PADDING-RIGHT: 1em; BORDER-TOP: medium none; =
PADDING-LEFT: 1em; PADDING-BOTTOM: 0.3em; OVERFLOW: hidden; BORDER-LEFT: =
medium none; PADDING-TOP: 0px; BORDER-BOTTOM: medium none
}
.swinefluimg {
	TEXT-ALIGN: center
}
.swinefluimg DIV {
	MARGIN: auto
}
.hhsflu {
	FLOAT: left; MARGIN: 0px
}
#h1n1_ad UL {
	MARGIN-LEFT: 190px
}
H1 {
	PADDING-LEFT: 0.5em
}
#sshow {
	MARGIN: 0px 0px 2em; OVERFLOW: hidden
}
UL.ui-ncbislideshow-skip LI A {
	HEIGHT: 1.4em
}
#adhgs {
	MARGIN-BOTTOM: 0px
}
H2.howto {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0.5em; FONT-WEIGHT: normal; =
FONT-SIZE: 1.4em; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px
}
#mode-toggler UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 2em; PADDING-BOTTOM: 0px; MARGIN: =
0px; OVERFLOW: hidden; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; =
POSITION: relative; TOP: 1px
}
#mode-toggler UL LI {
	FLOAT: left
}
#mode-toggler A {
	BORDER-RIGHT: #bbb 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: #bbb 1px =
solid; DISPLAY: block; PADDING-LEFT: 1em; BACKGROUND-IMAGE: =
url(/portal/portal3rc.fcgi/1035669/img/28079); PADDING-BOTTOM: 0.3em; =
MARGIN: 0px 0.2em; BORDER-LEFT: #bbb 1px solid; PADDING-TOP: 0.3em; =
BORDER-BOTTOM: #bbb 1px solid; TOP: 1px; TEXT-DECORATION: none; =
border-radius: 6px 6px 0 0; moz-border-radius: 6px 6px 0 0; =
webkit-border-top-left-radius: 6px; webkit-border-top-right-radius: 6px
}
#mode-toggler A:hover {
=09
}
#mode-toggler :unknown {
	outline: 0
}
#mode-toggler :unknown {
	outline: none
}
UNKNOWN {
	BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium =
none; BORDER-BOTTOM: medium none
}
#mode-toggler LI.current A {
	FONT-WEIGHT: bold; BACKGROUND: #f9f9f9; COLOR: #555; BORDER-BOTTOM: =
#f9f9f9 1px solid
}
DIV#gd-lcl-nav DIV#icongraphic {
	BACKGROUND-POSITION: right bottom; BACKGROUND-IMAGE: =
url(/portal/portal3rc.fcgi/1035669/img/28156); BACKGROUND-REPEAT: =
no-repeat
}
DIV#gd-lcl-nav H2 {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: =
0px; BACKGROUND-IMAGE: none; PADDING-BOTTOM: 4px; MARGIN: 0px 0px 0px =
1.33em; BORDER-LEFT: 0px; PADDING-TOP: 0px; BORDER-BOTTOM: 0px
}
DIV#gd-lcl-nav A {
	COLOR: black; TEXT-DECORATION: none
}
DIV#gd-lcl-nav LI.current {
	BACKGROUND-POSITION: left 50%; FONT-WEIGHT: bold; BACKGROUND-IMAGE: =
url(/portal/portal3rc.fcgi/1035669/img/12287); BACKGROUND-COLOR: white
}
DIV#gd-lcl-nav UL {
	MARGIN-TOP: 0px; PADDING-LEFT: 0px; MARGIN-LEFT: 0px; BORDER-LEFT: =
#b0cc79 3px solid; LIST-STYLE-TYPE: none
}
DIV.gd-lcl-nav-howto#gd-lcl-nav UL {
	BORDER-LEFT: #aec4f0 3px solid
}
DIV#gd-lcl-nav UL LI {
	PADDING-RIGHT: 0.2em; BACKGROUND-POSITION: left 50%; PADDING-LEFT: =
0.5em; BACKGROUND-IMAGE: url(/portal/portal3rc.fcgi/1035669/img/12246); =
PADDING-BOTTOM: 0px; MARGIN: 0px 0px -3px; PADDING-TOP: 0px; =
BACKGROUND-REPEAT: repeat-y; POSITION: relative; HEIGHT: 25px; =
BACKGROUND-COLOR: white
}
DIV.gd-lcl-nav-howto#gd-lcl-nav UL LI {
	BACKGROUND-POSITION: left 50%; BACKGROUND-IMAGE: =
url(/portal/portal3rc.fcgi/1035669/img/12244); BACKGROUND-REPEAT: =
repeat-y; BACKGROUND-COLOR: white
}
DIV.gd-lcl-nav-howto#gd-lcl-nav UL LI.current {
	BACKGROUND-POSITION: left 50%; BACKGROUND-IMAGE: =
url(/portal/portal3rc.fcgi/1035669/img/12285); BACKGROUND-COLOR: white
}
DIV#gd-lcl-nav UL LI A {
	MARGIN-LEFT: 0.8em; WIDTH: 90%; COLOR: #494949; LINE-HEIGHT: 1.8em; =
BORDER-BOTTOM: 0px; POSITION: absolute; TOP: 0.2em; HEIGHT: 25px; =
TEXT-DECORATION: none
}
DIV#gd-lcl-nav UL LI A:hover {
	COLOR: #222; TEXT-DECORATION: underline
}
DIV#gd-lcl-nav .homelink {
	FONT-WEIGHT: bold
}
DIV.gd-lcl-nav-howto#gd-lcl-nav UL LI {
	BACKGROUND-POSITION: left center; BACKGROUND-IMAGE: =
url(/portal/portal3rc.fcgi/194600/img/12244); BACKGROUND-REPEAT: =
repeat-y; BACKGROUND-COLOR: white
}
DIV#gd-lcl-nav UL LI.nav-divide {
	BACKGROUND-IMAGE: url(/portal/portal3rc.fcgi/1035669/img/218233); =
HEIGHT: 3px
}
DIV#gd-lcl-nav UL LI.first {
	BACKGROUND-IMAGE: url(/portal/portal3rc.fcgi/1035669/img/218234)
}
DIV#gd-lcl-nav UL LI.before-divide {
	BACKGROUND-IMAGE: url(/portal/portal3rc.fcgi/1035669/img/218235)
}
DIV#gd-lcl-nav UL LI.map-current {
	BACKGROUND-IMAGE: url(/portal/portal3rc.fcgi/1035669/img/225418)
}
.sepcomponent .browserid {
	BORDER-RIGHT: #888 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #888 1px =
solid; PADDING-LEFT: 0px; FONT-WEIGHT: bold; PADDING-BOTTOM: 0px; =
MARGIN: auto; BORDER-LEFT: #888 1px solid; WIDTH: 80%; PADDING-TOP: 0px; =
BORDER-BOTTOM: #888 1px solid; TEXT-ALIGN: center
}
.sepcomponent .fullysupported {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: 1px solid; =
PADDING-LEFT: 2em; PADDING-BOTTOM: 0.25em; BORDER-LEFT: 1px solid; =
PADDING-TOP: 0.2em; BORDER-BOTTOM: 1px solid; HEIGHT: 20px; =
BACKGROUND-COLOR: #afa
}
.sepcomponent .partsupported {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0.5em =
0.3em; BORDER-TOP: 1px solid; PADDING-LEFT: 2em; BACKGROUND-IMAGE: =
url(/portal/portalrc.fcgi/39329/img/30254); PADDING-BOTTOM: 0.25em; =
BORDER-LEFT: 1px solid; PADDING-TOP: 0.2em; BORDER-BOTTOM: 1px solid; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 20px; BACKGROUND-COLOR: #ffa
}
.sepcomponent .notsupported {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0.5em =
0.3em; BORDER-TOP: 1px solid; PADDING-LEFT: 2em; BACKGROUND-IMAGE: =
url(/portal/portalrc.fcgi/39329/img/30254); PADDING-BOTTOM: 0.25em; =
BORDER-LEFT: 1px solid; PADDING-TOP: 0.2em; BORDER-BOTTOM: 1px solid; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 20px; BACKGROUND-COLOR: #faa
}
.sepcomponent .unknownbrowser {
	BORDER-RIGHT: 1px solid; PADDING-RIGHT: 0px; BACKGROUND-POSITION: 0.5em =
0.3em; BORDER-TOP: 1px solid; PADDING-LEFT: 2em; BACKGROUND-IMAGE: =
url(/portal/portalrc.fcgi/39329/img/30254); PADDING-BOTTOM: 0.25em; =
BORDER-LEFT: 1px solid; PADDING-TOP: 0.2em; BORDER-BOTTOM: 1px solid; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 20px; BACKGROUND-COLOR: #ffaaaa
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 62.5%; =
PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: 1.8em; PADDING-TOP: 0px; =
min-width: 82em
}
.header {
	FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, "lucida sans", =
arial, sans-serif
}
.supplemental {
	FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, "lucida sans", =
arial, sans-serif
}
.content {
	FONT-FAMILY: helvetica, arial, sans-serif
}
H1 {
	FONT-SIZE: 1.5em; LINE-HEIGHT: 1.1em
}
H2 {
	FONT-SIZE: 1.8em
}
H3 {
	FONT-SIZE: 1.4em
}
.header .inline_list LI A {
	FONT-SIZE: 1.4em
}
H4 {
	FONT-SIZE: 1.2em
}
.container {
	FONT-SIZE: 1.2em
}
H5 {
	FONT-SIZE: 1.1em
}
H6 {
	FONT-SIZE: 0.9em
}
H4.content_header {
	FONT-SIZE: 1em
}
H1.title {
	FONT-WEIGHT: normal
}
H4.content_header {
	FONT-WEIGHT: normal
}
.header {
	BACKGROUND: url(/portal/portal3rc.fcgi/1035669/img/28042) #e5e5e5 =
repeat-x left bottom; POSITION: relative; HEIGHT: 9em
}
.header A {
	TEXT-DECORATION: none
}
.header A:hover {
	TEXT-DECORATION: underline
}
.container {
	ZOOM: 1
}
.content {
	PADDING-RIGHT: 1em; PADDING-LEFT: 1.33em; PADDING-BOTTOM: 2em; =
PADDING-TOP: 0.8em; BACKGROUND-COLOR: white
}
.supplemental {
	PADDING-RIGHT: 0.4em; PADDING-LEFT: 0.8em; PADDING-BOTTOM: 0px; WIDTH: =
28em; PADDING-TOP: 0.8em; BACKGROUND-COLOR: white
}
.container {
	FLOAT: left; WIDTH: 100%; MARGIN-RIGHT: -25.35em
}
.content {
	MARGIN-RIGHT: 23.35em
}
.supplemental {
	FLOAT: right
}
.title_and_pager {
	MARGIN: 0.9em 0px 1.3em
}
.results_settings {
	ZOOM: 1
}
.title_and_pager {
	ZOOM: 1
}
.rprt {
	ZOOM: 1
}
.tabPopper {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0.2em; BORDER-TOP: #ccc =
1px solid; MARGIN-TOP: 3px; DISPLAY: none; PADDING-LEFT: 0.2em; LEFT: =
0px; PADDING-BOTTOM: 1em; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: =
0.2em; BORDER-BOTTOM: #ccc 1px solid; POSITION: absolute; TOP: 0px; =
BACKGROUND-COLOR: #fff; box-shadow: .4em .4em .5em #999; =
webkit-box-shadow: .4em .4em .5em #999; moz-box-shadow: .4em .4em .5em =
#999
}
.tabPopperCover {
	LEFT: 0px; OVERFLOW: hidden; POSITION: absolute; TOP: 0px; HEIGHT: 1px; =
BACKGROUND-COLOR: #ffa600
}
.tabPopper FIELDSET {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0px; BORDER-TOP: 0px; PADDING-LEFT: =
0px; PADDING-BOTTOM: 0px; MARGIN: 4px 10px; BORDER-LEFT: 0px; =
PADDING-TOP: 0px; BORDER-BOTTOM: 0px
}
.tabPopper FIELDSET UL {
	BORDER-TOP: #ddd 1px solid; PADDING-TOP: 3px
}
.tabPopper FIELDSET DL {
	BORDER-TOP: #ddd 1px solid; PADDING-TOP: 3px
}
.tabPopper FIELDSET DL {
	MARGIN: 0px 0px 6px
}
.tabPopper FIELDSET INPUT {
	POSITION: relative; TOP: 2px
}
.app_msg {
	FONT-SIZE: 1.2em; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 1em; =
BACKGROUND-COLOR: #fff
}
.app_msg P {
	MARGIN: 0.1em 0px
}
.app_msg_controls {
	TEXT-ALIGN: right
}
.app_msg_controls A {
	FONT-SIZE: 0.9em
}
.revised {
	FONT-SIZE: 1.45em
}
.database-ad {
	FONT-SIZE: 1.2em
}
DIV#accession-sensor {
	FONT-SIZE: 1.2em
}
.search_bottom BUTTON {
	FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, "lucida sans", =
arial, sans-serif
}
.search_top LABEL {
	FONT-SIZE: 1.4em; MARGIN-RIGHT: 0.2em
}
.search_extras .inline_list LI A {
	FONT-SIZE: 1.2em
}
rss_menu {
	FONT-SIZE: 1.2em
}
.search_extras LI {
	MARGIN-RIGHT: 1.2em
}
.search {
	LEFT: 20em; MARGIN: 0px; WIDTH: 62em; POSITION: absolute; TOP: 0.9em
}
.search_top {
	BORDER-RIGHT: white 2px solid; PADDING-RIGHT: 6px; BORDER-TOP: white =
2px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 6px; BORDER-LEFT: white =
2px solid; PADDING-TOP: 6px; BORDER-BOTTOM: white 2px solid; =
BACKGROUND-COLOR: #c0c0c0
}
.search_bottom {
	BORDER-RIGHT: white 2px solid; PADDING-RIGHT: 6px; BORDER-TOP: white =
2px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 6px; BORDER-LEFT: white =
2px solid; PADDING-TOP: 6px; BORDER-BOTTOM: white 2px solid; =
BACKGROUND-COLOR: #c0c0c0
}
.search_top {
	Z-INDEX: 10; PADDING-BOTTOM: 0px; WIDTH: 25em; BORDER-BOTTOM: 0px; =
POSITION: relative; TOP: 0px; border-radius: 6px 6px 0 0; =
moz-border-radius: 6px 6px 0 0; webkit-border-top-left-radius: 6px; =
webkit-border-top-right-radius: 6px
}
.search_top SELECT {
	WIDTH: 13em
}
.search_bottom {
	Z-INDEX: 5; WIDTH: 60em; POSITION: relative; TOP: -2px; HEIGHT: 2.5em; =
border-radius: 0 6px 6px 6px; moz-border-radius: 0 6px 6px 6px; =
webkit-border-top-right-radius: 6px; webkit-border-bottom-left-radius: =
6px; webkit-border-bottom-right-radius: 6px
}
.search_bottom INPUT {
	WIDTH: 34em
}
.search_extras {
	Z-INDEX: 4; LEFT: 27.5em; WIDTH: 40em; POSITION: relative; TOP: -6.7em
}
.search_bottom BUTTON {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0.4em; BORDER-TOP: 0px; PADDING-LEFT: =
0.4em; PADDING-BOTTOM: 0.2em; MARGIN: 0px 0.3em; OVERFLOW: visible; =
BORDER-LEFT: 0px; WIDTH: auto; CURSOR: pointer; PADDING-TOP: 0.2em; =
BORDER-BOTTOM: 0px; HEIGHT: 1.8em; BACKGROUND-COLOR: #ddd; =
border-radius: 3px; moz-border-radius: 3px; webkit-border-radius: 3px
}
.search_bottom BUTTON:active {
	BACKGROUND-COLOR: #fcfcfc
}
.search_bottom BUTTON.button_search {
	FONT-WEIGHT: bold; MARGIN-LEFT: 0.5em; COLOR: #fff; BACKGROUND-COLOR: =
#369
}
.search_bottom BUTTON.button_search:active {
	BACKGROUND-COLOR: #4c96df
}
.search_bottom BUTTON.button_preview {
	FONT-WEIGHT: bold; COLOR: #fff; BACKGROUND-COLOR: #a64d48
}
.search_bottom BUTTON.button_preview:active {
	BACKGROUND-COLOR: #f27069
}
.print_term {
	DISPLAY: none
}
.search_top LABEL.search_nodropdown {
	DISPLAY: block; HEIGHT: 22px
}
.search_bottom INPUT.search_short {
	WIDTH: 29.5em
}
.rss_icon {
	MARGIN-RIGHT: 0.3em; POSITION: relative; TOP: 3px
}
.search_extras .inline_list LI {
	MARGIN-RIGHT: 1.2em
}
.header .search_extras .inline_list LI A {
	FONT-SIZE: 1.2em
}
.search_extras .hidden {
	DISPLAY: none
}
.search_extras .visible {
	DISPLAY: inline
}
.rss_menu {
	DISPLAY: none; FONT-SIZE: 1.2em; Z-INDEX: 1001; LEFT: 0px; TOP: 19px
}
.rss_menu LEGEND {
	FONT-WEIGHT: bold; MARGIN: 2px 0px 0px 3px
}
.rss_menu UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 5px; LIST-STYLE-TYPE: none
}
.rss_menu UL LI {
	MARGIN-BOTTOM: 0.4em
}
.rss_menu SPAN {
	MARGIN-RIGHT: 0.5em
}
.rss_menu LABEL {
	MARGIN-RIGHT: 0.5em
}
.rss_menu UL INPUT {
	TOP: 0px
}
.rss_menu DD {
	MARGIN-BOTTOM: 1em; MARGIN-LEFT: 0px
}
.rss_menu #rss_name {
	WIDTH: 15em
}
.rss_menu BUTTON {
	MARGIN-TOP: 0.5em
}
.rss_menu LABEL {
	DISPLAY: block
}
.search {
	WIDTH: 60.2em; HEIGHT: 7.1em
}
.search .search_top {
	Z-INDEX: 3
}
.search .search_bottom {
	Z-INDEX: 2
}
.search .tr {
	DISPLAY: block; FONT-SIZE: 0px; Z-INDEX: 5; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/26974) no-repeat; POSITION: =
relative; HEIGHT: 6px
}
.search .tl {
	DISPLAY: block; FONT-SIZE: 0px; Z-INDEX: 5; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/26974) no-repeat; POSITION: =
relative; HEIGHT: 6px
}
.search .br {
	DISPLAY: block; FONT-SIZE: 0px; Z-INDEX: 5; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/26974) no-repeat; POSITION: =
relative; HEIGHT: 6px
}
.search .bl {
	DISPLAY: block; FONT-SIZE: 0px; Z-INDEX: 5; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/26974) no-repeat; POSITION: =
relative; HEIGHT: 6px
}
.search .tr2 {
	DISPLAY: block; FONT-SIZE: 0px; Z-INDEX: 5; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/26974) no-repeat; POSITION: =
relative; HEIGHT: 6px
}
.search .tr {
	POSITION: absolute
}
.search .br {
	POSITION: absolute
}
.search .tr2 {
	POSITION: absolute
}
.search .tr {
	BACKGROUND-POSITION: 100% 0px
}
.search .tr2 {
	BACKGROUND-POSITION: 100% 0px
}
.search .tr {
	WIDTH: 41.5%; TOP: 0px
}
.search .tl {
	BACKGROUND-POSITION: 0px -12px
}
.search .br {
	BACKGROUND-POSITION: 100% -6px; BOTTOM: 20px
}
.search .bl {
	BACKGROUND-POSITION: 0px -18px; LEFT: 2px
}
.search .tr2 {
	TOP: 28px
}
.search .br {
	RIGHT: 2px; WIDTH: 100%
}
.search .tr2 {
	RIGHT: 2px; WIDTH: 100%
}
.search_bottom INPUT.button {
	WIDTH: auto; FONT-FAMILY: "Helvetica Neue", GillSans, helvetica, =
"lucida sans", arial, sans-serif
}
.search_bottom INPUT.button {
	BORDER-RIGHT: 0px; PADDING-RIGHT: 0.4em; BORDER-TOP: 0px; PADDING-LEFT: =
0.4em; PADDING-BOTTOM: 0.2em; MARGIN: 0px 0.3em; OVERFLOW: visible; =
BORDER-LEFT: 0px; WIDTH: auto; CURSOR: pointer; PADDING-TOP: 0.2em; =
BORDER-BOTTOM: 0px; HEIGHT: 1.8em; BACKGROUND-COLOR: #ddd; =
border-radius: 3px; moz-border-radius: 3px; webkit-border-radius: 3px
}
.search_bottom INPUT.button:active {
	BACKGROUND-COLOR: #fcfcfc
}
.search_bottom INPUT.search_button {
	FONT-WEIGHT: bold; MARGIN-LEFT: 0.5em; COLOR: #fff; BACKGROUND-COLOR: =
#369
}
.search_bottom INPUT.search_button:active {
	BACKGROUND-COLOR: #4c96df
}
.app_logo {
	LEFT: 1.6em; WIDTH: 16.5em; PADDING-TOP: 0.5em; POSITION: absolute
}
.app_logo H1 {
	MARGIN: 0px
}
.db_logo {
	DISPLAY: block; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/3934) #e5e5e5 no-repeat left top; =
TEXT-INDENT: -9999px; HEIGHT: 65px
}
.header .NLMlogo {
	FONT-SIZE: 1.1em
}
.NLMLogo {
	LINE-HEIGHT: 1.4em
}
.NLMLogo {
	COLOR: #6f6f6f
}
.NLMLogo A {
	COLOR: #6f6f6f
}
.pubmed_logo {
	DISPLAY: block; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/19904) #e5e5e5 no-repeat left =
top; WIDTH: 165px; TEXT-INDENT: -9999px; HEIGHT: 45px
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 62.5%; =
PADDING-BOTTOM: 0px; MARGIN: 0px; LINE-HEIGHT: 1.8em; PADDING-TOP: 0px; =
min-width: 96em
}
 HTML .content {
	WIDTH: 960px
}
A.ncbi_home_logo {
	DISPLAY: block; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/12394) #e5e5e5 no-repeat left =
top; WIDTH: 165px; TEXT-INDENT: -9999px; HEIGHT: 45px
}
#all-howtos H3 {
	FONT-WEIGHT: normal; FONT-SIZE: 1.4em; TEXT-TRANSFORM: uppercase; =
COLOR: #555; FONT-FAMILY: "Lucida Grande","Lucida Sans =
Unicode",arial,sans-serif
}
BODY #resources-by-category H3 {
	FONT-WEIGHT: normal; FONT-SIZE: 1.4em; TEXT-TRANSFORM: uppercase; =
COLOR: #555; FONT-FAMILY: "Lucida Grande","Lucida Sans =
Unicode",arial,sans-serif
}
H1 {
	FONT-SIZE: 1.8em
}
.content {
	FONT-SIZE: 1.2em
}
.portlet_settings A {
	FONT-SIZE: 0.9em
}
H3 {
	FONT-SIZE: 1.6em
}
H1 {
	FONT-WEIGHT: normal
}
.NLMLogo {
	LINE-HEIGHT: 1.4em
}
.gene_sensor {
	LINE-HEIGHT: 1.4em
}
IMG {
	BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: =
0px
}
.inline_list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.inline_list LI {
	DISPLAY: inline; MARGIN-RIGHT: 0.2em
}
.column_list {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
.column_list LI {
	FLOAT: left; WIDTH: 8em
}
.offscreen {
	TEXT-INDENT: -9999em
}
.offscreen_noflow {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: left; PADDING-BOTTOM: =
0px; MARGIN: 0px; TEXT-INDENT: -9999em; PADDING-TOP: 0px; HEIGHT: 0px
}
.left {
	FLOAT: left
}
.right {
	FLOAT: right
}
.align_right {
	TEXT-ALIGN: right
}
.app_logo  {
	BORDER-BOTTOM: medium none
}
.app_logo :hover {
	BORDER-BOTTOM: medium none
}
.content {
	MARGIN: 0px
}
A {
	COLOR: #2222cc; TEXT-DECORATION: none
}
A:hover {
	BORDER-BOTTOM: #6666ee 1px dotted
}
.col1 {
	FLOAT: left; WIDTH: 250px
}
H2 {
	PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-SIZE: 1.16em; =
MARGIN-BOTTOM: 0.7em; PADDING-BOTTOM: 0px; PADDING-TOP: 1em
}
UL#index LI {
	COLOR: #666
}
#all-resources {
	BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 1.5em; =
MARGIN-LEFT: 250px; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: #ddd 1px =
solid; ZOOM: 1; BACKGROUND-COLOR: #f9f9f9; border-radius: 8px 0 0 0; =
moz-border-radius: 8px 0 0 0; webkit-border-top-left-radius: 8px
}
#all-howtos {
	BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 1.5em; =
MARGIN-LEFT: 250px; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: #ddd 1px =
solid; ZOOM: 1; BACKGROUND-COLOR: #f9f9f9; border-radius: 8px 0 0 0; =
moz-border-radius: 8px 0 0 0; webkit-border-top-left-radius: 8px
}
#resources-by-category {
	BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 1.5em; =
MARGIN-LEFT: 250px; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: #ddd 1px =
solid; ZOOM: 1; BACKGROUND-COLOR: #f9f9f9; border-radius: 8px 0 0 0; =
moz-border-radius: 8px 0 0 0; webkit-border-top-left-radius: 8px
}
#howtos-by-category {
	BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 1.5em; =
MARGIN-LEFT: 250px; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: #ddd 1px =
solid; ZOOM: 1; BACKGROUND-COLOR: #f9f9f9; border-radius: 8px 0 0 0; =
moz-border-radius: 8px 0 0 0; webkit-border-top-left-radius: 8px
}
#indiv-howto {
	BORDER-TOP: #bbb 1px solid; PADDING-LEFT: 1em; PADDING-BOTTOM: 1.5em; =
MARGIN-LEFT: 250px; BORDER-LEFT: #bbb 1px solid; BORDER-BOTTOM: #ddd 1px =
solid; ZOOM: 1; BACKGROUND-COLOR: #f9f9f9; border-radius: 8px 0 0 0; =
moz-border-radius: 8px 0 0 0; webkit-border-top-left-radius: 8px
}
#all-resources UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1em; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#all-howtos UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1em; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#resources-by-category-quicklinks UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1em; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#howtos-by-category UL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 1em; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none
}
#all-resources UL LI {
	MARGIN-BOTTOM: 0.3em
}
#all-howtos UL LI {
	MARGIN-BOTTOM: 0.3em
}
#resources-by-category-quicklinks UL LI {
	MARGIN-BOTTOM: 0.3em
}
#howtos-by-category UL LI {
	MARGIN-BOTTOM: 0.3em
}
#all-howtos H3 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 1em; PADDING-LEFT: 0px; MARGIN-BOTTOM: =
0.4em; PADDING-BOTTOM: 0.4em; WIDTH: 75%; PADDING-TOP: 0px; =
BORDER-BOTTOM: #e5e5e5 1px solid
}
#resources-qlinks H3 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 1em; PADDING-LEFT: 0px; MARGIN-BOTTOM: =
0.4em; PADDING-BOTTOM: 0.4em; WIDTH: 75%; PADDING-TOP: 0px; =
BORDER-BOTTOM: #e5e5e5 1px solid
}
#resources-by-category-quicklinks H2 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 1em; PADDING-LEFT: 0px; MARGIN-BOTTOM: =
0.4em; PADDING-BOTTOM: 0.4em; WIDTH: 75%; PADDING-TOP: 0px; =
BORDER-BOTTOM: #e5e5e5 1px solid
}
#indiv-howto H3 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 1em; PADDING-LEFT: 0px; MARGIN-BOTTOM: =
0.4em; PADDING-BOTTOM: 0.4em; WIDTH: 75%; PADDING-TOP: 0px; =
BORDER-BOTTOM: #e5e5e5 1px solid
}
#resources-by-category-quicklinks H2 {
	PADDING-RIGHT: 2em; PADDING-BOTTOM: 0.15em
}
#all-resources DL {
	MARGIN-TOP: 0px
}
#all-howtos DL {
	MARGIN-TOP: 0px
}
#resources-by-category DL {
	MARGIN-TOP: 0px
}
#howtos-by-category DL {
	MARGIN-TOP: 0px
}
#resources-by-category DD {
	MARGIN-BOTTOM: 1em; MARGIN-LEFT: 3em
}
#resources-by-category DT {
	MARGIN-BOTTOM: 0.5em
}
DT.featured {
=09
}
LI.featured A {
=09
}
DT.featured SPAN {
	PADDING-LEFT: 1.75em; FONT-WEIGHT: normal; BACKGROUND: =
url(http://web.ncbi.nlm.nih.gov/core/icons/flag_purple.png) no-repeat =
0px 0px; MARGIN-LEFT: 0.5em; COLOR: #913bdf
}
LI.featured SPAN {
	PADDING-LEFT: 1.75em; FONT-WEIGHT: normal; BACKGROUND: =
url(http://web.ncbi.nlm.nih.gov/core/icons/flag_purple.png) no-repeat =
0px 0px; MARGIN-LEFT: 0.5em; COLOR: #913bdf
}
.featured {
	FONT-WEIGHT: bold
}
LI A.featured {
	FONT-WEIGHT: normal
}
NOSCRIPT P.nojs {
	PADDING-RIGHT: 4px; PADDING-LEFT: 28px; BACKGROUND: =
url(/portal/portal3rc.fcgi/1035669/img/25968) #ffb no-repeat 5px center; =
PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-TOP: 4px
}

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/core/jig/1.5.2/js/jig.js

( function() {=0A=
    // Beginning of anon function that holds all jig code. jig code has:=0A=
    // 1) jQuery core lib=0A=
    // 2) Shortcuts to jQuery and noConflict statement to prevent people =
from calling "$" from outside this script=0A=
    // 3) Concatenated jQuery plugins=0A=
    // 4) Core jQuery UI code=0A=
    // 5) jQuery.ui.jig utility methods for use with ncbi-written UI =
widgets=0A=
    // 6) jig.decl which figures out what widget scripts and CSS files =
to write into head of doc=0A=
=0A=
=0A=
    // check to see if we already have jig=0A=
    // if we do, just exit and don't evaluate=0A=
    if ( typeof jQuery !=3D=3D "undefined" && typeof jQuery.ui !=3D=3D =
"undefined" && typeof jQuery.ui.jig !=3D=3D "undefined") {=0A=
        return;=0A=
    } =0A=
    =0A=
/*!=0A=
 * jQuery JavaScript Library v1.4.2=0A=
 * http://jquery.com/=0A=
 *=0A=
 * Copyright 2010, John Resig=0A=
 * Dual licensed under the MIT or GPL Version 2 licenses.=0A=
 * http://jquery.org/license=0A=
 *=0A=
 * Includes Sizzle.js=0A=
 * http://sizzlejs.com/=0A=
 * Copyright 2010, The Dojo Foundation=0A=
 * Released under the MIT, BSD, and GPL Licenses.=0A=
 *=0A=
 * Date: Sat Feb 13 22:33:48 2010 -0500=0A=
 */=0A=
(function( window, undefined ) {=0A=
=0A=
// Define a local copy of jQuery=0A=
var jQuery =3D function( selector, context ) {=0A=
		// The jQuery object is actually just the init constructor 'enhanced'=0A=
		return new jQuery.fn.init( selector, context );=0A=
	},=0A=
=0A=
	// Map over jQuery in case of overwrite=0A=
	_jQuery =3D window.jQuery,=0A=
=0A=
	// Map over the $ in case of overwrite=0A=
	_$ =3D window.$,=0A=
=0A=
	// Use the correct document accordingly with window argument (sandbox)=0A=
	document =3D window.document,=0A=
=0A=
	// A central reference to the root jQuery(document)=0A=
	rootjQuery,=0A=
=0A=
	// A simple way to check for HTML strings or ID strings=0A=
	// (both of which we optimize for)=0A=
	quickExpr =3D /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,=0A=
=0A=
	// Is it a simple selector=0A=
	isSimple =3D /^.[^:#\[\.,]*$/,=0A=
=0A=
	// Check if a string has a non-whitespace character in it=0A=
	rnotwhite =3D /\S/,=0A=
=0A=
	// Used for trimming whitespace=0A=
	rtrim =3D /^(\s|\u00A0)+|(\s|\u00A0)+$/g,=0A=
=0A=
	// Match a standalone tag=0A=
	rsingleTag =3D /^<(\w+)\s*\/?>(?:<\/\1>)?$/,=0A=
=0A=
	// Keep a UserAgent string for use with jQuery.browser=0A=
	userAgent =3D navigator.userAgent,=0A=
=0A=
	// For matching the engine and version of the browser=0A=
	browserMatch,=0A=
	=0A=
	// Has the ready events already been bound?=0A=
	readyBound =3D false,=0A=
	=0A=
	// The functions to execute on DOM ready=0A=
	readyList =3D [],=0A=
=0A=
	// The ready event handler=0A=
	DOMContentLoaded,=0A=
=0A=
	// Save a reference to some core methods=0A=
	toString =3D Object.prototype.toString,=0A=
	hasOwnProperty =3D Object.prototype.hasOwnProperty,=0A=
	push =3D Array.prototype.push,=0A=
	slice =3D Array.prototype.slice,=0A=
	indexOf =3D Array.prototype.indexOf;=0A=
=0A=
jQuery.fn =3D jQuery.prototype =3D {=0A=
	init: function( selector, context ) {=0A=
		var match, elem, ret, doc;=0A=
=0A=
		// Handle $(""), $(null), or $(undefined)=0A=
		if ( !selector ) {=0A=
			return this;=0A=
		}=0A=
=0A=
		// Handle $(DOMElement)=0A=
		if ( selector.nodeType ) {=0A=
			this.context =3D this[0] =3D selector;=0A=
			this.length =3D 1;=0A=
			return this;=0A=
		}=0A=
		=0A=
		// The body element only exists once, optimize finding it=0A=
		if ( selector =3D=3D=3D "body" && !context ) {=0A=
			this.context =3D document;=0A=
			this[0] =3D document.body;=0A=
			this.selector =3D "body";=0A=
			this.length =3D 1;=0A=
			return this;=0A=
		}=0A=
=0A=
		// Handle HTML strings=0A=
		if ( typeof selector =3D=3D=3D "string" ) {=0A=
			// Are we dealing with HTML string or an ID?=0A=
			match =3D quickExpr.exec( selector );=0A=
=0A=
			// Verify a match, and that no context was specified for #id=0A=
			if ( match && (match[1] || !context) ) {=0A=
=0A=
				// HANDLE: $(html) -> $(array)=0A=
				if ( match[1] ) {=0A=
					doc =3D (context ? context.ownerDocument || context : document);=0A=
=0A=
					// If a single string is passed in and it's a single tag=0A=
					// just do a createElement and skip the rest=0A=
					ret =3D rsingleTag.exec( selector );=0A=
=0A=
					if ( ret ) {=0A=
						if ( jQuery.isPlainObject( context ) ) {=0A=
							selector =3D [ document.createElement( ret[1] ) ];=0A=
							jQuery.fn.attr.call( selector, context, true );=0A=
=0A=
						} else {=0A=
							selector =3D [ doc.createElement( ret[1] ) ];=0A=
						}=0A=
=0A=
					} else {=0A=
						ret =3D buildFragment( [ match[1] ], [ doc ] );=0A=
						selector =3D (ret.cacheable ? ret.fragment.cloneNode(true) : =
ret.fragment).childNodes;=0A=
					}=0A=
					=0A=
					return jQuery.merge( this, selector );=0A=
					=0A=
				// HANDLE: $("#id")=0A=
				} else {=0A=
					elem =3D document.getElementById( match[2] );=0A=
=0A=
					if ( elem ) {=0A=
						// Handle the case where IE and Opera return items=0A=
						// by name instead of ID=0A=
						if ( elem.id !=3D=3D match[2] ) {=0A=
							return rootjQuery.find( selector );=0A=
						}=0A=
=0A=
						// Otherwise, we inject the element directly into the jQuery object=0A=
						this.length =3D 1;=0A=
						this[0] =3D elem;=0A=
					}=0A=
=0A=
					this.context =3D document;=0A=
					this.selector =3D selector;=0A=
					return this;=0A=
				}=0A=
=0A=
			// HANDLE: $("TAG")=0A=
			} else if ( !context && /^\w+$/.test( selector ) ) {=0A=
				this.selector =3D selector;=0A=
				this.context =3D document;=0A=
				selector =3D document.getElementsByTagName( selector );=0A=
				return jQuery.merge( this, selector );=0A=
=0A=
			// HANDLE: $(expr, $(...))=0A=
			} else if ( !context || context.jquery ) {=0A=
				return (context || rootjQuery).find( selector );=0A=
=0A=
			// HANDLE: $(expr, context)=0A=
			// (which is just equivalent to: $(context).find(expr)=0A=
			} else {=0A=
				return jQuery( context ).find( selector );=0A=
			}=0A=
=0A=
		// HANDLE: $(function)=0A=
		// Shortcut for document ready=0A=
		} else if ( jQuery.isFunction( selector ) ) {=0A=
			return rootjQuery.ready( selector );=0A=
		}=0A=
=0A=
		if (selector.selector !=3D=3D undefined) {=0A=
			this.selector =3D selector.selector;=0A=
			this.context =3D selector.context;=0A=
		}=0A=
=0A=
		return jQuery.makeArray( selector, this );=0A=
	},=0A=
=0A=
	// Start with an empty selector=0A=
	selector: "",=0A=
=0A=
	// The current version of jQuery being used=0A=
	jquery: "1.4.2",=0A=
=0A=
	// The default length of a jQuery object is 0=0A=
	length: 0,=0A=
=0A=
	// The number of elements contained in the matched element set=0A=
	size: function() {=0A=
		return this.length;=0A=
	},=0A=
=0A=
	toArray: function() {=0A=
		return slice.call( this, 0 );=0A=
	},=0A=
=0A=
	// Get the Nth element in the matched element set OR=0A=
	// Get the whole matched element set as a clean array=0A=
	get: function( num ) {=0A=
		return num =3D=3D null ?=0A=
=0A=
			// Return a 'clean' array=0A=
			this.toArray() :=0A=
=0A=
			// Return just the object=0A=
			( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );=0A=
	},=0A=
=0A=
	// Take an array of elements and push it onto the stack=0A=
	// (returning the new matched element set)=0A=
	pushStack: function( elems, name, selector ) {=0A=
		// Build a new jQuery matched element set=0A=
		var ret =3D jQuery();=0A=
=0A=
		if ( jQuery.isArray( elems ) ) {=0A=
			push.apply( ret, elems );=0A=
		=0A=
		} else {=0A=
			jQuery.merge( ret, elems );=0A=
		}=0A=
=0A=
		// Add the old object onto the stack (as a reference)=0A=
		ret.prevObject =3D this;=0A=
=0A=
		ret.context =3D this.context;=0A=
=0A=
		if ( name =3D=3D=3D "find" ) {=0A=
			ret.selector =3D this.selector + (this.selector ? " " : "") + =
selector;=0A=
		} else if ( name ) {=0A=
			ret.selector =3D this.selector + "." + name + "(" + selector + ")";=0A=
		}=0A=
=0A=
		// Return the newly-formed element set=0A=
		return ret;=0A=
	},=0A=
=0A=
	// Execute a callback for every element in the matched set.=0A=
	// (You can seed the arguments with an array of args, but this is=0A=
	// only used internally.)=0A=
	each: function( callback, args ) {=0A=
		return jQuery.each( this, callback, args );=0A=
	},=0A=
	=0A=
	ready: function( fn ) {=0A=
		// Attach the listeners=0A=
		jQuery.bindReady();=0A=
=0A=
		// If the DOM is already ready=0A=
		if ( jQuery.isReady ) {=0A=
			// Execute the function immediately=0A=
			fn.call( document, jQuery );=0A=
=0A=
		// Otherwise, remember the function for later=0A=
		} else if ( readyList ) {=0A=
			// Add the function to the wait list=0A=
			readyList.push( fn );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	eq: function( i ) {=0A=
		return i =3D=3D=3D -1 ?=0A=
			this.slice( i ) :=0A=
			this.slice( i, +i + 1 );=0A=
	},=0A=
=0A=
	first: function() {=0A=
		return this.eq( 0 );=0A=
	},=0A=
=0A=
	last: function() {=0A=
		return this.eq( -1 );=0A=
	},=0A=
=0A=
	slice: function() {=0A=
		return this.pushStack( slice.apply( this, arguments ),=0A=
			"slice", slice.call(arguments).join(",") );=0A=
	},=0A=
=0A=
	map: function( callback ) {=0A=
		return this.pushStack( jQuery.map(this, function( elem, i ) {=0A=
			return callback.call( elem, i, elem );=0A=
		}));=0A=
	},=0A=
	=0A=
	end: function() {=0A=
		return this.prevObject || jQuery(null);=0A=
	},=0A=
=0A=
	// For internal use only.=0A=
	// Behaves like an Array's method, not like a jQuery method.=0A=
	push: push,=0A=
	sort: [].sort,=0A=
	splice: [].splice=0A=
};=0A=
=0A=
// Give the init function the jQuery prototype for later instantiation=0A=
jQuery.fn.init.prototype =3D jQuery.fn;=0A=
=0A=
jQuery.extend =3D jQuery.fn.extend =3D function() {=0A=
	// copy reference to target object=0A=
	var target =3D arguments[0] || {}, i =3D 1, length =3D =
arguments.length, deep =3D false, options, name, src, copy;=0A=
=0A=
	// Handle a deep copy situation=0A=
	if ( typeof target =3D=3D=3D "boolean" ) {=0A=
		deep =3D target;=0A=
		target =3D arguments[1] || {};=0A=
		// skip the boolean and the target=0A=
		i =3D 2;=0A=
	}=0A=
=0A=
	// Handle case when target is a string or something (possible in deep =
copy)=0A=
	if ( typeof target !=3D=3D "object" && !jQuery.isFunction(target) ) {=0A=
		target =3D {};=0A=
	}=0A=
=0A=
	// extend jQuery itself if only one argument is passed=0A=
	if ( length =3D=3D=3D i ) {=0A=
		target =3D this;=0A=
		--i;=0A=
	}=0A=
=0A=
	for ( ; i < length; i++ ) {=0A=
		// Only deal with non-null/undefined values=0A=
		if ( (options =3D arguments[ i ]) !=3D null ) {=0A=
			// Extend the base object=0A=
			for ( name in options ) {=0A=
				src =3D target[ name ];=0A=
				copy =3D options[ name ];=0A=
=0A=
				// Prevent never-ending loop=0A=
				if ( target =3D=3D=3D copy ) {=0A=
					continue;=0A=
				}=0A=
=0A=
				// Recurse if we're merging object literal values or arrays=0A=
				if ( deep && copy && ( jQuery.isPlainObject(copy) || =
jQuery.isArray(copy) ) ) {=0A=
					var clone =3D src && ( jQuery.isPlainObject(src) || =
jQuery.isArray(src) ) ? src=0A=
						: jQuery.isArray(copy) ? [] : {};=0A=
=0A=
					// Never move original objects, clone them=0A=
					target[ name ] =3D jQuery.extend( deep, clone, copy );=0A=
=0A=
				// Don't bring in undefined values=0A=
				} else if ( copy !=3D=3D undefined ) {=0A=
					target[ name ] =3D copy;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	// Return the modified object=0A=
	return target;=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	noConflict: function( deep ) {=0A=
		window.$ =3D _$;=0A=
=0A=
		if ( deep ) {=0A=
			window.jQuery =3D _jQuery;=0A=
		}=0A=
=0A=
		return jQuery;=0A=
	},=0A=
	=0A=
	// Is the DOM ready to be used? Set to true once it occurs.=0A=
	isReady: false,=0A=
	=0A=
	// Handle when the DOM is ready=0A=
	ready: function() {=0A=
		// Make sure that the DOM is not already loaded=0A=
		if ( !jQuery.isReady ) {=0A=
			// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).=0A=
			if ( !document.body ) {=0A=
				return setTimeout( jQuery.ready, 13 );=0A=
			}=0A=
=0A=
			// Remember that the DOM is ready=0A=
			jQuery.isReady =3D true;=0A=
=0A=
			// If there are functions bound, to execute=0A=
			if ( readyList ) {=0A=
				// Execute all of them=0A=
				var fn, i =3D 0;=0A=
				while ( (fn =3D readyList[ i++ ]) ) {=0A=
					fn.call( document, jQuery );=0A=
				}=0A=
=0A=
				// Reset the list of functions=0A=
				readyList =3D null;=0A=
			}=0A=
=0A=
			// Trigger any bound ready events=0A=
			if ( jQuery.fn.triggerHandler ) {=0A=
				jQuery( document ).triggerHandler( "ready" );=0A=
			}=0A=
		}=0A=
	},=0A=
	=0A=
	bindReady: function() {=0A=
		if ( readyBound ) {=0A=
			return;=0A=
		}=0A=
=0A=
		readyBound =3D true;=0A=
=0A=
		// Catch cases where $(document).ready() is called after the=0A=
		// browser event has already occurred.=0A=
		if ( document.readyState =3D=3D=3D "complete" ) {=0A=
			return jQuery.ready();=0A=
		}=0A=
=0A=
		// Mozilla, Opera and webkit nightlies currently support this event=0A=
		if ( document.addEventListener ) {=0A=
			// Use the handy event callback=0A=
			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );=0A=
			=0A=
			// A fallback to window.onload, that will always work=0A=
			window.addEventListener( "load", jQuery.ready, false );=0A=
=0A=
		// If IE event model is used=0A=
		} else if ( document.attachEvent ) {=0A=
			// ensure firing before onload,=0A=
			// maybe late but safe also for iframes=0A=
			document.attachEvent("onreadystatechange", DOMContentLoaded);=0A=
			=0A=
			// A fallback to window.onload, that will always work=0A=
			window.attachEvent( "onload", jQuery.ready );=0A=
=0A=
			// If IE and not a frame=0A=
			// continually check to see if the document is ready=0A=
			var toplevel =3D false;=0A=
=0A=
			try {=0A=
				toplevel =3D window.frameElement =3D=3D null;=0A=
			} catch(e) {}=0A=
=0A=
			if ( document.documentElement.doScroll && toplevel ) {=0A=
				doScrollCheck();=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// See test/unit/core.js for details concerning isFunction.=0A=
	// Since version 1.3, DOM methods and functions like alert=0A=
	// aren't supported. They return false on IE (#2968).=0A=
	isFunction: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Function]";=0A=
	},=0A=
=0A=
	isArray: function( obj ) {=0A=
		return toString.call(obj) =3D=3D=3D "[object Array]";=0A=
	},=0A=
=0A=
	isPlainObject: function( obj ) {=0A=
		// Must be an Object.=0A=
		// Because of IE, we also have to check the presence of the =
constructor property.=0A=
		// Make sure that DOM nodes and window objects don't pass through, as =
well=0A=
		if ( !obj || toString.call(obj) !=3D=3D "[object Object]" || =
obj.nodeType || obj.setInterval ) {=0A=
			return false;=0A=
		}=0A=
		=0A=
		// Not own constructor property must be Object=0A=
		if ( obj.constructor=0A=
			&& !hasOwnProperty.call(obj, "constructor")=0A=
			&& !hasOwnProperty.call(obj.constructor.prototype, "isPrototypeOf") ) =
{=0A=
			return false;=0A=
		}=0A=
		=0A=
		// Own properties are enumerated firstly, so to speed up,=0A=
		// if last one is own, then all properties are own.=0A=
	=0A=
		var key;=0A=
		for ( key in obj ) {}=0A=
		=0A=
		return key =3D=3D=3D undefined || hasOwnProperty.call( obj, key );=0A=
	},=0A=
=0A=
	isEmptyObject: function( obj ) {=0A=
		for ( var name in obj ) {=0A=
			return false;=0A=
		}=0A=
		return true;=0A=
	},=0A=
	=0A=
	error: function( msg ) {=0A=
		throw msg;=0A=
	},=0A=
	=0A=
	parseJSON: function( data ) {=0A=
		if ( typeof data !=3D=3D "string" || !data ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		// Make sure leading/trailing whitespace is removed (IE can't handle =
it)=0A=
		data =3D jQuery.trim( data );=0A=
		=0A=
		// Make sure the incoming data is actual JSON=0A=
		// Logic borrowed from http://json.org/json2.js=0A=
		if ( =
/^[\],:{}\s]*$/.test(data.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, =
"@")=0A=
			=
.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?=
/g, "]")=0A=
			.replace(/(?:^|:|,)(?:\s*\[)+/g, "")) ) {=0A=
=0A=
			// Try to use the native JSON parser first=0A=
			return window.JSON && window.JSON.parse ?=0A=
				window.JSON.parse( data ) :=0A=
				(new Function("return " + data))();=0A=
=0A=
		} else {=0A=
			jQuery.error( "Invalid JSON: " + data );=0A=
		}=0A=
	},=0A=
=0A=
	noop: function() {},=0A=
=0A=
	// Evalulates a script in a global context=0A=
	globalEval: function( data ) {=0A=
		if ( data && rnotwhite.test(data) ) {=0A=
			// Inspired by code by Andrea Giammarchi=0A=
			// =
http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom=
.html=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement,=0A=
				script =3D document.createElement("script");=0A=
=0A=
			script.type =3D "text/javascript";=0A=
=0A=
			if ( jQuery.support.scriptEval ) {=0A=
				script.appendChild( document.createTextNode( data ) );=0A=
			} else {=0A=
				script.text =3D data;=0A=
			}=0A=
=0A=
			// Use insertBefore instead of appendChild to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709).=0A=
			head.insertBefore( script, head.firstChild );=0A=
			head.removeChild( script );=0A=
		}=0A=
	},=0A=
=0A=
	nodeName: function( elem, name ) {=0A=
		return elem.nodeName && elem.nodeName.toUpperCase() =3D=3D=3D =
name.toUpperCase();=0A=
	},=0A=
=0A=
	// args is for internal usage only=0A=
	each: function( object, callback, args ) {=0A=
		var name, i =3D 0,=0A=
			length =3D object.length,=0A=
			isObj =3D length =3D=3D=3D undefined || jQuery.isFunction(object);=0A=
=0A=
		if ( args ) {=0A=
			if ( isObj ) {=0A=
				for ( name in object ) {=0A=
					if ( callback.apply( object[ name ], args ) =3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( ; i < length; ) {=0A=
					if ( callback.apply( object[ i++ ], args ) =3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
		// A special, fast, case for the most common use of each=0A=
		} else {=0A=
			if ( isObj ) {=0A=
				for ( name in object ) {=0A=
					if ( callback.call( object[ name ], name, object[ name ] ) =
=3D=3D=3D false ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var value =3D object[0];=0A=
					i < length && callback.call( value, i, value ) !=3D=3D false; value =
=3D object[++i] ) {}=0A=
			}=0A=
		}=0A=
=0A=
		return object;=0A=
	},=0A=
=0A=
	trim: function( text ) {=0A=
		return (text || "").replace( rtrim, "" );=0A=
	},=0A=
=0A=
	// results is for internal usage only=0A=
	makeArray: function( array, results ) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( array !=3D null ) {=0A=
			// The window, strings (and functions) also have 'length'=0A=
			// The extra typeof function check is to prevent crashes=0A=
			// in Safari 2 (See: #3039)=0A=
			if ( array.length =3D=3D null || typeof array =3D=3D=3D "string" || =
jQuery.isFunction(array) || (typeof array !=3D=3D "function" && =
array.setInterval) ) {=0A=
				push.call( ret, array );=0A=
			} else {=0A=
				jQuery.merge( ret, array );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	inArray: function( elem, array ) {=0A=
		if ( array.indexOf ) {=0A=
			return array.indexOf( elem );=0A=
		}=0A=
=0A=
		for ( var i =3D 0, length =3D array.length; i < length; i++ ) {=0A=
			if ( array[ i ] =3D=3D=3D elem ) {=0A=
				return i;=0A=
			}=0A=
		}=0A=
=0A=
		return -1;=0A=
	},=0A=
=0A=
	merge: function( first, second ) {=0A=
		var i =3D first.length, j =3D 0;=0A=
=0A=
		if ( typeof second.length =3D=3D=3D "number" ) {=0A=
			for ( var l =3D second.length; j < l; j++ ) {=0A=
				first[ i++ ] =3D second[ j ];=0A=
			}=0A=
		=0A=
		} else {=0A=
			while ( second[j] !=3D=3D undefined ) {=0A=
				first[ i++ ] =3D second[ j++ ];=0A=
			}=0A=
		}=0A=
=0A=
		first.length =3D i;=0A=
=0A=
		return first;=0A=
	},=0A=
=0A=
	grep: function( elems, callback, inv ) {=0A=
		var ret =3D [];=0A=
=0A=
		// Go through the array, only saving the items=0A=
		// that pass the validator function=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			if ( !inv !=3D=3D !callback( elems[ i ], i ) ) {=0A=
				ret.push( elems[ i ] );=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	// arg is for internal usage only=0A=
	map: function( elems, callback, arg ) {=0A=
		var ret =3D [], value;=0A=
=0A=
		// Go through the array, translating each of the items to their=0A=
		// new value (or values).=0A=
		for ( var i =3D 0, length =3D elems.length; i < length; i++ ) {=0A=
			value =3D callback( elems[ i ], i, arg );=0A=
=0A=
			if ( value !=3D null ) {=0A=
				ret[ ret.length ] =3D value;=0A=
			}=0A=
		}=0A=
=0A=
		return ret.concat.apply( [], ret );=0A=
	},=0A=
=0A=
	// A global GUID counter for objects=0A=
	guid: 1,=0A=
=0A=
	proxy: function( fn, proxy, thisObject ) {=0A=
		if ( arguments.length =3D=3D=3D 2 ) {=0A=
			if ( typeof proxy =3D=3D=3D "string" ) {=0A=
				thisObject =3D fn;=0A=
				fn =3D thisObject[ proxy ];=0A=
				proxy =3D undefined;=0A=
=0A=
			} else if ( proxy && !jQuery.isFunction( proxy ) ) {=0A=
				thisObject =3D proxy;=0A=
				proxy =3D undefined;=0A=
			}=0A=
		}=0A=
=0A=
		if ( !proxy && fn ) {=0A=
			proxy =3D function() {=0A=
				return fn.apply( thisObject || this, arguments );=0A=
			};=0A=
		}=0A=
=0A=
		// Set the guid of unique handler to the same of original handler, so =
it can be removed=0A=
		if ( fn ) {=0A=
			proxy.guid =3D fn.guid =3D fn.guid || proxy.guid || jQuery.guid++;=0A=
		}=0A=
=0A=
		// So proxy can be declared as an argument=0A=
		return proxy;=0A=
	},=0A=
=0A=
	// Use of jQuery.browser is frowned upon.=0A=
	// More details: http://docs.jquery.com/Utilities/jQuery.browser=0A=
	uaMatch: function( ua ) {=0A=
		ua =3D ua.toLowerCase();=0A=
=0A=
		var match =3D /(webkit)[ \/]([\w.]+)/.exec( ua ) ||=0A=
			/(opera)(?:.*version)?[ \/]([\w.]+)/.exec( ua ) ||=0A=
			/(msie) ([\w.]+)/.exec( ua ) ||=0A=
			!/compatible/.test( ua ) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec( ua =
) ||=0A=
		  	[];=0A=
=0A=
		return { browser: match[1] || "", version: match[2] || "0" };=0A=
	},=0A=
=0A=
	browser: {}=0A=
});=0A=
=0A=
browserMatch =3D jQuery.uaMatch( userAgent );=0A=
if ( browserMatch.browser ) {=0A=
	jQuery.browser[ browserMatch.browser ] =3D true;=0A=
	jQuery.browser.version =3D browserMatch.version;=0A=
}=0A=
=0A=
// Deprecated, use jQuery.browser.webkit instead=0A=
if ( jQuery.browser.webkit ) {=0A=
	jQuery.browser.safari =3D true;=0A=
}=0A=
=0A=
if ( indexOf ) {=0A=
	jQuery.inArray =3D function( elem, array ) {=0A=
		return indexOf.call( array, elem );=0A=
	};=0A=
}=0A=
=0A=
// All jQuery objects should point back to these=0A=
rootjQuery =3D jQuery(document);=0A=
=0A=
// Cleanup functions for the document ready method=0A=
if ( document.addEventListener ) {=0A=
	DOMContentLoaded =3D function() {=0A=
		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, =
false );=0A=
		jQuery.ready();=0A=
	};=0A=
=0A=
} else if ( document.attachEvent ) {=0A=
	DOMContentLoaded =3D function() {=0A=
		// Make sure body exists, at least, in case IE gets a little =
overzealous (ticket #5443).=0A=
		if ( document.readyState =3D=3D=3D "complete" ) {=0A=
			document.detachEvent( "onreadystatechange", DOMContentLoaded );=0A=
			jQuery.ready();=0A=
		}=0A=
	};=0A=
}=0A=
=0A=
// The DOM ready check for Internet Explorer=0A=
function doScrollCheck() {=0A=
	if ( jQuery.isReady ) {=0A=
		return;=0A=
	}=0A=
=0A=
	try {=0A=
		// If IE is used, use the trick by Diego Perini=0A=
		// http://javascript.nwbox.com/IEContentLoaded/=0A=
		document.documentElement.doScroll("left");=0A=
	} catch( error ) {=0A=
		setTimeout( doScrollCheck, 1 );=0A=
		return;=0A=
	}=0A=
=0A=
	// and execute any waiting functions=0A=
	jQuery.ready();=0A=
}=0A=
=0A=
function evalScript( i, elem ) {=0A=
	if ( elem.src ) {=0A=
		jQuery.ajax({=0A=
			url: elem.src,=0A=
			async: false,=0A=
			dataType: "script"=0A=
		});=0A=
	} else {=0A=
		jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || =
"" );=0A=
	}=0A=
=0A=
	if ( elem.parentNode ) {=0A=
		elem.parentNode.removeChild( elem );=0A=
	}=0A=
}=0A=
=0A=
// Mutifunctional method to get and set values to a collection=0A=
// The value/s can be optionally by executed if its a function=0A=
function access( elems, key, value, exec, fn, pass ) {=0A=
	var length =3D elems.length;=0A=
	=0A=
	// Setting many attributes=0A=
	if ( typeof key =3D=3D=3D "object" ) {=0A=
		for ( var k in key ) {=0A=
			access( elems, k, key[k], exec, fn, value );=0A=
		}=0A=
		return elems;=0A=
	}=0A=
	=0A=
	// Setting one attribute=0A=
	if ( value !=3D=3D undefined ) {=0A=
		// Optionally, function values get executed if exec is true=0A=
		exec =3D !pass && exec && jQuery.isFunction(value);=0A=
		=0A=
		for ( var i =3D 0; i < length; i++ ) {=0A=
			fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key =
) ) : value, pass );=0A=
		}=0A=
		=0A=
		return elems;=0A=
	}=0A=
	=0A=
	// Getting an attribute=0A=
	return length ? fn( elems[0], key ) : undefined;=0A=
}=0A=
=0A=
function now() {=0A=
	return (new Date).getTime();=0A=
}=0A=
(function() {=0A=
=0A=
	jQuery.support =3D {};=0A=
=0A=
	var root =3D document.documentElement,=0A=
		script =3D document.createElement("script"),=0A=
		div =3D document.createElement("div"),=0A=
		id =3D "script" + now();=0A=
=0A=
	div.style.display =3D "none";=0A=
	div.innerHTML =3D "   <link/><table></table><a href=3D'/a' =
style=3D'color:red;float:left;opacity:.55;'>a</a><input =
type=3D'checkbox'/>";=0A=
=0A=
	var all =3D div.getElementsByTagName("*"),=0A=
		a =3D div.getElementsByTagName("a")[0];=0A=
=0A=
	// Can't get basic test support=0A=
	if ( !all || !all.length || !a ) {=0A=
		return;=0A=
	}=0A=
=0A=
	jQuery.support =3D {=0A=
		// IE strips leading whitespace when .innerHTML is used=0A=
		leadingWhitespace: div.firstChild.nodeType =3D=3D=3D 3,=0A=
=0A=
		// Make sure that tbody elements aren't automatically inserted=0A=
		// IE will insert them into empty tables=0A=
		tbody: !div.getElementsByTagName("tbody").length,=0A=
=0A=
		// Make sure that link elements get serialized correctly by innerHTML=0A=
		// This requires a wrapper element in IE=0A=
		htmlSerialize: !!div.getElementsByTagName("link").length,=0A=
=0A=
		// Get the style information from getAttribute=0A=
		// (IE uses .cssText insted)=0A=
		style: /red/.test( a.getAttribute("style") ),=0A=
=0A=
		// Make sure that URLs aren't manipulated=0A=
		// (IE normalizes it by default)=0A=
		hrefNormalized: a.getAttribute("href") =3D=3D=3D "/a",=0A=
=0A=
		// Make sure that element opacity exists=0A=
		// (IE uses filter instead)=0A=
		// Use a regex to work around a WebKit issue. See #5145=0A=
		opacity: /^0.55$/.test( a.style.opacity ),=0A=
=0A=
		// Verify style float existence=0A=
		// (IE uses styleFloat instead of cssFloat)=0A=
		cssFloat: !!a.style.cssFloat,=0A=
=0A=
		// Make sure that if no value is specified for a checkbox=0A=
		// that it defaults to "on".=0A=
		// (WebKit defaults to "" instead)=0A=
		checkOn: div.getElementsByTagName("input")[0].value =3D=3D=3D "on",=0A=
=0A=
		// Make sure that a selected-by-default option has a working selected =
property.=0A=
		// (WebKit defaults to false instead of true, IE too, if it's in an =
optgroup)=0A=
		optSelected: document.createElement("select").appendChild( =
document.createElement("option") ).selected,=0A=
=0A=
		parentNode: div.removeChild( div.appendChild( =
document.createElement("div") ) ).parentNode =3D=3D=3D null,=0A=
=0A=
		// Will be defined later=0A=
		deleteExpando: true,=0A=
		checkClone: false,=0A=
		scriptEval: false,=0A=
		noCloneEvent: true,=0A=
		boxModel: null=0A=
	};=0A=
=0A=
	script.type =3D "text/javascript";=0A=
	try {=0A=
		script.appendChild( document.createTextNode( "window." + id + "=3D1;" =
) );=0A=
	} catch(e) {}=0A=
=0A=
	root.insertBefore( script, root.firstChild );=0A=
=0A=
	// Make sure that the execution of code works by injecting a script=0A=
	// tag with appendChild/createTextNode=0A=
	// (IE doesn't support this, fails, and uses .text instead)=0A=
	if ( window[ id ] ) {=0A=
		jQuery.support.scriptEval =3D true;=0A=
		delete window[ id ];=0A=
	}=0A=
=0A=
	// Test to see if it's possible to delete an expando from an element=0A=
	// Fails in Internet Explorer=0A=
	try {=0A=
		delete script.test;=0A=
	=0A=
	} catch(e) {=0A=
		jQuery.support.deleteExpando =3D false;=0A=
	}=0A=
=0A=
	root.removeChild( script );=0A=
=0A=
	if ( div.attachEvent && div.fireEvent ) {=0A=
		div.attachEvent("onclick", function click() {=0A=
			// Cloning a node shouldn't copy over any=0A=
			// bound event handlers (IE does this)=0A=
			jQuery.support.noCloneEvent =3D false;=0A=
			div.detachEvent("onclick", click);=0A=
		});=0A=
		div.cloneNode(true).fireEvent("onclick");=0A=
	}=0A=
=0A=
	div =3D document.createElement("div");=0A=
	div.innerHTML =3D "<input type=3D'radio' name=3D'radiotest' =
checked=3D'checked'/>";=0A=
=0A=
	var fragment =3D document.createDocumentFragment();=0A=
	fragment.appendChild( div.firstChild );=0A=
=0A=
	// WebKit doesn't clone checked state correctly in fragments=0A=
	jQuery.support.checkClone =3D =
fragment.cloneNode(true).cloneNode(true).lastChild.checked;=0A=
=0A=
	// Figure out if the W3C box model works as expected=0A=
	// document.body must exist before we can do this=0A=
	jQuery(function() {=0A=
		var div =3D document.createElement("div");=0A=
		div.style.width =3D div.style.paddingLeft =3D "1px";=0A=
=0A=
		document.body.appendChild( div );=0A=
		jQuery.boxModel =3D jQuery.support.boxModel =3D div.offsetWidth =
=3D=3D=3D 2;=0A=
		document.body.removeChild( div ).style.display =3D 'none';=0A=
=0A=
		div =3D null;=0A=
	});=0A=
=0A=
	// Technique from Juriy Zaytsev=0A=
	// =
http://thinkweb2.com/projects/prototype/detecting-event-support-without-b=
rowser-sniffing/=0A=
	var eventSupported =3D function( eventName ) { =0A=
		var el =3D document.createElement("div"); =0A=
		eventName =3D "on" + eventName; =0A=
=0A=
		var isSupported =3D (eventName in el); =0A=
		if ( !isSupported ) { =0A=
			el.setAttribute(eventName, "return;"); =0A=
			isSupported =3D typeof el[eventName] =3D=3D=3D "function"; =0A=
		} =0A=
		el =3D null; =0A=
=0A=
		return isSupported; =0A=
	};=0A=
	=0A=
	jQuery.support.submitBubbles =3D eventSupported("submit");=0A=
	jQuery.support.changeBubbles =3D eventSupported("change");=0A=
=0A=
	// release memory in IE=0A=
	root =3D script =3D div =3D all =3D a =3D null;=0A=
})();=0A=
=0A=
jQuery.props =3D {=0A=
	"for": "htmlFor",=0A=
	"class": "className",=0A=
	readonly: "readOnly",=0A=
	maxlength: "maxLength",=0A=
	cellspacing: "cellSpacing",=0A=
	rowspan: "rowSpan",=0A=
	colspan: "colSpan",=0A=
	tabindex: "tabIndex",=0A=
	usemap: "useMap",=0A=
	frameborder: "frameBorder"=0A=
};=0A=
var expando =3D "jQuery" + now(), uuid =3D 0, windowData =3D {};=0A=
=0A=
jQuery.extend({=0A=
	cache: {},=0A=
	=0A=
	expando:expando,=0A=
=0A=
	// The following elements throw uncatchable exceptions if you=0A=
	// attempt to add expando properties to them.=0A=
	noData: {=0A=
		"embed": true,=0A=
		"object": true,=0A=
		"applet": true=0A=
	},=0A=
=0A=
	data: function( elem, name, data ) {=0A=
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {=0A=
			return;=0A=
		}=0A=
=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache;=0A=
=0A=
		if ( !id && typeof name =3D=3D=3D "string" && data =3D=3D=3D undefined =
) {=0A=
			return null;=0A=
		}=0A=
=0A=
		// Compute a unique ID for the element=0A=
		if ( !id ) { =0A=
			id =3D ++uuid;=0A=
		}=0A=
=0A=
		// Avoid generating a new cache unless none exists and we=0A=
		// want to manipulate it.=0A=
		if ( typeof name =3D=3D=3D "object" ) {=0A=
			elem[ expando ] =3D id;=0A=
			thisCache =3D cache[ id ] =3D jQuery.extend(true, {}, name);=0A=
=0A=
		} else if ( !cache[ id ] ) {=0A=
			elem[ expando ] =3D id;=0A=
			cache[ id ] =3D {};=0A=
		}=0A=
=0A=
		thisCache =3D cache[ id ];=0A=
=0A=
		// Prevent overriding the named cache with undefined values=0A=
		if ( data !=3D=3D undefined ) {=0A=
			thisCache[ name ] =3D data;=0A=
		}=0A=
=0A=
		return typeof name =3D=3D=3D "string" ? thisCache[ name ] : thisCache;=0A=
	},=0A=
=0A=
	removeData: function( elem, name ) {=0A=
		if ( elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()] ) {=0A=
			return;=0A=
		}=0A=
=0A=
		elem =3D elem =3D=3D window ?=0A=
			windowData :=0A=
			elem;=0A=
=0A=
		var id =3D elem[ expando ], cache =3D jQuery.cache, thisCache =3D =
cache[ id ];=0A=
=0A=
		// If we want to remove a specific section of the element's data=0A=
		if ( name ) {=0A=
			if ( thisCache ) {=0A=
				// Remove the section of cache data=0A=
				delete thisCache[ name ];=0A=
=0A=
				// If we've removed all the data, remove the element's cache=0A=
				if ( jQuery.isEmptyObject(thisCache) ) {=0A=
					jQuery.removeData( elem );=0A=
				}=0A=
			}=0A=
=0A=
		// Otherwise, we want to remove all of the element's data=0A=
		} else {=0A=
			if ( jQuery.support.deleteExpando ) {=0A=
				delete elem[ jQuery.expando ];=0A=
=0A=
			} else if ( elem.removeAttribute ) {=0A=
				elem.removeAttribute( jQuery.expando );=0A=
			}=0A=
=0A=
			// Completely remove the data cache=0A=
			delete cache[ id ];=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	data: function( key, value ) {=0A=
		if ( typeof key =3D=3D=3D "undefined" && this.length ) {=0A=
			return jQuery.data( this[0] );=0A=
=0A=
		} else if ( typeof key =3D=3D=3D "object" ) {=0A=
			return this.each(function() {=0A=
				jQuery.data( this, key );=0A=
			});=0A=
		}=0A=
=0A=
		var parts =3D key.split(".");=0A=
		parts[1] =3D parts[1] ? "." + parts[1] : "";=0A=
=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var data =3D this.triggerHandler("getData" + parts[1] + "!", =
[parts[0]]);=0A=
=0A=
			if ( data =3D=3D=3D undefined && this.length ) {=0A=
				data =3D jQuery.data( this[0], key );=0A=
			}=0A=
			return data =3D=3D=3D undefined && parts[1] ?=0A=
				this.data( parts[0] ) :=0A=
				data;=0A=
		} else {=0A=
			return this.trigger("setData" + parts[1] + "!", [parts[0], =
value]).each(function() {=0A=
				jQuery.data( this, key, value );=0A=
			});=0A=
		}=0A=
	},=0A=
=0A=
	removeData: function( key ) {=0A=
		return this.each(function() {=0A=
			jQuery.removeData( this, key );=0A=
		});=0A=
	}=0A=
});=0A=
jQuery.extend({=0A=
	queue: function( elem, type, data ) {=0A=
		if ( !elem ) {=0A=
			return;=0A=
		}=0A=
=0A=
		type =3D (type || "fx") + "queue";=0A=
		var q =3D jQuery.data( elem, type );=0A=
=0A=
		// Speed up dequeue by getting out quickly if this is just a lookup=0A=
		if ( !data ) {=0A=
			return q || [];=0A=
		}=0A=
=0A=
		if ( !q || jQuery.isArray(data) ) {=0A=
			q =3D jQuery.data( elem, type, jQuery.makeArray(data) );=0A=
=0A=
		} else {=0A=
			q.push( data );=0A=
		}=0A=
=0A=
		return q;=0A=
	},=0A=
=0A=
	dequeue: function( elem, type ) {=0A=
		type =3D type || "fx";=0A=
=0A=
		var queue =3D jQuery.queue( elem, type ), fn =3D queue.shift();=0A=
=0A=
		// If the fx queue is dequeued, always remove the progress sentinel=0A=
		if ( fn =3D=3D=3D "inprogress" ) {=0A=
			fn =3D queue.shift();=0A=
		}=0A=
=0A=
		if ( fn ) {=0A=
			// Add a progress sentinel to prevent the fx queue from being=0A=
			// automatically dequeued=0A=
			if ( type =3D=3D=3D "fx" ) {=0A=
				queue.unshift("inprogress");=0A=
			}=0A=
=0A=
			fn.call(elem, function() {=0A=
				jQuery.dequeue(elem, type);=0A=
			});=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	queue: function( type, data ) {=0A=
		if ( typeof type !=3D=3D "string" ) {=0A=
			data =3D type;=0A=
			type =3D "fx";=0A=
		}=0A=
=0A=
		if ( data =3D=3D=3D undefined ) {=0A=
			return jQuery.queue( this[0], type );=0A=
		}=0A=
		return this.each(function( i, elem ) {=0A=
			var queue =3D jQuery.queue( this, type, data );=0A=
=0A=
			if ( type =3D=3D=3D "fx" && queue[0] !=3D=3D "inprogress" ) {=0A=
				jQuery.dequeue( this, type );=0A=
			}=0A=
		});=0A=
	},=0A=
	dequeue: function( type ) {=0A=
		return this.each(function() {=0A=
			jQuery.dequeue( this, type );=0A=
		});=0A=
	},=0A=
=0A=
	// Based off of the plugin by Clint Helfers, with permission.=0A=
	// http://blindsignals.com/index.php/2009/07/jquery-delay/=0A=
	delay: function( time, type ) {=0A=
		time =3D jQuery.fx ? jQuery.fx.speeds[time] || time : time;=0A=
		type =3D type || "fx";=0A=
=0A=
		return this.queue( type, function() {=0A=
			var elem =3D this;=0A=
			setTimeout(function() {=0A=
				jQuery.dequeue( elem, type );=0A=
			}, time );=0A=
		});=0A=
	},=0A=
=0A=
	clearQueue: function( type ) {=0A=
		return this.queue( type || "fx", [] );=0A=
	}=0A=
});=0A=
var rclass =3D /[\n\t]/g,=0A=
	rspace =3D /\s+/,=0A=
	rreturn =3D /\r/g,=0A=
	rspecialurl =3D /href|src|style/,=0A=
	rtype =3D /(button|input)/i,=0A=
	rfocusable =3D /(button|input|object|select|textarea)/i,=0A=
	rclickable =3D /^(a|area)$/i,=0A=
	rradiocheck =3D /radio|checkbox/;=0A=
=0A=
jQuery.fn.extend({=0A=
	attr: function( name, value ) {=0A=
		return access( this, name, value, true, jQuery.attr );=0A=
	},=0A=
=0A=
	removeAttr: function( name, fn ) {=0A=
		return this.each(function(){=0A=
			jQuery.attr( this, name, "" );=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.removeAttribute( name );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	addClass: function( value ) {=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.addClass( value.call(this, i, self.attr("class")) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( value && typeof value =3D=3D=3D "string" ) {=0A=
			var classNames =3D (value || "").split( rspace );=0A=
=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var elem =3D this[i];=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !elem.className ) {=0A=
						elem.className =3D value;=0A=
=0A=
					} else {=0A=
						var className =3D " " + elem.className + " ", setClass =3D =
elem.className;=0A=
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {=0A=
							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {=0A=
								setClass +=3D " " + classNames[c];=0A=
							}=0A=
						}=0A=
						elem.className =3D jQuery.trim( setClass );=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	removeClass: function( value ) {=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.removeClass( value.call(this, i, self.attr("class")) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( (value && typeof value =3D=3D=3D "string") || value =3D=3D=3D =
undefined ) {=0A=
			var classNames =3D (value || "").split(rspace);=0A=
=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var elem =3D this[i];=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && elem.className ) {=0A=
					if ( value ) {=0A=
						var className =3D (" " + elem.className + " ").replace(rclass, " =
");=0A=
						for ( var c =3D 0, cl =3D classNames.length; c < cl; c++ ) {=0A=
							className =3D className.replace(" " + classNames[c] + " ", " ");=0A=
						}=0A=
						elem.className =3D jQuery.trim( className );=0A=
=0A=
					} else {=0A=
						elem.className =3D "";=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	toggleClass: function( value, stateVal ) {=0A=
		var type =3D typeof value, isBool =3D typeof stateVal =3D=3D=3D =
"boolean";=0A=
=0A=
		if ( jQuery.isFunction( value ) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), =
stateVal );=0A=
			});=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			if ( type =3D=3D=3D "string" ) {=0A=
				// toggle individual class names=0A=
				var className, i =3D 0, self =3D jQuery(this),=0A=
					state =3D stateVal,=0A=
					classNames =3D value.split( rspace );=0A=
=0A=
				while ( (className =3D classNames[ i++ ]) ) {=0A=
					// check each className given, space seperated list=0A=
					state =3D isBool ? state : !self.hasClass( className );=0A=
					self[ state ? "addClass" : "removeClass" ]( className );=0A=
				}=0A=
=0A=
			} else if ( type =3D=3D=3D "undefined" || type =3D=3D=3D "boolean" ) {=0A=
				if ( this.className ) {=0A=
					// store className if set=0A=
					jQuery.data( this, "__className__", this.className );=0A=
				}=0A=
=0A=
				// toggle whole className=0A=
				this.className =3D this.className || value =3D=3D=3D false ? "" : =
jQuery.data( this, "__className__" ) || "";=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	hasClass: function( selector ) {=0A=
		var className =3D " " + selector + " ";=0A=
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( =
className ) > -1 ) {=0A=
				return true;=0A=
			}=0A=
		}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	val: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			var elem =3D this[0];=0A=
=0A=
			if ( elem ) {=0A=
				if ( jQuery.nodeName( elem, "option" ) ) {=0A=
					return (elem.attributes.value || {}).specified ? elem.value : =
elem.text;=0A=
				}=0A=
=0A=
				// We need to handle select boxes special=0A=
				if ( jQuery.nodeName( elem, "select" ) ) {=0A=
					var index =3D elem.selectedIndex,=0A=
						values =3D [],=0A=
						options =3D elem.options,=0A=
						one =3D elem.type =3D=3D=3D "select-one";=0A=
=0A=
					// Nothing was selected=0A=
					if ( index < 0 ) {=0A=
						return null;=0A=
					}=0A=
=0A=
					// Loop through all the selected options=0A=
					for ( var i =3D one ? index : 0, max =3D one ? index + 1 : =
options.length; i < max; i++ ) {=0A=
						var option =3D options[ i ];=0A=
=0A=
						if ( option.selected ) {=0A=
							// Get the specifc value for the option=0A=
							value =3D jQuery(option).val();=0A=
=0A=
							// We don't need an array for one selects=0A=
							if ( one ) {=0A=
								return value;=0A=
							}=0A=
=0A=
							// Multi-Selects return an array=0A=
							values.push( value );=0A=
						}=0A=
					}=0A=
=0A=
					return values;=0A=
				}=0A=
=0A=
				// Handle the case where in Webkit "" is returned instead of "on" if =
a value isn't specified=0A=
				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) {=0A=
					return elem.getAttribute("value") =3D=3D=3D null ? "on" : =
elem.value;=0A=
				}=0A=
				=0A=
=0A=
				// Everything else, we just grab the value=0A=
				return (elem.value || "").replace(rreturn, "");=0A=
=0A=
			}=0A=
=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var isFunction =3D jQuery.isFunction(value);=0A=
=0A=
		return this.each(function(i) {=0A=
			var self =3D jQuery(this), val =3D value;=0A=
=0A=
			if ( this.nodeType !=3D=3D 1 ) {=0A=
				return;=0A=
			}=0A=
=0A=
			if ( isFunction ) {=0A=
				val =3D value.call(this, i, self.val());=0A=
			}=0A=
=0A=
			// Typecast each time if the value is a Function and the appended=0A=
			// value is therefore different each time.=0A=
			if ( typeof val =3D=3D=3D "number" ) {=0A=
				val +=3D "";=0A=
			}=0A=
=0A=
			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {=0A=
				this.checked =3D jQuery.inArray( self.val(), val ) >=3D 0;=0A=
=0A=
			} else if ( jQuery.nodeName( this, "select" ) ) {=0A=
				var values =3D jQuery.makeArray(val);=0A=
=0A=
				jQuery( "option", this ).each(function() {=0A=
					this.selected =3D jQuery.inArray( jQuery(this).val(), values ) >=3D =
0;=0A=
				});=0A=
=0A=
				if ( !values.length ) {=0A=
					this.selectedIndex =3D -1;=0A=
				}=0A=
=0A=
			} else {=0A=
				this.value =3D val;=0A=
			}=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	attrFn: {=0A=
		val: true,=0A=
		css: true,=0A=
		html: true,=0A=
		text: true,=0A=
		data: true,=0A=
		width: true,=0A=
		height: true,=0A=
		offset: true=0A=
	},=0A=
		=0A=
	attr: function( elem, name, value, pass ) {=0A=
		// don't set attributes on text and comment nodes=0A=
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{=0A=
			return undefined;=0A=
		}=0A=
=0A=
		if ( pass && name in jQuery.attrFn ) {=0A=
			return jQuery(elem)[name](value);=0A=
		}=0A=
=0A=
		var notxml =3D elem.nodeType !=3D=3D 1 || !jQuery.isXMLDoc( elem ),=0A=
			// Whether we are setting (or getting)=0A=
			set =3D value !=3D=3D undefined;=0A=
=0A=
		// Try to normalize/fix the name=0A=
		name =3D notxml && jQuery.props[ name ] || name;=0A=
=0A=
		// Only do all the following if this is a node (faster for style)=0A=
		if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
			// These attributes require special treatment=0A=
			var special =3D rspecialurl.test( name );=0A=
=0A=
			// Safari mis-reports the default selected property of an option=0A=
			// Accessing the parent's selectedIndex property fixes it=0A=
			if ( name =3D=3D=3D "selected" && !jQuery.support.optSelected ) {=0A=
				var parent =3D elem.parentNode;=0A=
				if ( parent ) {=0A=
					parent.selectedIndex;=0A=
	=0A=
					// Make sure that it also works with optgroups, see #5701=0A=
					if ( parent.parentNode ) {=0A=
						parent.parentNode.selectedIndex;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			// If applicable, access the attribute via the DOM 0 way=0A=
			if ( name in elem && notxml && !special ) {=0A=
				if ( set ) {=0A=
					// We can't allow the type property to be changed (since it causes =
problems in IE)=0A=
					if ( name =3D=3D=3D "type" && rtype.test( elem.nodeName ) && =
elem.parentNode ) {=0A=
						jQuery.error( "type property can't be changed" );=0A=
					}=0A=
=0A=
					elem[ name ] =3D value;=0A=
				}=0A=
=0A=
				// browsers index elements by id/name on forms, give priority to =
attributes.=0A=
				if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) =
) {=0A=
					return elem.getAttributeNode( name ).nodeValue;=0A=
				}=0A=
=0A=
				// elem.tabIndex doesn't always return the correct value when it =
hasn't been explicitly set=0A=
				// =
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabi=
ndex-values-with-javascript/=0A=
				if ( name =3D=3D=3D "tabIndex" ) {=0A=
					var attributeNode =3D elem.getAttributeNode( "tabIndex" );=0A=
=0A=
					return attributeNode && attributeNode.specified ?=0A=
						attributeNode.value :=0A=
						rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName =
) && elem.href ?=0A=
							0 :=0A=
							undefined;=0A=
				}=0A=
=0A=
				return elem[ name ];=0A=
			}=0A=
=0A=
			if ( !jQuery.support.style && notxml && name =3D=3D=3D "style" ) {=0A=
				if ( set ) {=0A=
					elem.style.cssText =3D "" + value;=0A=
				}=0A=
=0A=
				return elem.style.cssText;=0A=
			}=0A=
=0A=
			if ( set ) {=0A=
				// convert the value to a string (all browsers do this but IE) see =
#1070=0A=
				elem.setAttribute( name, "" + value );=0A=
			}=0A=
=0A=
			var attr =3D !jQuery.support.hrefNormalized && notxml && special ?=0A=
					// Some attributes require a special call on IE=0A=
					elem.getAttribute( name, 2 ) :=0A=
					elem.getAttribute( name );=0A=
=0A=
			// Non-existent attributes return null, we normalize to undefined=0A=
			return attr =3D=3D=3D null ? undefined : attr;=0A=
		}=0A=
=0A=
		// elem is actually elem.style ... set the style=0A=
		// Using attr for specific style information is now deprecated. Use =
style instead.=0A=
		return jQuery.style( elem, name, value );=0A=
	}=0A=
});=0A=
var rnamespaces =3D /\.(.*)$/,=0A=
	fcleanup =3D function( nm ) {=0A=
		return nm.replace(/[^\w\s\.\|`]/g, function( ch ) {=0A=
			return "\\" + ch;=0A=
		});=0A=
	};=0A=
=0A=
/*=0A=
 * A number of helper functions used for managing events.=0A=
 * Many of the ideas behind this code originated from=0A=
 * Dean Edwards' addEvent library.=0A=
 */=0A=
jQuery.event =3D {=0A=
=0A=
	// Bind an event to an element=0A=
	// Original by Dean Edwards=0A=
	add: function( elem, types, handler, data ) {=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// For whatever reason, IE has trouble passing the window object=0A=
		// around, causing it to be cloned in the process=0A=
		if ( elem.setInterval && ( elem !=3D=3D window && !elem.frameElement ) =
) {=0A=
			elem =3D window;=0A=
		}=0A=
=0A=
		var handleObjIn, handleObj;=0A=
=0A=
		if ( handler.handler ) {=0A=
			handleObjIn =3D handler;=0A=
			handler =3D handleObjIn.handler;=0A=
		}=0A=
=0A=
		// Make sure that the function being executed has a unique ID=0A=
		if ( !handler.guid ) {=0A=
			handler.guid =3D jQuery.guid++;=0A=
		}=0A=
=0A=
		// Init the element's event structure=0A=
		var elemData =3D jQuery.data( elem );=0A=
=0A=
		// If no elemData is found then we must be trying to bind to one of the=0A=
		// banned noData elements=0A=
		if ( !elemData ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var events =3D elemData.events =3D elemData.events || {},=0A=
			eventHandle =3D elemData.handle, eventHandle;=0A=
=0A=
		if ( !eventHandle ) {=0A=
			elemData.handle =3D eventHandle =3D function() {=0A=
				// Handle the second event of a trigger and when=0A=
				// an event is called after a page has unloaded=0A=
				return typeof jQuery !=3D=3D "undefined" && !jQuery.event.triggered ?=0A=
					jQuery.event.handle.apply( eventHandle.elem, arguments ) :=0A=
					undefined;=0A=
			};=0A=
		}=0A=
=0A=
		// Add elem as a property of the handle function=0A=
		// This is to prevent a memory leak with non-native events in IE.=0A=
		eventHandle.elem =3D elem;=0A=
=0A=
		// Handle multiple events separated by a space=0A=
		// jQuery(...).bind("mouseover mouseout", fn);=0A=
		types =3D types.split(" ");=0A=
=0A=
		var type, i =3D 0, namespaces;=0A=
=0A=
		while ( (type =3D types[ i++ ]) ) {=0A=
			handleObj =3D handleObjIn ?=0A=
				jQuery.extend({}, handleObjIn) :=0A=
				{ handler: handler, data: data };=0A=
=0A=
			// Namespaced event handlers=0A=
			if ( type.indexOf(".") > -1 ) {=0A=
				namespaces =3D type.split(".");=0A=
				type =3D namespaces.shift();=0A=
				handleObj.namespace =3D namespaces.slice(0).sort().join(".");=0A=
=0A=
			} else {=0A=
				namespaces =3D [];=0A=
				handleObj.namespace =3D "";=0A=
			}=0A=
=0A=
			handleObj.type =3D type;=0A=
			handleObj.guid =3D handler.guid;=0A=
=0A=
			// Get the current list of functions bound to this event=0A=
			var handlers =3D events[ type ],=0A=
				special =3D jQuery.event.special[ type ] || {};=0A=
=0A=
			// Init the event handler queue=0A=
			if ( !handlers ) {=0A=
				handlers =3D events[ type ] =3D [];=0A=
=0A=
				// Check for a special event handler=0A=
				// Only use addEventListener/attachEvent if the special=0A=
				// events handler returns false=0A=
				if ( !special.setup || special.setup.call( elem, data, namespaces, =
eventHandle ) =3D=3D=3D false ) {=0A=
					// Bind the global event handler to the element=0A=
					if ( elem.addEventListener ) {=0A=
						elem.addEventListener( type, eventHandle, false );=0A=
=0A=
					} else if ( elem.attachEvent ) {=0A=
						elem.attachEvent( "on" + type, eventHandle );=0A=
					}=0A=
				}=0A=
			}=0A=
			=0A=
			if ( special.add ) { =0A=
				special.add.call( elem, handleObj ); =0A=
=0A=
				if ( !handleObj.handler.guid ) {=0A=
					handleObj.handler.guid =3D handler.guid;=0A=
				}=0A=
			}=0A=
=0A=
			// Add the function to the element's handler list=0A=
			handlers.push( handleObj );=0A=
=0A=
			// Keep track of which events have been used, for global triggering=0A=
			jQuery.event.global[ type ] =3D true;=0A=
		}=0A=
=0A=
		// Nullify elem to prevent memory leaks in IE=0A=
		elem =3D null;=0A=
	},=0A=
=0A=
	global: {},=0A=
=0A=
	// Detach an event or set of events from an element=0A=
	remove: function( elem, types, handler, pos ) {=0A=
		// don't do events on text and comment nodes=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var ret, type, fn, i =3D 0, all, namespaces, namespace, special, =
eventType, handleObj, origType,=0A=
			elemData =3D jQuery.data( elem ),=0A=
			events =3D elemData && elemData.events;=0A=
=0A=
		if ( !elemData || !events ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// types is actually an event object here=0A=
		if ( types && types.type ) {=0A=
			handler =3D types.handler;=0A=
			types =3D types.type;=0A=
		}=0A=
=0A=
		// Unbind all events for the element=0A=
		if ( !types || typeof types =3D=3D=3D "string" && types.charAt(0) =
=3D=3D=3D "." ) {=0A=
			types =3D types || "";=0A=
=0A=
			for ( type in events ) {=0A=
				jQuery.event.remove( elem, type + types );=0A=
			}=0A=
=0A=
			return;=0A=
		}=0A=
=0A=
		// Handle multiple events separated by a space=0A=
		// jQuery(...).unbind("mouseover mouseout", fn);=0A=
		types =3D types.split(" ");=0A=
=0A=
		while ( (type =3D types[ i++ ]) ) {=0A=
			origType =3D type;=0A=
			handleObj =3D null;=0A=
			all =3D type.indexOf(".") < 0;=0A=
			namespaces =3D [];=0A=
=0A=
			if ( !all ) {=0A=
				// Namespaced event handlers=0A=
				namespaces =3D type.split(".");=0A=
				type =3D namespaces.shift();=0A=
=0A=
				namespace =3D new RegExp("(^|\\.)" + =0A=
					jQuery.map( namespaces.slice(0).sort(), fcleanup =
).join("\\.(?:.*\\.)?") + "(\\.|$)")=0A=
			}=0A=
=0A=
			eventType =3D events[ type ];=0A=
=0A=
			if ( !eventType ) {=0A=
				continue;=0A=
			}=0A=
=0A=
			if ( !handler ) {=0A=
				for ( var j =3D 0; j < eventType.length; j++ ) {=0A=
					handleObj =3D eventType[ j ];=0A=
=0A=
					if ( all || namespace.test( handleObj.namespace ) ) {=0A=
						jQuery.event.remove( elem, origType, handleObj.handler, j );=0A=
						eventType.splice( j--, 1 );=0A=
					}=0A=
				}=0A=
=0A=
				continue;=0A=
			}=0A=
=0A=
			special =3D jQuery.event.special[ type ] || {};=0A=
=0A=
			for ( var j =3D pos || 0; j < eventType.length; j++ ) {=0A=
				handleObj =3D eventType[ j ];=0A=
=0A=
				if ( handler.guid =3D=3D=3D handleObj.guid ) {=0A=
					// remove the given handler for the given type=0A=
					if ( all || namespace.test( handleObj.namespace ) ) {=0A=
						if ( pos =3D=3D null ) {=0A=
							eventType.splice( j--, 1 );=0A=
						}=0A=
=0A=
						if ( special.remove ) {=0A=
							special.remove.call( elem, handleObj );=0A=
						}=0A=
					}=0A=
=0A=
					if ( pos !=3D null ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			// remove generic event handler if no more handlers exist=0A=
			if ( eventType.length =3D=3D=3D 0 || pos !=3D null && =
eventType.length =3D=3D=3D 1 ) {=0A=
				if ( !special.teardown || special.teardown.call( elem, namespaces ) =
=3D=3D=3D false ) {=0A=
					removeEvent( elem, type, elemData.handle );=0A=
				}=0A=
=0A=
				ret =3D null;=0A=
				delete events[ type ];=0A=
			}=0A=
		}=0A=
=0A=
		// Remove the expando if it's no longer used=0A=
		if ( jQuery.isEmptyObject( events ) ) {=0A=
			var handle =3D elemData.handle;=0A=
			if ( handle ) {=0A=
				handle.elem =3D null;=0A=
			}=0A=
=0A=
			delete elemData.events;=0A=
			delete elemData.handle;=0A=
=0A=
			if ( jQuery.isEmptyObject( elemData ) ) {=0A=
				jQuery.removeData( elem );=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	// bubbling is internal=0A=
	trigger: function( event, data, elem /*, bubbling */ ) {=0A=
		// Event object or event type=0A=
		var type =3D event.type || event,=0A=
			bubbling =3D arguments[3];=0A=
=0A=
		if ( !bubbling ) {=0A=
			event =3D typeof event =3D=3D=3D "object" ?=0A=
				// jQuery.Event object=0A=
				event[expando] ? event :=0A=
				// Object literal=0A=
				jQuery.extend( jQuery.Event(type), event ) :=0A=
				// Just the event type (string)=0A=
				jQuery.Event(type);=0A=
=0A=
			if ( type.indexOf("!") >=3D 0 ) {=0A=
				event.type =3D type =3D type.slice(0, -1);=0A=
				event.exclusive =3D true;=0A=
			}=0A=
=0A=
			// Handle a global trigger=0A=
			if ( !elem ) {=0A=
				// Don't bubble custom events when global (to avoid too much =
overhead)=0A=
				event.stopPropagation();=0A=
=0A=
				// Only trigger if we've ever bound an event for it=0A=
				if ( jQuery.event.global[ type ] ) {=0A=
					jQuery.each( jQuery.cache, function() {=0A=
						if ( this.events && this.events[type] ) {=0A=
							jQuery.event.trigger( event, data, this.handle.elem );=0A=
						}=0A=
					});=0A=
				}=0A=
			}=0A=
=0A=
			// Handle triggering a single element=0A=
=0A=
			// don't do events on text and comment nodes=0A=
			if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 =
) {=0A=
				return undefined;=0A=
			}=0A=
=0A=
			// Clean up in case it is reused=0A=
			event.result =3D undefined;=0A=
			event.target =3D elem;=0A=
=0A=
			// Clone the incoming data, if any=0A=
			data =3D jQuery.makeArray( data );=0A=
			data.unshift( event );=0A=
		}=0A=
=0A=
		event.currentTarget =3D elem;=0A=
=0A=
		// Trigger the event, it is assumed that "handle" is a function=0A=
		var handle =3D jQuery.data( elem, "handle" );=0A=
		if ( handle ) {=0A=
			handle.apply( elem, data );=0A=
		}=0A=
=0A=
		var parent =3D elem.parentNode || elem.ownerDocument;=0A=
=0A=
		// Trigger an inline bound script=0A=
		try {=0A=
			if ( !(elem && elem.nodeName && =
jQuery.noData[elem.nodeName.toLowerCase()]) ) {=0A=
				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) =
=3D=3D=3D false ) {=0A=
					event.result =3D false;=0A=
				}=0A=
			}=0A=
=0A=
		// prevent IE from throwing an error for some elements with some event =
types, see #3533=0A=
		} catch (e) {}=0A=
=0A=
		if ( !event.isPropagationStopped() && parent ) {=0A=
			jQuery.event.trigger( event, data, parent, true );=0A=
=0A=
		} else if ( !event.isDefaultPrevented() ) {=0A=
			var target =3D event.target, old,=0A=
				isClick =3D jQuery.nodeName(target, "a") && type =3D=3D=3D "click",=0A=
				special =3D jQuery.event.special[ type ] || {};=0A=
=0A=
			if ( (!special._default || special._default.call( elem, event ) =
=3D=3D=3D false) && =0A=
				!isClick && !(target && target.nodeName && =
jQuery.noData[target.nodeName.toLowerCase()]) ) {=0A=
=0A=
				try {=0A=
					if ( target[ type ] ) {=0A=
						// Make sure that we don't accidentally re-trigger the onFOO events=0A=
						old =3D target[ "on" + type ];=0A=
=0A=
						if ( old ) {=0A=
							target[ "on" + type ] =3D null;=0A=
						}=0A=
=0A=
						jQuery.event.triggered =3D true;=0A=
						target[ type ]();=0A=
					}=0A=
=0A=
				// prevent IE from throwing an error for some elements with some =
event types, see #3533=0A=
				} catch (e) {}=0A=
=0A=
				if ( old ) {=0A=
					target[ "on" + type ] =3D old;=0A=
				}=0A=
=0A=
				jQuery.event.triggered =3D false;=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	handle: function( event ) {=0A=
		var all, handlers, namespaces, namespace, events;=0A=
=0A=
		event =3D arguments[0] =3D jQuery.event.fix( event || window.event );=0A=
		event.currentTarget =3D this;=0A=
=0A=
		// Namespaced event handlers=0A=
		all =3D event.type.indexOf(".") < 0 && !event.exclusive;=0A=
=0A=
		if ( !all ) {=0A=
			namespaces =3D event.type.split(".");=0A=
			event.type =3D namespaces.shift();=0A=
			namespace =3D new RegExp("(^|\\.)" + =
namespaces.slice(0).sort().join("\\.(?:.*\\.)?") + "(\\.|$)");=0A=
		}=0A=
=0A=
		var events =3D jQuery.data(this, "events"), handlers =3D events[ =
event.type ];=0A=
=0A=
		if ( events && handlers ) {=0A=
			// Clone the handlers to prevent manipulation=0A=
			handlers =3D handlers.slice(0);=0A=
=0A=
			for ( var j =3D 0, l =3D handlers.length; j < l; j++ ) {=0A=
				var handleObj =3D handlers[ j ];=0A=
=0A=
				// Filter the functions by class=0A=
				if ( all || namespace.test( handleObj.namespace ) ) {=0A=
					// Pass in a reference to the handler function itself=0A=
					// So that we can later remove it=0A=
					event.handler =3D handleObj.handler;=0A=
					event.data =3D handleObj.data;=0A=
					event.handleObj =3D handleObj;=0A=
	=0A=
					var ret =3D handleObj.handler.apply( this, arguments );=0A=
=0A=
					if ( ret !=3D=3D undefined ) {=0A=
						event.result =3D ret;=0A=
						if ( ret =3D=3D=3D false ) {=0A=
							event.preventDefault();=0A=
							event.stopPropagation();=0A=
						}=0A=
					}=0A=
=0A=
					if ( event.isImmediatePropagationStopped() ) {=0A=
						break;=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return event.result;=0A=
	},=0A=
=0A=
	props: "altKey attrChange attrName bubbles button cancelable charCode =
clientX clientY ctrlKey currentTarget data detail eventPhase fromElement =
handler keyCode layerX layerY metaKey newValue offsetX offsetY =
originalTarget pageX pageY prevValue relatedNode relatedTarget screenX =
screenY shiftKey srcElement target toElement view wheelDelta =
which".split(" "),=0A=
=0A=
	fix: function( event ) {=0A=
		if ( event[ expando ] ) {=0A=
			return event;=0A=
		}=0A=
=0A=
		// store a copy of the original event object=0A=
		// and "clone" to set read-only properties=0A=
		var originalEvent =3D event;=0A=
		event =3D jQuery.Event( originalEvent );=0A=
=0A=
		for ( var i =3D this.props.length, prop; i; ) {=0A=
			prop =3D this.props[ --i ];=0A=
			event[ prop ] =3D originalEvent[ prop ];=0A=
		}=0A=
=0A=
		// Fix target property, if necessary=0A=
		if ( !event.target ) {=0A=
			event.target =3D event.srcElement || document; // Fixes #1925 where =
srcElement might not be defined either=0A=
		}=0A=
=0A=
		// check if target is a textnode (safari)=0A=
		if ( event.target.nodeType =3D=3D=3D 3 ) {=0A=
			event.target =3D event.target.parentNode;=0A=
		}=0A=
=0A=
		// Add relatedTarget, if necessary=0A=
		if ( !event.relatedTarget && event.fromElement ) {=0A=
			event.relatedTarget =3D event.fromElement =3D=3D=3D event.target ? =
event.toElement : event.fromElement;=0A=
		}=0A=
=0A=
		// Calculate pageX/Y if missing and clientX/Y available=0A=
		if ( event.pageX =3D=3D null && event.clientX !=3D null ) {=0A=
			var doc =3D document.documentElement, body =3D document.body;=0A=
			event.pageX =3D event.clientX + (doc && doc.scrollLeft || body && =
body.scrollLeft || 0) - (doc && doc.clientLeft || body && =
body.clientLeft || 0);=0A=
			event.pageY =3D event.clientY + (doc && doc.scrollTop  || body && =
body.scrollTop  || 0) - (doc && doc.clientTop  || body && body.clientTop =
 || 0);=0A=
		}=0A=
=0A=
		// Add which for key events=0A=
		if ( !event.which && ((event.charCode || event.charCode =3D=3D=3D 0) ? =
event.charCode : event.keyCode) ) {=0A=
			event.which =3D event.charCode || event.keyCode;=0A=
		}=0A=
=0A=
		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for =
Macs)=0A=
		if ( !event.metaKey && event.ctrlKey ) {=0A=
			event.metaKey =3D event.ctrlKey;=0A=
		}=0A=
=0A=
		// Add which for click: 1 =3D=3D=3D left; 2 =3D=3D=3D middle; 3 =
=3D=3D=3D right=0A=
		// Note: button is not normalized, so don't use it=0A=
		if ( !event.which && event.button !=3D=3D undefined ) {=0A=
			event.which =3D (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( =
event.button & 4 ? 2 : 0 ) ));=0A=
		}=0A=
=0A=
		return event;=0A=
	},=0A=
=0A=
	// Deprecated, use jQuery.guid instead=0A=
	guid: 1E8,=0A=
=0A=
	// Deprecated, use jQuery.proxy instead=0A=
	proxy: jQuery.proxy,=0A=
=0A=
	special: {=0A=
		ready: {=0A=
			// Make sure the ready event is setup=0A=
			setup: jQuery.bindReady,=0A=
			teardown: jQuery.noop=0A=
		},=0A=
=0A=
		live: {=0A=
			add: function( handleObj ) {=0A=
				jQuery.event.add( this, handleObj.origType, jQuery.extend({}, =
handleObj, {handler: liveHandler}) ); =0A=
			},=0A=
=0A=
			remove: function( handleObj ) {=0A=
				var remove =3D true,=0A=
					type =3D handleObj.origType.replace(rnamespaces, "");=0A=
				=0A=
				jQuery.each( jQuery.data(this, "events").live || [], function() {=0A=
					if ( type =3D=3D=3D this.origType.replace(rnamespaces, "") ) {=0A=
						remove =3D false;=0A=
						return false;=0A=
					}=0A=
				});=0A=
=0A=
				if ( remove ) {=0A=
					jQuery.event.remove( this, handleObj.origType, liveHandler );=0A=
				}=0A=
			}=0A=
=0A=
		},=0A=
=0A=
		beforeunload: {=0A=
			setup: function( data, namespaces, eventHandle ) {=0A=
				// We only want to do this special case on windows=0A=
				if ( this.setInterval ) {=0A=
					this.onbeforeunload =3D eventHandle;=0A=
				}=0A=
=0A=
				return false;=0A=
			},=0A=
			teardown: function( namespaces, eventHandle ) {=0A=
				if ( this.onbeforeunload =3D=3D=3D eventHandle ) {=0A=
					this.onbeforeunload =3D null;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
var removeEvent =3D document.removeEventListener ?=0A=
	function( elem, type, handle ) {=0A=
		elem.removeEventListener( type, handle, false );=0A=
	} : =0A=
	function( elem, type, handle ) {=0A=
		elem.detachEvent( "on" + type, handle );=0A=
	};=0A=
=0A=
jQuery.Event =3D function( src ) {=0A=
	// Allow instantiation without the 'new' keyword=0A=
	if ( !this.preventDefault ) {=0A=
		return new jQuery.Event( src );=0A=
	}=0A=
=0A=
	// Event object=0A=
	if ( src && src.type ) {=0A=
		this.originalEvent =3D src;=0A=
		this.type =3D src.type;=0A=
	// Event type=0A=
	} else {=0A=
		this.type =3D src;=0A=
	}=0A=
=0A=
	// timeStamp is buggy for some events on Firefox(#3843)=0A=
	// So we won't rely on the native value=0A=
	this.timeStamp =3D now();=0A=
=0A=
	// Mark it as fixed=0A=
	this[ expando ] =3D true;=0A=
};=0A=
=0A=
function returnFalse() {=0A=
	return false;=0A=
}=0A=
function returnTrue() {=0A=
	return true;=0A=
}=0A=
=0A=
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript =
Language Binding=0A=
// =
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-bind=
ing.html=0A=
jQuery.Event.prototype =3D {=0A=
	preventDefault: function() {=0A=
		this.isDefaultPrevented =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if ( !e ) {=0A=
			return;=0A=
		}=0A=
		=0A=
		// if preventDefault exists run it on the original event=0A=
		if ( e.preventDefault ) {=0A=
			e.preventDefault();=0A=
		}=0A=
		// otherwise set the returnValue property of the original event to =
false (IE)=0A=
		e.returnValue =3D false;=0A=
	},=0A=
	stopPropagation: function() {=0A=
		this.isPropagationStopped =3D returnTrue;=0A=
=0A=
		var e =3D this.originalEvent;=0A=
		if ( !e ) {=0A=
			return;=0A=
		}=0A=
		// if stopPropagation exists run it on the original event=0A=
		if ( e.stopPropagation ) {=0A=
			e.stopPropagation();=0A=
		}=0A=
		// otherwise set the cancelBubble property of the original event to =
true (IE)=0A=
		e.cancelBubble =3D true;=0A=
	},=0A=
	stopImmediatePropagation: function() {=0A=
		this.isImmediatePropagationStopped =3D returnTrue;=0A=
		this.stopPropagation();=0A=
	},=0A=
	isDefaultPrevented: returnFalse,=0A=
	isPropagationStopped: returnFalse,=0A=
	isImmediatePropagationStopped: returnFalse=0A=
};=0A=
=0A=
// Checks if an event happened on an element within another element=0A=
// Used in jQuery.event.special.mouseenter and mouseleave handlers=0A=
var withinElement =3D function( event ) {=0A=
	// Check if mouse(over|out) are still within the same parent element=0A=
	var parent =3D event.relatedTarget;=0A=
=0A=
	// Firefox sometimes assigns relatedTarget a XUL element=0A=
	// which we cannot access the parentNode property of=0A=
	try {=0A=
		// Traverse up the tree=0A=
		while ( parent && parent !=3D=3D this ) {=0A=
			parent =3D parent.parentNode;=0A=
		}=0A=
=0A=
		if ( parent !=3D=3D this ) {=0A=
			// set the correct event type=0A=
			event.type =3D event.data;=0A=
=0A=
			// handle event if we actually just moused on to a non sub-element=0A=
			jQuery.event.handle.apply( this, arguments );=0A=
		}=0A=
=0A=
	// assuming we've left the element since we most likely mousedover a =
xul element=0A=
	} catch(e) { }=0A=
},=0A=
=0A=
// In case of event delegation, we only need to rename the event.type,=0A=
// liveHandler will take care of the rest.=0A=
delegate =3D function( event ) {=0A=
	event.type =3D event.data;=0A=
	jQuery.event.handle.apply( this, arguments );=0A=
};=0A=
=0A=
// Create mouseenter and mouseleave events=0A=
jQuery.each({=0A=
	mouseenter: "mouseover",=0A=
	mouseleave: "mouseout"=0A=
}, function( orig, fix ) {=0A=
	jQuery.event.special[ orig ] =3D {=0A=
		setup: function( data ) {=0A=
			jQuery.event.add( this, fix, data && data.selector ? delegate : =
withinElement, orig );=0A=
		},=0A=
		teardown: function( data ) {=0A=
			jQuery.event.remove( this, fix, data && data.selector ? delegate : =
withinElement );=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
// submit delegation=0A=
if ( !jQuery.support.submitBubbles ) {=0A=
=0A=
	jQuery.event.special.submit =3D {=0A=
		setup: function( data, namespaces ) {=0A=
			if ( this.nodeName.toLowerCase() !=3D=3D "form" ) {=0A=
				jQuery.event.add(this, "click.specialSubmit", function( e ) {=0A=
					var elem =3D e.target, type =3D elem.type;=0A=
=0A=
					if ( (type =3D=3D=3D "submit" || type =3D=3D=3D "image") && jQuery( =
elem ).closest("form").length ) {=0A=
						return trigger( "submit", this, arguments );=0A=
					}=0A=
				});=0A=
	 =0A=
				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {=0A=
					var elem =3D e.target, type =3D elem.type;=0A=
=0A=
					if ( (type =3D=3D=3D "text" || type =3D=3D=3D "password") && =
jQuery( elem ).closest("form").length && e.keyCode =3D=3D=3D 13 ) {=0A=
						return trigger( "submit", this, arguments );=0A=
					}=0A=
				});=0A=
=0A=
			} else {=0A=
				return false;=0A=
			}=0A=
		},=0A=
=0A=
		teardown: function( namespaces ) {=0A=
			jQuery.event.remove( this, ".specialSubmit" );=0A=
		}=0A=
	};=0A=
=0A=
}=0A=
=0A=
// change delegation, happens here so we have bind.=0A=
if ( !jQuery.support.changeBubbles ) {=0A=
=0A=
	var formElems =3D /textarea|input|select/i,=0A=
=0A=
	changeFilters,=0A=
=0A=
	getVal =3D function( elem ) {=0A=
		var type =3D elem.type, val =3D elem.value;=0A=
=0A=
		if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" ) {=0A=
			val =3D elem.checked;=0A=
=0A=
		} else if ( type =3D=3D=3D "select-multiple" ) {=0A=
			val =3D elem.selectedIndex > -1 ?=0A=
				jQuery.map( elem.options, function( elem ) {=0A=
					return elem.selected;=0A=
				}).join("-") :=0A=
				"";=0A=
=0A=
		} else if ( elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {=0A=
			val =3D elem.selectedIndex;=0A=
		}=0A=
=0A=
		return val;=0A=
	},=0A=
=0A=
	testChange =3D function testChange( e ) {=0A=
		var elem =3D e.target, data, val;=0A=
=0A=
		if ( !formElems.test( elem.nodeName ) || elem.readOnly ) {=0A=
			return;=0A=
		}=0A=
=0A=
		data =3D jQuery.data( elem, "_change_data" );=0A=
		val =3D getVal(elem);=0A=
=0A=
		// the current data will be also retrieved by beforeactivate=0A=
		if ( e.type !=3D=3D "focusout" || elem.type !=3D=3D "radio" ) {=0A=
			jQuery.data( elem, "_change_data", val );=0A=
		}=0A=
		=0A=
		if ( data =3D=3D=3D undefined || val =3D=3D=3D data ) {=0A=
			return;=0A=
		}=0A=
=0A=
		if ( data !=3D null || val ) {=0A=
			e.type =3D "change";=0A=
			return jQuery.event.trigger( e, arguments[1], elem );=0A=
		}=0A=
	};=0A=
=0A=
	jQuery.event.special.change =3D {=0A=
		filters: {=0A=
			focusout: testChange, =0A=
=0A=
			click: function( e ) {=0A=
				var elem =3D e.target, type =3D elem.type;=0A=
=0A=
				if ( type =3D=3D=3D "radio" || type =3D=3D=3D "checkbox" || =
elem.nodeName.toLowerCase() =3D=3D=3D "select" ) {=0A=
					return testChange.call( this, e );=0A=
				}=0A=
			},=0A=
=0A=
			// Change has to be called before submit=0A=
			// Keydown will be called before keypress, which is used in =
submit-event delegation=0A=
			keydown: function( e ) {=0A=
				var elem =3D e.target, type =3D elem.type;=0A=
=0A=
				if ( (e.keyCode =3D=3D=3D 13 && elem.nodeName.toLowerCase() !=3D=3D =
"textarea") ||=0A=
					(e.keyCode =3D=3D=3D 32 && (type =3D=3D=3D "checkbox" || type =
=3D=3D=3D "radio")) ||=0A=
					type =3D=3D=3D "select-multiple" ) {=0A=
					return testChange.call( this, e );=0A=
				}=0A=
			},=0A=
=0A=
			// Beforeactivate happens also before the previous element is blurred=0A=
			// with this event you can't trigger a change event, but you can store=0A=
			// information/focus[in] is not needed anymore=0A=
			beforeactivate: function( e ) {=0A=
				var elem =3D e.target;=0A=
				jQuery.data( elem, "_change_data", getVal(elem) );=0A=
			}=0A=
		},=0A=
=0A=
		setup: function( data, namespaces ) {=0A=
			if ( this.type =3D=3D=3D "file" ) {=0A=
				return false;=0A=
			}=0A=
=0A=
			for ( var type in changeFilters ) {=0A=
				jQuery.event.add( this, type + ".specialChange", changeFilters[type] =
);=0A=
			}=0A=
=0A=
			return formElems.test( this.nodeName );=0A=
		},=0A=
=0A=
		teardown: function( namespaces ) {=0A=
			jQuery.event.remove( this, ".specialChange" );=0A=
=0A=
			return formElems.test( this.nodeName );=0A=
		}=0A=
	};=0A=
=0A=
	changeFilters =3D jQuery.event.special.change.filters;=0A=
}=0A=
=0A=
function trigger( type, elem, args ) {=0A=
	args[0].type =3D type;=0A=
	return jQuery.event.handle.apply( elem, args );=0A=
}=0A=
=0A=
// Create "bubbling" focus and blur events=0A=
if ( document.addEventListener ) {=0A=
	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix =
) {=0A=
		jQuery.event.special[ fix ] =3D {=0A=
			setup: function() {=0A=
				this.addEventListener( orig, handler, true );=0A=
			}, =0A=
			teardown: function() { =0A=
				this.removeEventListener( orig, handler, true );=0A=
			}=0A=
		};=0A=
=0A=
		function handler( e ) { =0A=
			e =3D jQuery.event.fix( e );=0A=
			e.type =3D fix;=0A=
			return jQuery.event.handle.call( this, e );=0A=
		}=0A=
	});=0A=
}=0A=
=0A=
jQuery.each(["bind", "one"], function( i, name ) {=0A=
	jQuery.fn[ name ] =3D function( type, data, fn ) {=0A=
		// Handle object literals=0A=
		if ( typeof type =3D=3D=3D "object" ) {=0A=
			for ( var key in type ) {=0A=
				this[ name ](key, data, type[key], fn);=0A=
			}=0A=
			return this;=0A=
		}=0A=
		=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			fn =3D data;=0A=
			data =3D undefined;=0A=
		}=0A=
=0A=
		var handler =3D name =3D=3D=3D "one" ? jQuery.proxy( fn, function( =
event ) {=0A=
			jQuery( this ).unbind( event, handler );=0A=
			return fn.apply( this, arguments );=0A=
		}) : fn;=0A=
=0A=
		if ( type =3D=3D=3D "unload" && name !=3D=3D "one" ) {=0A=
			this.one( type, data, fn );=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				jQuery.event.add( this[i], type, handler, data );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	};=0A=
});=0A=
=0A=
jQuery.fn.extend({=0A=
	unbind: function( type, fn ) {=0A=
		// Handle object literals=0A=
		if ( typeof type =3D=3D=3D "object" && !type.preventDefault ) {=0A=
			for ( var key in type ) {=0A=
				this.unbind(key, type[key]);=0A=
			}=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				jQuery.event.remove( this[i], type, fn );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
	=0A=
	delegate: function( selector, types, data, fn ) {=0A=
		return this.live( types, data, fn, selector );=0A=
	},=0A=
	=0A=
	undelegate: function( selector, types, fn ) {=0A=
		if ( arguments.length =3D=3D=3D 0 ) {=0A=
				return this.unbind( "live" );=0A=
		=0A=
		} else {=0A=
			return this.die( types, null, fn, selector );=0A=
		}=0A=
	},=0A=
	=0A=
	trigger: function( type, data ) {=0A=
		return this.each(function() {=0A=
			jQuery.event.trigger( type, data, this );=0A=
		});=0A=
	},=0A=
=0A=
	triggerHandler: function( type, data ) {=0A=
		if ( this[0] ) {=0A=
			var event =3D jQuery.Event( type );=0A=
			event.preventDefault();=0A=
			event.stopPropagation();=0A=
			jQuery.event.trigger( event, data, this[0] );=0A=
			return event.result;=0A=
		}=0A=
	},=0A=
=0A=
	toggle: function( fn ) {=0A=
		// Save reference to arguments for access in closure=0A=
		var args =3D arguments, i =3D 1;=0A=
=0A=
		// link all the functions, so any of them can unbind this click handler=0A=
		while ( i < args.length ) {=0A=
			jQuery.proxy( fn, args[ i++ ] );=0A=
		}=0A=
=0A=
		return this.click( jQuery.proxy( fn, function( event ) {=0A=
			// Figure out which function to execute=0A=
			var lastToggle =3D ( jQuery.data( this, "lastToggle" + fn.guid ) || 0 =
) % i;=0A=
			jQuery.data( this, "lastToggle" + fn.guid, lastToggle + 1 );=0A=
=0A=
			// Make sure that clicks stop=0A=
			event.preventDefault();=0A=
=0A=
			// and execute the function=0A=
			return args[ lastToggle ].apply( this, arguments ) || false;=0A=
		}));=0A=
	},=0A=
=0A=
	hover: function( fnOver, fnOut ) {=0A=
		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );=0A=
	}=0A=
});=0A=
=0A=
var liveMap =3D {=0A=
	focus: "focusin",=0A=
	blur: "focusout",=0A=
	mouseenter: "mouseover",=0A=
	mouseleave: "mouseout"=0A=
};=0A=
=0A=
jQuery.each(["live", "die"], function( i, name ) {=0A=
	jQuery.fn[ name ] =3D function( types, data, fn, origSelector /* =
Internal Use Only */ ) {=0A=
		var type, i =3D 0, match, namespaces, preType,=0A=
			selector =3D origSelector || this.selector,=0A=
			context =3D origSelector ? this : jQuery( this.context );=0A=
=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			fn =3D data;=0A=
			data =3D undefined;=0A=
		}=0A=
=0A=
		types =3D (types || "").split(" ");=0A=
=0A=
		while ( (type =3D types[ i++ ]) !=3D null ) {=0A=
			match =3D rnamespaces.exec( type );=0A=
			namespaces =3D "";=0A=
=0A=
			if ( match )  {=0A=
				namespaces =3D match[0];=0A=
				type =3D type.replace( rnamespaces, "" );=0A=
			}=0A=
=0A=
			if ( type =3D=3D=3D "hover" ) {=0A=
				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );=0A=
				continue;=0A=
			}=0A=
=0A=
			preType =3D type;=0A=
=0A=
			if ( type =3D=3D=3D "focus" || type =3D=3D=3D "blur" ) {=0A=
				types.push( liveMap[ type ] + namespaces );=0A=
				type =3D type + namespaces;=0A=
=0A=
			} else {=0A=
				type =3D (liveMap[ type ] || type) + namespaces;=0A=
			}=0A=
=0A=
			if ( name =3D=3D=3D "live" ) {=0A=
				// bind live handler=0A=
				context.each(function(){=0A=
					jQuery.event.add( this, liveConvert( type, selector ),=0A=
						{ data: data, selector: selector, handler: fn, origType: type, =
origHandler: fn, preType: preType } );=0A=
				});=0A=
=0A=
			} else {=0A=
				// unbind live handler=0A=
				context.unbind( liveConvert( type, selector ), fn );=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	}=0A=
});=0A=
=0A=
function liveHandler( event ) {=0A=
	var stop, elems =3D [], selectors =3D [], args =3D arguments,=0A=
		related, match, handleObj, elem, j, i, l, data,=0A=
		events =3D jQuery.data( this, "events" );=0A=
=0A=
	// Make sure we avoid non-left-click bubbling in Firefox (#3861)=0A=
	if ( event.liveFired =3D=3D=3D this || !events || !events.live || =
event.button && event.type =3D=3D=3D "click" ) {=0A=
		return;=0A=
	}=0A=
=0A=
	event.liveFired =3D this;=0A=
=0A=
	var live =3D events.live.slice(0);=0A=
=0A=
	for ( j =3D 0; j < live.length; j++ ) {=0A=
		handleObj =3D live[j];=0A=
=0A=
		if ( handleObj.origType.replace( rnamespaces, "" ) =3D=3D=3D =
event.type ) {=0A=
			selectors.push( handleObj.selector );=0A=
=0A=
		} else {=0A=
			live.splice( j--, 1 );=0A=
		}=0A=
	}=0A=
=0A=
	match =3D jQuery( event.target ).closest( selectors, =
event.currentTarget );=0A=
=0A=
	for ( i =3D 0, l =3D match.length; i < l; i++ ) {=0A=
		for ( j =3D 0; j < live.length; j++ ) {=0A=
			handleObj =3D live[j];=0A=
=0A=
			if ( match[i].selector =3D=3D=3D handleObj.selector ) {=0A=
				elem =3D match[i].elem;=0A=
				related =3D null;=0A=
=0A=
				// Those two events require additional checking=0A=
				if ( handleObj.preType =3D=3D=3D "mouseenter" || handleObj.preType =
=3D=3D=3D "mouseleave" ) {=0A=
					related =3D jQuery( event.relatedTarget ).closest( =
handleObj.selector )[0];=0A=
				}=0A=
=0A=
				if ( !related || related !=3D=3D elem ) {=0A=
					elems.push({ elem: elem, handleObj: handleObj });=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	for ( i =3D 0, l =3D elems.length; i < l; i++ ) {=0A=
		match =3D elems[i];=0A=
		event.currentTarget =3D match.elem;=0A=
		event.data =3D match.handleObj.data;=0A=
		event.handleObj =3D match.handleObj;=0A=
=0A=
		if ( match.handleObj.origHandler.apply( match.elem, args ) =3D=3D=3D =
false ) {=0A=
			stop =3D false;=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	return stop;=0A=
}=0A=
=0A=
function liveConvert( type, selector ) {=0A=
	return "live." + (type && type !=3D=3D "*" ? type + "." : "") + =
selector.replace(/\./g, "`").replace(/ /g, "&");=0A=
}=0A=
=0A=
jQuery.each( ("blur focus focusin focusout load resize scroll unload =
click dblclick " +=0A=
	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " =
+=0A=
	"change select submit keydown keypress keyup error").split(" "), =
function( i, name ) {=0A=
=0A=
	// Handle event binding=0A=
	jQuery.fn[ name ] =3D function( fn ) {=0A=
		return fn ? this.bind( name, fn ) : this.trigger( name );=0A=
	};=0A=
=0A=
	if ( jQuery.attrFn ) {=0A=
		jQuery.attrFn[ name ] =3D true;=0A=
	}=0A=
});=0A=
=0A=
// Prevent memory leaks in IE=0A=
// Window isn't included so as not to unbind existing unload events=0A=
// More info:=0A=
//  - http://isaacschlueter.com/2006/10/msie-memory-leaks/=0A=
if ( window.attachEvent && !window.addEventListener ) {=0A=
	window.attachEvent("onunload", function() {=0A=
		for ( var id in jQuery.cache ) {=0A=
			if ( jQuery.cache[ id ].handle ) {=0A=
				// Try/Catch is to handle iframes being unloaded, see #4280=0A=
				try {=0A=
					jQuery.event.remove( jQuery.cache[ id ].handle.elem );=0A=
				} catch(e) {}=0A=
			}=0A=
		}=0A=
	});=0A=
}=0A=
/*!=0A=
 * Sizzle CSS Selector Engine - v1.0=0A=
 *  Copyright 2009, The Dojo Foundation=0A=
 *  Released under the MIT, BSD, and GPL Licenses.=0A=
 *  More information: http://sizzlejs.com/=0A=
 */=0A=
(function(){=0A=
=0A=
var chunker =3D =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+=
)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,=0A=
	done =3D 0,=0A=
	toString =3D Object.prototype.toString,=0A=
	hasDuplicate =3D false,=0A=
	baseHasDuplicate =3D true;=0A=
=0A=
// Here we check if the JavaScript engine is using some sort of=0A=
// optimization where it does not always call our comparision=0A=
// function. If that is the case, discard the hasDuplicate value.=0A=
//   Thus far that includes Google Chrome.=0A=
[0, 0].sort(function(){=0A=
	baseHasDuplicate =3D false;=0A=
	return 0;=0A=
});=0A=
=0A=
var Sizzle =3D function(selector, context, results, seed) {=0A=
	results =3D results || [];=0A=
	var origContext =3D context =3D context || document;=0A=
=0A=
	if ( context.nodeType !=3D=3D 1 && context.nodeType !=3D=3D 9 ) {=0A=
		return [];=0A=
	}=0A=
	=0A=
	if ( !selector || typeof selector !=3D=3D "string" ) {=0A=
		return results;=0A=
	}=0A=
=0A=
	var parts =3D [], m, set, checkSet, extra, prune =3D true, contextXML =
=3D isXML(context),=0A=
		soFar =3D selector;=0A=
	=0A=
	// Reset the position of the chunker regexp (start from head)=0A=
	while ( (chunker.exec(""), m =3D chunker.exec(soFar)) !=3D=3D null ) {=0A=
		soFar =3D m[3];=0A=
		=0A=
		parts.push( m[1] );=0A=
		=0A=
		if ( m[2] ) {=0A=
			extra =3D m[3];=0A=
			break;=0A=
		}=0A=
	}=0A=
=0A=
	if ( parts.length > 1 && origPOS.exec( selector ) ) {=0A=
		if ( parts.length =3D=3D=3D 2 && Expr.relative[ parts[0] ] ) {=0A=
			set =3D posProcess( parts[0] + parts[1], context );=0A=
		} else {=0A=
			set =3D Expr.relative[ parts[0] ] ?=0A=
				[ context ] :=0A=
				Sizzle( parts.shift(), context );=0A=
=0A=
			while ( parts.length ) {=0A=
				selector =3D parts.shift();=0A=
=0A=
				if ( Expr.relative[ selector ] ) {=0A=
					selector +=3D parts.shift();=0A=
				}=0A=
				=0A=
				set =3D posProcess( selector, set );=0A=
			}=0A=
		}=0A=
	} else {=0A=
		// Take a shortcut and set the context if the root selector is an ID=0A=
		// (but not if it'll be faster if the inner selector is an ID)=0A=
		if ( !seed && parts.length > 1 && context.nodeType =3D=3D=3D 9 && =
!contextXML &&=0A=
				Expr.match.ID.test(parts[0]) && =
!Expr.match.ID.test(parts[parts.length - 1]) ) {=0A=
			var ret =3D Sizzle.find( parts.shift(), context, contextXML );=0A=
			context =3D ret.expr ? Sizzle.filter( ret.expr, ret.set )[0] : =
ret.set[0];=0A=
		}=0A=
=0A=
		if ( context ) {=0A=
			var ret =3D seed ?=0A=
				{ expr: parts.pop(), set: makeArray(seed) } :=0A=
				Sizzle.find( parts.pop(), parts.length =3D=3D=3D 1 && (parts[0] =
=3D=3D=3D "~" || parts[0] =3D=3D=3D "+") && context.parentNode ? =
context.parentNode : context, contextXML );=0A=
			set =3D ret.expr ? Sizzle.filter( ret.expr, ret.set ) : ret.set;=0A=
=0A=
			if ( parts.length > 0 ) {=0A=
				checkSet =3D makeArray(set);=0A=
			} else {=0A=
				prune =3D false;=0A=
			}=0A=
=0A=
			while ( parts.length ) {=0A=
				var cur =3D parts.pop(), pop =3D cur;=0A=
=0A=
				if ( !Expr.relative[ cur ] ) {=0A=
					cur =3D "";=0A=
				} else {=0A=
					pop =3D parts.pop();=0A=
				}=0A=
=0A=
				if ( pop =3D=3D null ) {=0A=
					pop =3D context;=0A=
				}=0A=
=0A=
				Expr.relative[ cur ]( checkSet, pop, contextXML );=0A=
			}=0A=
		} else {=0A=
			checkSet =3D parts =3D [];=0A=
		}=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		checkSet =3D set;=0A=
	}=0A=
=0A=
	if ( !checkSet ) {=0A=
		Sizzle.error( cur || selector );=0A=
	}=0A=
=0A=
	if ( toString.call(checkSet) =3D=3D=3D "[object Array]" ) {=0A=
		if ( !prune ) {=0A=
			results.push.apply( results, checkSet );=0A=
		} else if ( context && context.nodeType =3D=3D=3D 1 ) {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && (checkSet[i] =3D=3D=3D true || =
checkSet[i].nodeType =3D=3D=3D 1 && contains(context, checkSet[i])) ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		} else {=0A=
			for ( var i =3D 0; checkSet[i] !=3D null; i++ ) {=0A=
				if ( checkSet[i] && checkSet[i].nodeType =3D=3D=3D 1 ) {=0A=
					results.push( set[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
	} else {=0A=
		makeArray( checkSet, results );=0A=
	}=0A=
=0A=
	if ( extra ) {=0A=
		Sizzle( extra, origContext, results, seed );=0A=
		Sizzle.uniqueSort( results );=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.uniqueSort =3D function(results){=0A=
	if ( sortOrder ) {=0A=
		hasDuplicate =3D baseHasDuplicate;=0A=
		results.sort(sortOrder);=0A=
=0A=
		if ( hasDuplicate ) {=0A=
			for ( var i =3D 1; i < results.length; i++ ) {=0A=
				if ( results[i] =3D=3D=3D results[i-1] ) {=0A=
					results.splice(i--, 1);=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	return results;=0A=
};=0A=
=0A=
Sizzle.matches =3D function(expr, set){=0A=
	return Sizzle(expr, null, null, set);=0A=
};=0A=
=0A=
Sizzle.find =3D function(expr, context, isXML){=0A=
	var set, match;=0A=
=0A=
	if ( !expr ) {=0A=
		return [];=0A=
	}=0A=
=0A=
	for ( var i =3D 0, l =3D Expr.order.length; i < l; i++ ) {=0A=
		var type =3D Expr.order[i], match;=0A=
		=0A=
		if ( (match =3D Expr.leftMatch[ type ].exec( expr )) ) {=0A=
			var left =3D match[1];=0A=
			match.splice(1,1);=0A=
=0A=
			if ( left.substr( left.length - 1 ) !=3D=3D "\\" ) {=0A=
				match[1] =3D (match[1] || "").replace(/\\/g, "");=0A=
				set =3D Expr.find[ type ]( match, context, isXML );=0A=
				if ( set !=3D null ) {=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !set ) {=0A=
		set =3D context.getElementsByTagName("*");=0A=
	}=0A=
=0A=
	return {set: set, expr: expr};=0A=
};=0A=
=0A=
Sizzle.filter =3D function(expr, set, inplace, not){=0A=
	var old =3D expr, result =3D [], curLoop =3D set, match, anyFound,=0A=
		isXMLFilter =3D set && set[0] && isXML(set[0]);=0A=
=0A=
	while ( expr && set.length ) {=0A=
		for ( var type in Expr.filter ) {=0A=
			if ( (match =3D Expr.leftMatch[ type ].exec( expr )) !=3D null && =
match[2] ) {=0A=
				var filter =3D Expr.filter[ type ], found, item, left =3D match[1];=0A=
				anyFound =3D false;=0A=
=0A=
				match.splice(1,1);=0A=
=0A=
				if ( left.substr( left.length - 1 ) =3D=3D=3D "\\" ) {=0A=
					continue;=0A=
				}=0A=
=0A=
				if ( curLoop =3D=3D=3D result ) {=0A=
					result =3D [];=0A=
				}=0A=
=0A=
				if ( Expr.preFilter[ type ] ) {=0A=
					match =3D Expr.preFilter[ type ]( match, curLoop, inplace, result, =
not, isXMLFilter );=0A=
=0A=
					if ( !match ) {=0A=
						anyFound =3D found =3D true;=0A=
					} else if ( match =3D=3D=3D true ) {=0A=
						continue;=0A=
					}=0A=
				}=0A=
=0A=
				if ( match ) {=0A=
					for ( var i =3D 0; (item =3D curLoop[i]) !=3D null; i++ ) {=0A=
						if ( item ) {=0A=
							found =3D filter( item, match, i, curLoop );=0A=
							var pass =3D not ^ !!found;=0A=
=0A=
							if ( inplace && found !=3D null ) {=0A=
								if ( pass ) {=0A=
									anyFound =3D true;=0A=
								} else {=0A=
									curLoop[i] =3D false;=0A=
								}=0A=
							} else if ( pass ) {=0A=
								result.push( item );=0A=
								anyFound =3D true;=0A=
							}=0A=
						}=0A=
					}=0A=
				}=0A=
=0A=
				if ( found !=3D=3D undefined ) {=0A=
					if ( !inplace ) {=0A=
						curLoop =3D result;=0A=
					}=0A=
=0A=
					expr =3D expr.replace( Expr.match[ type ], "" );=0A=
=0A=
					if ( !anyFound ) {=0A=
						return [];=0A=
					}=0A=
=0A=
					break;=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		// Improper expression=0A=
		if ( expr =3D=3D=3D old ) {=0A=
			if ( anyFound =3D=3D null ) {=0A=
				Sizzle.error( expr );=0A=
			} else {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		old =3D expr;=0A=
	}=0A=
=0A=
	return curLoop;=0A=
};=0A=
=0A=
Sizzle.error =3D function( msg ) {=0A=
	throw "Syntax error, unrecognized expression: " + msg;=0A=
};=0A=
=0A=
var Expr =3D Sizzle.selectors =3D {=0A=
	order: [ "ID", "NAME", "TAG" ],=0A=
	match: {=0A=
		ID: /#((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A=
		CLASS: /\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,=0A=
		NAME: /\[name=3D['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,=0A=
		ATTR: =
/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=3D)\s*(['"]*)(.*?)\3|)\s*\]=
/,=0A=
		TAG: /^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,=0A=
		CHILD: /:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,=0A=
		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=3D[^-]|$)/,=0A=
		PSEUDO: =
/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\)=
)?/=0A=
	},=0A=
	leftMatch: {},=0A=
	attrMap: {=0A=
		"class": "className",=0A=
		"for": "htmlFor"=0A=
	},=0A=
	attrHandle: {=0A=
		href: function(elem){=0A=
			return elem.getAttribute("href");=0A=
		}=0A=
	},=0A=
	relative: {=0A=
		"+": function(checkSet, part){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string",=0A=
				isTag =3D isPartStr && !/\W/.test(part),=0A=
				isPartStrNotTag =3D isPartStr && !isTag;=0A=
=0A=
			if ( isTag ) {=0A=
				part =3D part.toLowerCase();=0A=
			}=0A=
=0A=
			for ( var i =3D 0, l =3D checkSet.length, elem; i < l; i++ ) {=0A=
				if ( (elem =3D checkSet[i]) ) {=0A=
					while ( (elem =3D elem.previousSibling) && elem.nodeType !=3D=3D 1 =
) {}=0A=
=0A=
					checkSet[i] =3D isPartStrNotTag || elem && =
elem.nodeName.toLowerCase() =3D=3D=3D part ?=0A=
						elem || false :=0A=
						elem =3D=3D=3D part;=0A=
				}=0A=
			}=0A=
=0A=
			if ( isPartStrNotTag ) {=0A=
				Sizzle.filter( part, checkSet, true );=0A=
			}=0A=
		},=0A=
		">": function(checkSet, part){=0A=
			var isPartStr =3D typeof part =3D=3D=3D "string";=0A=
=0A=
			if ( isPartStr && !/\W/.test(part) ) {=0A=
				part =3D part.toLowerCase();=0A=
=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						var parent =3D elem.parentNode;=0A=
						checkSet[i] =3D parent.nodeName.toLowerCase() =3D=3D=3D part ? =
parent : false;=0A=
					}=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
					var elem =3D checkSet[i];=0A=
					if ( elem ) {=0A=
						checkSet[i] =3D isPartStr ?=0A=
							elem.parentNode :=0A=
							elem.parentNode =3D=3D=3D part;=0A=
					}=0A=
				}=0A=
=0A=
				if ( isPartStr ) {=0A=
					Sizzle.filter( part, checkSet, true );=0A=
				}=0A=
			}=0A=
		},=0A=
		"": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A=
				var nodeCheck =3D part =3D part.toLowerCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("parentNode", part, doneName, checkSet, nodeCheck, isXML);=0A=
		},=0A=
		"~": function(checkSet, part, isXML){=0A=
			var doneName =3D done++, checkFn =3D dirCheck;=0A=
=0A=
			if ( typeof part =3D=3D=3D "string" && !/\W/.test(part) ) {=0A=
				var nodeCheck =3D part =3D part.toLowerCase();=0A=
				checkFn =3D dirNodeCheck;=0A=
			}=0A=
=0A=
			checkFn("previousSibling", part, doneName, checkSet, nodeCheck, =
isXML);=0A=
		}=0A=
	},=0A=
	find: {=0A=
		ID: function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				return m ? [m] : [];=0A=
			}=0A=
		},=0A=
		NAME: function(match, context){=0A=
			if ( typeof context.getElementsByName !=3D=3D "undefined" ) {=0A=
				var ret =3D [], results =3D context.getElementsByName(match[1]);=0A=
=0A=
				for ( var i =3D 0, l =3D results.length; i < l; i++ ) {=0A=
					if ( results[i].getAttribute("name") =3D=3D=3D match[1] ) {=0A=
						ret.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				return ret.length =3D=3D=3D 0 ? null : ret;=0A=
			}=0A=
		},=0A=
		TAG: function(match, context){=0A=
			return context.getElementsByTagName(match[1]);=0A=
		}=0A=
	},=0A=
	preFilter: {=0A=
		CLASS: function(match, curLoop, inplace, result, not, isXML){=0A=
			match =3D " " + match[1].replace(/\\/g, "") + " ";=0A=
=0A=
			if ( isXML ) {=0A=
				return match;=0A=
			}=0A=
=0A=
			for ( var i =3D 0, elem; (elem =3D curLoop[i]) !=3D null; i++ ) {=0A=
				if ( elem ) {=0A=
					if ( not ^ (elem.className && (" " + elem.className + " =
").replace(/[\t\n]/g, " ").indexOf(match) >=3D 0) ) {=0A=
						if ( !inplace ) {=0A=
							result.push( elem );=0A=
						}=0A=
					} else if ( inplace ) {=0A=
						curLoop[i] =3D false;=0A=
					}=0A=
				}=0A=
			}=0A=
=0A=
			return false;=0A=
		},=0A=
		ID: function(match){=0A=
			return match[1].replace(/\\/g, "");=0A=
		},=0A=
		TAG: function(match, curLoop){=0A=
			return match[1].toLowerCase();=0A=
		},=0A=
		CHILD: function(match){=0A=
			if ( match[1] =3D=3D=3D "nth" ) {=0A=
				// parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', =
'-n+6'=0A=
				var test =3D /(-?)(\d*)n((?:\+|-)?\d*)/.exec(=0A=
					match[2] =3D=3D=3D "even" && "2n" || match[2] =3D=3D=3D "odd" && =
"2n+1" ||=0A=
					!/\D/.test( match[2] ) && "0n+" + match[2] || match[2]);=0A=
=0A=
				// calculate the numbers (first)n+(last) including if they are =
negative=0A=
				match[2] =3D (test[1] + (test[2] || 1)) - 0;=0A=
				match[3] =3D test[3] - 0;=0A=
			}=0A=
=0A=
			// TODO: Move to normal caching system=0A=
			match[0] =3D done++;=0A=
=0A=
			return match;=0A=
		},=0A=
		ATTR: function(match, curLoop, inplace, result, not, isXML){=0A=
			var name =3D match[1].replace(/\\/g, "");=0A=
			=0A=
			if ( !isXML && Expr.attrMap[name] ) {=0A=
				match[1] =3D Expr.attrMap[name];=0A=
			}=0A=
=0A=
			if ( match[2] =3D=3D=3D "~=3D" ) {=0A=
				match[4] =3D " " + match[4] + " ";=0A=
			}=0A=
=0A=
			return match;=0A=
		},=0A=
		PSEUDO: function(match, curLoop, inplace, result, not){=0A=
			if ( match[1] =3D=3D=3D "not" ) {=0A=
				// If we're dealing with a complex expression, or a simple one=0A=
				if ( ( chunker.exec(match[3]) || "" ).length > 1 || =
/^\w/.test(match[3]) ) {=0A=
					match[3] =3D Sizzle(match[3], null, null, curLoop);=0A=
				} else {=0A=
					var ret =3D Sizzle.filter(match[3], curLoop, inplace, true ^ not);=0A=
					if ( !inplace ) {=0A=
						result.push.apply( result, ret );=0A=
					}=0A=
					return false;=0A=
				}=0A=
			} else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( =
match[0] ) ) {=0A=
				return true;=0A=
			}=0A=
			=0A=
			return match;=0A=
		},=0A=
		POS: function(match){=0A=
			match.unshift( true );=0A=
			return match;=0A=
		}=0A=
	},=0A=
	filters: {=0A=
		enabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D false && elem.type !=3D=3D "hidden";=0A=
		},=0A=
		disabled: function(elem){=0A=
			return elem.disabled =3D=3D=3D true;=0A=
		},=0A=
		checked: function(elem){=0A=
			return elem.checked =3D=3D=3D true;=0A=
		},=0A=
		selected: function(elem){=0A=
			// Accessing this property makes selected-by-default=0A=
			// options in Safari work properly=0A=
			elem.parentNode.selectedIndex;=0A=
			return elem.selected =3D=3D=3D true;=0A=
		},=0A=
		parent: function(elem){=0A=
			return !!elem.firstChild;=0A=
		},=0A=
		empty: function(elem){=0A=
			return !elem.firstChild;=0A=
		},=0A=
		has: function(elem, i, match){=0A=
			return !!Sizzle( match[3], elem ).length;=0A=
		},=0A=
		header: function(elem){=0A=
			return /h\d/i.test( elem.nodeName );=0A=
		},=0A=
		text: function(elem){=0A=
			return "text" =3D=3D=3D elem.type;=0A=
		},=0A=
		radio: function(elem){=0A=
			return "radio" =3D=3D=3D elem.type;=0A=
		},=0A=
		checkbox: function(elem){=0A=
			return "checkbox" =3D=3D=3D elem.type;=0A=
		},=0A=
		file: function(elem){=0A=
			return "file" =3D=3D=3D elem.type;=0A=
		},=0A=
		password: function(elem){=0A=
			return "password" =3D=3D=3D elem.type;=0A=
		},=0A=
		submit: function(elem){=0A=
			return "submit" =3D=3D=3D elem.type;=0A=
		},=0A=
		image: function(elem){=0A=
			return "image" =3D=3D=3D elem.type;=0A=
		},=0A=
		reset: function(elem){=0A=
			return "reset" =3D=3D=3D elem.type;=0A=
		},=0A=
		button: function(elem){=0A=
			return "button" =3D=3D=3D elem.type || elem.nodeName.toLowerCase() =
=3D=3D=3D "button";=0A=
		},=0A=
		input: function(elem){=0A=
			return /input|select|textarea|button/i.test(elem.nodeName);=0A=
		}=0A=
	},=0A=
	setFilters: {=0A=
		first: function(elem, i){=0A=
			return i =3D=3D=3D 0;=0A=
		},=0A=
		last: function(elem, i, match, array){=0A=
			return i =3D=3D=3D array.length - 1;=0A=
		},=0A=
		even: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 0;=0A=
		},=0A=
		odd: function(elem, i){=0A=
			return i % 2 =3D=3D=3D 1;=0A=
		},=0A=
		lt: function(elem, i, match){=0A=
			return i < match[3] - 0;=0A=
		},=0A=
		gt: function(elem, i, match){=0A=
			return i > match[3] - 0;=0A=
		},=0A=
		nth: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D=3D i;=0A=
		},=0A=
		eq: function(elem, i, match){=0A=
			return match[3] - 0 =3D=3D=3D i;=0A=
		}=0A=
	},=0A=
	filter: {=0A=
		PSEUDO: function(elem, match, i, array){=0A=
			var name =3D match[1], filter =3D Expr.filters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			} else if ( name =3D=3D=3D "contains" ) {=0A=
				return (elem.textContent || elem.innerText || getText([ elem ]) || =
"").indexOf(match[3]) >=3D 0;=0A=
			} else if ( name =3D=3D=3D "not" ) {=0A=
				var not =3D match[3];=0A=
=0A=
				for ( var i =3D 0, l =3D not.length; i < l; i++ ) {=0A=
					if ( not[i] =3D=3D=3D elem ) {=0A=
						return false;=0A=
					}=0A=
				}=0A=
=0A=
				return true;=0A=
			} else {=0A=
				Sizzle.error( "Syntax error, unrecognized expression: " + name );=0A=
			}=0A=
		},=0A=
		CHILD: function(elem, match){=0A=
			var type =3D match[1], node =3D elem;=0A=
			switch (type) {=0A=
				case 'only':=0A=
				case 'first':=0A=
					while ( (node =3D node.previousSibling) )	 {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) { =0A=
							return false; =0A=
						}=0A=
					}=0A=
					if ( type =3D=3D=3D "first" ) { =0A=
						return true; =0A=
					}=0A=
					node =3D elem;=0A=
				case 'last':=0A=
					while ( (node =3D node.nextSibling) )	 {=0A=
						if ( node.nodeType =3D=3D=3D 1 ) { =0A=
							return false; =0A=
						}=0A=
					}=0A=
					return true;=0A=
				case 'nth':=0A=
					var first =3D match[2], last =3D match[3];=0A=
=0A=
					if ( first =3D=3D=3D 1 && last =3D=3D=3D 0 ) {=0A=
						return true;=0A=
					}=0A=
					=0A=
					var doneName =3D match[0],=0A=
						parent =3D elem.parentNode;=0A=
	=0A=
					if ( parent && (parent.sizcache !=3D=3D doneName || =
!elem.nodeIndex) ) {=0A=
						var count =3D 0;=0A=
						for ( node =3D parent.firstChild; node; node =3D node.nextSibling =
) {=0A=
							if ( node.nodeType =3D=3D=3D 1 ) {=0A=
								node.nodeIndex =3D ++count;=0A=
							}=0A=
						} =0A=
						parent.sizcache =3D doneName;=0A=
					}=0A=
					=0A=
					var diff =3D elem.nodeIndex - last;=0A=
					if ( first =3D=3D=3D 0 ) {=0A=
						return diff =3D=3D=3D 0;=0A=
					} else {=0A=
						return ( diff % first =3D=3D=3D 0 && diff / first >=3D 0 );=0A=
					}=0A=
			}=0A=
		},=0A=
		ID: function(elem, match){=0A=
			return elem.nodeType =3D=3D=3D 1 && elem.getAttribute("id") =3D=3D=3D =
match;=0A=
		},=0A=
		TAG: function(elem, match){=0A=
			return (match =3D=3D=3D "*" && elem.nodeType =3D=3D=3D 1) || =
elem.nodeName.toLowerCase() =3D=3D=3D match;=0A=
		},=0A=
		CLASS: function(elem, match){=0A=
			return (" " + (elem.className || elem.getAttribute("class")) + " ")=0A=
				.indexOf( match ) > -1;=0A=
		},=0A=
		ATTR: function(elem, match){=0A=
			var name =3D match[1],=0A=
				result =3D Expr.attrHandle[ name ] ?=0A=
					Expr.attrHandle[ name ]( elem ) :=0A=
					elem[ name ] !=3D null ?=0A=
						elem[ name ] :=0A=
						elem.getAttribute( name ),=0A=
				value =3D result + "",=0A=
				type =3D match[2],=0A=
				check =3D match[4];=0A=
=0A=
			return result =3D=3D null ?=0A=
				type =3D=3D=3D "!=3D" :=0A=
				type =3D=3D=3D "=3D" ?=0A=
				value =3D=3D=3D check :=0A=
				type =3D=3D=3D "*=3D" ?=0A=
				value.indexOf(check) >=3D 0 :=0A=
				type =3D=3D=3D "~=3D" ?=0A=
				(" " + value + " ").indexOf(check) >=3D 0 :=0A=
				!check ?=0A=
				value && result !=3D=3D false :=0A=
				type =3D=3D=3D "!=3D" ?=0A=
				value !=3D=3D check :=0A=
				type =3D=3D=3D "^=3D" ?=0A=
				value.indexOf(check) =3D=3D=3D 0 :=0A=
				type =3D=3D=3D "$=3D" ?=0A=
				value.substr(value.length - check.length) =3D=3D=3D check :=0A=
				type =3D=3D=3D "|=3D" ?=0A=
				value =3D=3D=3D check || value.substr(0, check.length + 1) =3D=3D=3D =
check + "-" :=0A=
				false;=0A=
		},=0A=
		POS: function(elem, match, i, array){=0A=
			var name =3D match[2], filter =3D Expr.setFilters[ name ];=0A=
=0A=
			if ( filter ) {=0A=
				return filter( elem, i, match, array );=0A=
			}=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
var origPOS =3D Expr.match.POS;=0A=
=0A=
for ( var type in Expr.match ) {=0A=
	Expr.match[ type ] =3D new RegExp( Expr.match[ type ].source + =
/(?![^\[]*\])(?![^\(]*\))/.source );=0A=
	Expr.leftMatch[ type ] =3D new RegExp( /(^(?:.|\r|\n)*?)/.source + =
Expr.match[ type ].source.replace(/\\(\d+)/g, function(all, num){=0A=
		return "\\" + (num - 0 + 1);=0A=
	}));=0A=
}=0A=
=0A=
var makeArray =3D function(array, results) {=0A=
	array =3D Array.prototype.slice.call( array, 0 );=0A=
=0A=
	if ( results ) {=0A=
		results.push.apply( results, array );=0A=
		return results;=0A=
	}=0A=
	=0A=
	return array;=0A=
};=0A=
=0A=
// Perform a simple check to determine if the browser is capable of=0A=
// converting a NodeList to an array using builtin methods.=0A=
// Also verifies that the returned array holds DOM nodes=0A=
// (which is not the case in the Blackberry browser)=0A=
try {=0A=
	Array.prototype.slice.call( document.documentElement.childNodes, 0 =
)[0].nodeType;=0A=
=0A=
// Provide a fallback method if it does not work=0A=
} catch(e){=0A=
	makeArray =3D function(array, results) {=0A=
		var ret =3D results || [];=0A=
=0A=
		if ( toString.call(array) =3D=3D=3D "[object Array]" ) {=0A=
			Array.prototype.push.apply( ret, array );=0A=
		} else {=0A=
			if ( typeof array.length =3D=3D=3D "number" ) {=0A=
				for ( var i =3D 0, l =3D array.length; i < l; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			} else {=0A=
				for ( var i =3D 0; array[i]; i++ ) {=0A=
					ret.push( array[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
var sortOrder;=0A=
=0A=
if ( document.documentElement.compareDocumentPosition ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.compareDocumentPosition ? -1 : 1;=0A=
		}=0A=
=0A=
		var ret =3D a.compareDocumentPosition(b) & 4 ? -1 : a =3D=3D=3D b ? 0 =
: 1;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( "sourceIndex" in document.documentElement ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.sourceIndex || !b.sourceIndex ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.sourceIndex ? -1 : 1;=0A=
		}=0A=
=0A=
		var ret =3D a.sourceIndex - b.sourceIndex;=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
} else if ( document.createRange ) {=0A=
	sortOrder =3D function( a, b ) {=0A=
		if ( !a.ownerDocument || !b.ownerDocument ) {=0A=
			if ( a =3D=3D b ) {=0A=
				hasDuplicate =3D true;=0A=
			}=0A=
			return a.ownerDocument ? -1 : 1;=0A=
		}=0A=
=0A=
		var aRange =3D a.ownerDocument.createRange(), bRange =3D =
b.ownerDocument.createRange();=0A=
		aRange.setStart(a, 0);=0A=
		aRange.setEnd(a, 0);=0A=
		bRange.setStart(b, 0);=0A=
		bRange.setEnd(b, 0);=0A=
		var ret =3D aRange.compareBoundaryPoints(Range.START_TO_END, bRange);=0A=
		if ( ret =3D=3D=3D 0 ) {=0A=
			hasDuplicate =3D true;=0A=
		}=0A=
		return ret;=0A=
	};=0A=
}=0A=
=0A=
// Utility function for retreiving the text value of an array of DOM =
nodes=0A=
function getText( elems ) {=0A=
	var ret =3D "", elem;=0A=
=0A=
	for ( var i =3D 0; elems[i]; i++ ) {=0A=
		elem =3D elems[i];=0A=
=0A=
		// Get the text from text nodes and CDATA nodes=0A=
		if ( elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 4 ) {=0A=
			ret +=3D elem.nodeValue;=0A=
=0A=
		// Traverse everything else, except comment nodes=0A=
		} else if ( elem.nodeType !=3D=3D 8 ) {=0A=
			ret +=3D getText( elem.childNodes );=0A=
		}=0A=
	}=0A=
=0A=
	return ret;=0A=
}=0A=
=0A=
// Check to see if the browser returns elements by name when=0A=
// querying by getElementById (and provide a workaround)=0A=
(function(){=0A=
	// We're going to inject a fake input element with a specified name=0A=
	var form =3D document.createElement("div"),=0A=
		id =3D "script" + (new Date).getTime();=0A=
	form.innerHTML =3D "<a name=3D'" + id + "'/>";=0A=
=0A=
	// Inject it into the root element, check its status, and remove it =
quickly=0A=
	var root =3D document.documentElement;=0A=
	root.insertBefore( form, root.firstChild );=0A=
=0A=
	// The workaround has to do additional checks after a getElementById=0A=
	// Which slows things down for other browsers (hence the branching)=0A=
	if ( document.getElementById( id ) ) {=0A=
		Expr.find.ID =3D function(match, context, isXML){=0A=
			if ( typeof context.getElementById !=3D=3D "undefined" && !isXML ) {=0A=
				var m =3D context.getElementById(match[1]);=0A=
				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 : [];=0A=
			}=0A=
		};=0A=
=0A=
		Expr.filter.ID =3D function(elem, match){=0A=
			var node =3D typeof elem.getAttributeNode !=3D=3D "undefined" && =
elem.getAttributeNode("id");=0A=
			return elem.nodeType =3D=3D=3D 1 && node && node.nodeValue =3D=3D=3D =
match;=0A=
		};=0A=
	}=0A=
=0A=
	root.removeChild( form );=0A=
	root =3D form =3D null; // release memory in IE=0A=
})();=0A=
=0A=
(function(){=0A=
	// Check to see if the browser returns only elements=0A=
	// when doing getElementsByTagName("*")=0A=
=0A=
	// Create a fake element=0A=
	var div =3D document.createElement("div");=0A=
	div.appendChild( document.createComment("") );=0A=
=0A=
	// Make sure no comments are found=0A=
	if ( div.getElementsByTagName("*").length > 0 ) {=0A=
		Expr.find.TAG =3D function(match, context){=0A=
			var results =3D context.getElementsByTagName(match[1]);=0A=
=0A=
			// Filter out possible comments=0A=
			if ( match[1] =3D=3D=3D "*" ) {=0A=
				var tmp =3D [];=0A=
=0A=
				for ( var i =3D 0; results[i]; i++ ) {=0A=
					if ( results[i].nodeType =3D=3D=3D 1 ) {=0A=
						tmp.push( results[i] );=0A=
					}=0A=
				}=0A=
=0A=
				results =3D tmp;=0A=
			}=0A=
=0A=
			return results;=0A=
		};=0A=
	}=0A=
=0A=
	// Check to see if an attribute returns normalized href attributes=0A=
	div.innerHTML =3D "<a href=3D'#'></a>";=0A=
	if ( div.firstChild && typeof div.firstChild.getAttribute !=3D=3D =
"undefined" &&=0A=
			div.firstChild.getAttribute("href") !=3D=3D "#" ) {=0A=
		Expr.attrHandle.href =3D function(elem){=0A=
			return elem.getAttribute("href", 2);=0A=
		};=0A=
	}=0A=
=0A=
	div =3D null; // release memory in IE=0A=
})();=0A=
=0A=
if ( document.querySelectorAll ) {=0A=
	(function(){=0A=
		var oldSizzle =3D Sizzle, div =3D document.createElement("div");=0A=
		div.innerHTML =3D "<p class=3D'TEST'></p>";=0A=
=0A=
		// Safari can't handle uppercase or unicode characters when=0A=
		// in quirks mode.=0A=
		if ( div.querySelectorAll && div.querySelectorAll(".TEST").length =
=3D=3D=3D 0 ) {=0A=
			return;=0A=
		}=0A=
	=0A=
		Sizzle =3D function(query, context, extra, seed){=0A=
			context =3D context || document;=0A=
=0A=
			// Only use querySelectorAll on non-XML documents=0A=
			// (ID selectors don't work in non-HTML documents)=0A=
			if ( !seed && context.nodeType =3D=3D=3D 9 && !isXML(context) ) {=0A=
				try {=0A=
					return makeArray( context.querySelectorAll(query), extra );=0A=
				} catch(e){}=0A=
			}=0A=
		=0A=
			return oldSizzle(query, context, extra, seed);=0A=
		};=0A=
=0A=
		for ( var prop in oldSizzle ) {=0A=
			Sizzle[ prop ] =3D oldSizzle[ prop ];=0A=
		}=0A=
=0A=
		div =3D null; // release memory in IE=0A=
	})();=0A=
}=0A=
=0A=
(function(){=0A=
	var div =3D document.createElement("div");=0A=
=0A=
	div.innerHTML =3D "<div class=3D'test e'></div><div =
class=3D'test'></div>";=0A=
=0A=
	// Opera can't find a second classname (in 9.6)=0A=
	// Also, make sure that getElementsByClassName actually exists=0A=
	if ( !div.getElementsByClassName || =
div.getElementsByClassName("e").length =3D=3D=3D 0 ) {=0A=
		return;=0A=
	}=0A=
=0A=
	// Safari caches class attributes, doesn't catch changes (in 3.2)=0A=
	div.lastChild.className =3D "e";=0A=
=0A=
	if ( div.getElementsByClassName("e").length =3D=3D=3D 1 ) {=0A=
		return;=0A=
	}=0A=
	=0A=
	Expr.order.splice(1, 0, "CLASS");=0A=
	Expr.find.CLASS =3D function(match, context, isXML) {=0A=
		if ( typeof context.getElementsByClassName !=3D=3D "undefined" && =
!isXML ) {=0A=
			return context.getElementsByClassName(match[1]);=0A=
		}=0A=
	};=0A=
=0A=
	div =3D null; // release memory in IE=0A=
})();=0A=
=0A=
function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 && !isXML ){=0A=
					elem.sizcache =3D doneName;=0A=
					elem.sizset =3D i;=0A=
				}=0A=
=0A=
				if ( elem.nodeName.toLowerCase() =3D=3D=3D cur ) {=0A=
					match =3D elem;=0A=
					break;=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) {=0A=
	for ( var i =3D 0, l =3D checkSet.length; i < l; i++ ) {=0A=
		var elem =3D checkSet[i];=0A=
		if ( elem ) {=0A=
			elem =3D elem[dir];=0A=
			var match =3D false;=0A=
=0A=
			while ( elem ) {=0A=
				if ( elem.sizcache =3D=3D=3D doneName ) {=0A=
					match =3D checkSet[elem.sizset];=0A=
					break;=0A=
				}=0A=
=0A=
				if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
					if ( !isXML ) {=0A=
						elem.sizcache =3D doneName;=0A=
						elem.sizset =3D i;=0A=
					}=0A=
					if ( typeof cur !=3D=3D "string" ) {=0A=
						if ( elem =3D=3D=3D cur ) {=0A=
							match =3D true;=0A=
							break;=0A=
						}=0A=
=0A=
					} else if ( Sizzle.filter( cur, [elem] ).length > 0 ) {=0A=
						match =3D elem;=0A=
						break;=0A=
					}=0A=
				}=0A=
=0A=
				elem =3D elem[dir];=0A=
			}=0A=
=0A=
			checkSet[i] =3D match;=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
var contains =3D document.compareDocumentPosition ? function(a, b){=0A=
	return !!(a.compareDocumentPosition(b) & 16);=0A=
} : function(a, b){=0A=
	return a !=3D=3D b && (a.contains ? a.contains(b) : true);=0A=
};=0A=
=0A=
var isXML =3D function(elem){=0A=
	// documentElement is verified for cases where it doesn't yet exist=0A=
	// (such as loading iframes in IE - #4833) =0A=
	var documentElement =3D (elem ? elem.ownerDocument || elem : =
0).documentElement;=0A=
	return documentElement ? documentElement.nodeName !=3D=3D "HTML" : =
false;=0A=
};=0A=
=0A=
var posProcess =3D function(selector, context){=0A=
	var tmpSet =3D [], later =3D "", match,=0A=
		root =3D context.nodeType ? [context] : context;=0A=
=0A=
	// Position selectors must be done after the filter=0A=
	// And so must :not(positional) so we move all PSEUDOs to the end=0A=
	while ( (match =3D Expr.match.PSEUDO.exec( selector )) ) {=0A=
		later +=3D match[0];=0A=
		selector =3D selector.replace( Expr.match.PSEUDO, "" );=0A=
	}=0A=
=0A=
	selector =3D Expr.relative[selector] ? selector + "*" : selector;=0A=
=0A=
	for ( var i =3D 0, l =3D root.length; i < l; i++ ) {=0A=
		Sizzle( selector, root[i], tmpSet );=0A=
	}=0A=
=0A=
	return Sizzle.filter( later, tmpSet );=0A=
};=0A=
=0A=
// EXPOSE=0A=
jQuery.find =3D Sizzle;=0A=
jQuery.expr =3D Sizzle.selectors;=0A=
jQuery.expr[":"] =3D jQuery.expr.filters;=0A=
jQuery.unique =3D Sizzle.uniqueSort;=0A=
jQuery.text =3D getText;=0A=
jQuery.isXMLDoc =3D isXML;=0A=
jQuery.contains =3D contains;=0A=
=0A=
return;=0A=
=0A=
window.Sizzle =3D Sizzle;=0A=
=0A=
})();=0A=
var runtil =3D /Until$/,=0A=
	rparentsprev =3D /^(?:parents|prevUntil|prevAll)/,=0A=
	// Note: This RegExp should be improved, or likely pulled from Sizzle=0A=
	rmultiselector =3D /,/,=0A=
	slice =3D Array.prototype.slice;=0A=
=0A=
// Implement the identical functionality for filter and not=0A=
var winnow =3D function( elements, qualifier, keep ) {=0A=
	if ( jQuery.isFunction( qualifier ) ) {=0A=
		return jQuery.grep(elements, function( elem, i ) {=0A=
			return !!qualifier.call( elem, i, elem ) =3D=3D=3D keep;=0A=
		});=0A=
=0A=
	} else if ( qualifier.nodeType ) {=0A=
		return jQuery.grep(elements, function( elem, i ) {=0A=
			return (elem =3D=3D=3D qualifier) =3D=3D=3D keep;=0A=
		});=0A=
=0A=
	} else if ( typeof qualifier =3D=3D=3D "string" ) {=0A=
		var filtered =3D jQuery.grep(elements, function( elem ) {=0A=
			return elem.nodeType =3D=3D=3D 1;=0A=
		});=0A=
=0A=
		if ( isSimple.test( qualifier ) ) {=0A=
			return jQuery.filter(qualifier, filtered, !keep);=0A=
		} else {=0A=
			qualifier =3D jQuery.filter( qualifier, filtered );=0A=
		}=0A=
	}=0A=
=0A=
	return jQuery.grep(elements, function( elem, i ) {=0A=
		return (jQuery.inArray( elem, qualifier ) >=3D 0) =3D=3D=3D keep;=0A=
	});=0A=
};=0A=
=0A=
jQuery.fn.extend({=0A=
	find: function( selector ) {=0A=
		var ret =3D this.pushStack( "", "find", selector ), length =3D 0;=0A=
=0A=
		for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
			length =3D ret.length;=0A=
			jQuery.find( selector, this[i], ret );=0A=
=0A=
			if ( i > 0 ) {=0A=
				// Make sure that the results are unique=0A=
				for ( var n =3D length; n < ret.length; n++ ) {=0A=
					for ( var r =3D 0; r < length; r++ ) {=0A=
						if ( ret[r] =3D=3D=3D ret[n] ) {=0A=
							ret.splice(n--, 1);=0A=
							break;=0A=
						}=0A=
					}=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	has: function( target ) {=0A=
		var targets =3D jQuery( target );=0A=
		return this.filter(function() {=0A=
			for ( var i =3D 0, l =3D targets.length; i < l; i++ ) {=0A=
				if ( jQuery.contains( this, targets[i] ) ) {=0A=
					return true;=0A=
				}=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	not: function( selector ) {=0A=
		return this.pushStack( winnow(this, selector, false), "not", selector);=0A=
	},=0A=
=0A=
	filter: function( selector ) {=0A=
		return this.pushStack( winnow(this, selector, true), "filter", =
selector );=0A=
	},=0A=
	=0A=
	is: function( selector ) {=0A=
		return !!selector && jQuery.filter( selector, this ).length > 0;=0A=
	},=0A=
=0A=
	closest: function( selectors, context ) {=0A=
		if ( jQuery.isArray( selectors ) ) {=0A=
			var ret =3D [], cur =3D this[0], match, matches =3D {}, selector;=0A=
=0A=
			if ( cur && selectors.length ) {=0A=
				for ( var i =3D 0, l =3D selectors.length; i < l; i++ ) {=0A=
					selector =3D selectors[i];=0A=
=0A=
					if ( !matches[selector] ) {=0A=
						matches[selector] =3D jQuery.expr.match.POS.test( selector ) ? =0A=
							jQuery( selector, context || this.context ) :=0A=
							selector;=0A=
					}=0A=
				}=0A=
=0A=
				while ( cur && cur.ownerDocument && cur !=3D=3D context ) {=0A=
					for ( selector in matches ) {=0A=
						match =3D matches[selector];=0A=
=0A=
						if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) =
) {=0A=
							ret.push({ selector: selector, elem: cur });=0A=
							delete matches[selector];=0A=
						}=0A=
					}=0A=
					cur =3D cur.parentNode;=0A=
				}=0A=
			}=0A=
=0A=
			return ret;=0A=
		}=0A=
=0A=
		var pos =3D jQuery.expr.match.POS.test( selectors ) ? =0A=
			jQuery( selectors, context || this.context ) : null;=0A=
=0A=
		return this.map(function( i, cur ) {=0A=
			while ( cur && cur.ownerDocument && cur !=3D=3D context ) {=0A=
				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selectors) ) {=0A=
					return cur;=0A=
				}=0A=
				cur =3D cur.parentNode;=0A=
			}=0A=
			return null;=0A=
		});=0A=
	},=0A=
	=0A=
	// Determine the position of an element within=0A=
	// the matched set of elements=0A=
	index: function( elem ) {=0A=
		if ( !elem || typeof elem =3D=3D=3D "string" ) {=0A=
			return jQuery.inArray( this[0],=0A=
				// If it receives a string, the selector is used=0A=
				// If it receives nothing, the siblings are used=0A=
				elem ? jQuery( elem ) : this.parent().children() );=0A=
		}=0A=
		// Locate the position of the desired element=0A=
		return jQuery.inArray(=0A=
			// If it receives a jQuery object, the first element is used=0A=
			elem.jquery ? elem[0] : elem, this );=0A=
	},=0A=
=0A=
	add: function( selector, context ) {=0A=
		var set =3D typeof selector =3D=3D=3D "string" ?=0A=
				jQuery( selector, context || this.context ) :=0A=
				jQuery.makeArray( selector ),=0A=
			all =3D jQuery.merge( this.get(), set );=0A=
=0A=
		return this.pushStack( isDisconnected( set[0] ) || isDisconnected( =
all[0] ) ?=0A=
			all :=0A=
			jQuery.unique( all ) );=0A=
	},=0A=
=0A=
	andSelf: function() {=0A=
		return this.add( this.prevObject );=0A=
	}=0A=
});=0A=
=0A=
// A painfully simple check to see if an element is disconnected=0A=
// from a document (should be improved, where feasible).=0A=
function isDisconnected( node ) {=0A=
	return !node || !node.parentNode || node.parentNode.nodeType =3D=3D=3D =
11;=0A=
}=0A=
=0A=
jQuery.each({=0A=
	parent: function( elem ) {=0A=
		var parent =3D elem.parentNode;=0A=
		return parent && parent.nodeType !=3D=3D 11 ? parent : null;=0A=
	},=0A=
	parents: function( elem ) {=0A=
		return jQuery.dir( elem, "parentNode" );=0A=
	},=0A=
	parentsUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "parentNode", until );=0A=
	},=0A=
	next: function( elem ) {=0A=
		return jQuery.nth( elem, 2, "nextSibling" );=0A=
	},=0A=
	prev: function( elem ) {=0A=
		return jQuery.nth( elem, 2, "previousSibling" );=0A=
	},=0A=
	nextAll: function( elem ) {=0A=
		return jQuery.dir( elem, "nextSibling" );=0A=
	},=0A=
	prevAll: function( elem ) {=0A=
		return jQuery.dir( elem, "previousSibling" );=0A=
	},=0A=
	nextUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "nextSibling", until );=0A=
	},=0A=
	prevUntil: function( elem, i, until ) {=0A=
		return jQuery.dir( elem, "previousSibling", until );=0A=
	},=0A=
	siblings: function( elem ) {=0A=
		return jQuery.sibling( elem.parentNode.firstChild, elem );=0A=
	},=0A=
	children: function( elem ) {=0A=
		return jQuery.sibling( elem.firstChild );=0A=
	},=0A=
	contents: function( elem ) {=0A=
		return jQuery.nodeName( elem, "iframe" ) ?=0A=
			elem.contentDocument || elem.contentWindow.document :=0A=
			jQuery.makeArray( elem.childNodes );=0A=
	}=0A=
}, function( name, fn ) {=0A=
	jQuery.fn[ name ] =3D function( until, selector ) {=0A=
		var ret =3D jQuery.map( this, fn, until );=0A=
		=0A=
		if ( !runtil.test( name ) ) {=0A=
			selector =3D until;=0A=
		}=0A=
=0A=
		if ( selector && typeof selector =3D=3D=3D "string" ) {=0A=
			ret =3D jQuery.filter( selector, ret );=0A=
		}=0A=
=0A=
		ret =3D this.length > 1 ? jQuery.unique( ret ) : ret;=0A=
=0A=
		if ( (this.length > 1 || rmultiselector.test( selector )) && =
rparentsprev.test( name ) ) {=0A=
			ret =3D ret.reverse();=0A=
		}=0A=
=0A=
		return this.pushStack( ret, name, slice.call(arguments).join(",") );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	filter: function( expr, elems, not ) {=0A=
		if ( not ) {=0A=
			expr =3D ":not(" + expr + ")";=0A=
		}=0A=
=0A=
		return jQuery.find.matches(expr, elems);=0A=
	},=0A=
	=0A=
	dir: function( elem, dir, until ) {=0A=
		var matched =3D [], cur =3D elem[dir];=0A=
		while ( cur && cur.nodeType !=3D=3D 9 && (until =3D=3D=3D undefined || =
cur.nodeType !=3D=3D 1 || !jQuery( cur ).is( until )) ) {=0A=
			if ( cur.nodeType =3D=3D=3D 1 ) {=0A=
				matched.push( cur );=0A=
			}=0A=
			cur =3D cur[dir];=0A=
		}=0A=
		return matched;=0A=
	},=0A=
=0A=
	nth: function( cur, result, dir, elem ) {=0A=
		result =3D result || 1;=0A=
		var num =3D 0;=0A=
=0A=
		for ( ; cur; cur =3D cur[dir] ) {=0A=
			if ( cur.nodeType =3D=3D=3D 1 && ++num =3D=3D=3D result ) {=0A=
				break;=0A=
			}=0A=
		}=0A=
=0A=
		return cur;=0A=
	},=0A=
=0A=
	sibling: function( n, elem ) {=0A=
		var r =3D [];=0A=
=0A=
		for ( ; n; n =3D n.nextSibling ) {=0A=
			if ( n.nodeType =3D=3D=3D 1 && n !=3D=3D elem ) {=0A=
				r.push( n );=0A=
			}=0A=
		}=0A=
=0A=
		return r;=0A=
	}=0A=
});=0A=
var rinlinejQuery =3D / jQuery\d+=3D"(?:\d+|null)"/g,=0A=
	rleadingWhitespace =3D /^\s+/,=0A=
	rxhtmlTag =3D /(<([\w:]+)[^>]*?)\/>/g,=0A=
	rselfClosing =3D =
/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,=0A=
	rtagName =3D /<([\w:]+)/,=0A=
	rtbody =3D /<tbody/i,=0A=
	rhtml =3D /<|&#?\w+;/,=0A=
	rnocache =3D /<script|<object|<embed|<option|<style/i,=0A=
	rchecked =3D /checked\s*(?:[^=3D]|=3D\s*.checked.)/i,  // =
checked=3D"checked" or checked (html5)=0A=
	fcloseTag =3D function( all, front, tag ) {=0A=
		return rselfClosing.test( tag ) ?=0A=
			all :=0A=
			front + "></" + tag + ">";=0A=
	},=0A=
	wrapMap =3D {=0A=
		option: [ 1, "<select multiple=3D'multiple'>", "</select>" ],=0A=
		legend: [ 1, "<fieldset>", "</fieldset>" ],=0A=
		thead: [ 1, "<table>", "</table>" ],=0A=
		tr: [ 2, "<table><tbody>", "</tbody></table>" ],=0A=
		td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],=0A=
		col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],=0A=
		area: [ 1, "<map>", "</map>" ],=0A=
		_default: [ 0, "", "" ]=0A=
	};=0A=
=0A=
wrapMap.optgroup =3D wrapMap.option;=0A=
wrapMap.tbody =3D wrapMap.tfoot =3D wrapMap.colgroup =3D wrapMap.caption =
=3D wrapMap.thead;=0A=
wrapMap.th =3D wrapMap.td;=0A=
=0A=
// IE can't serialize <link> and <script> tags normally=0A=
if ( !jQuery.support.htmlSerialize ) {=0A=
	wrapMap._default =3D [ 1, "div<div>", "</div>" ];=0A=
}=0A=
=0A=
jQuery.fn.extend({=0A=
	text: function( text ) {=0A=
		if ( jQuery.isFunction(text) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				self.text( text.call(this, i, self.text()) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( typeof text !=3D=3D "object" && text !=3D=3D undefined ) {=0A=
			return this.empty().append( (this[0] && this[0].ownerDocument || =
document).createTextNode( text ) );=0A=
		}=0A=
=0A=
		return jQuery.text( this );=0A=
	},=0A=
=0A=
	wrapAll: function( html ) {=0A=
		if ( jQuery.isFunction( html ) ) {=0A=
			return this.each(function(i) {=0A=
				jQuery(this).wrapAll( html.call(this, i) );=0A=
			});=0A=
		}=0A=
=0A=
		if ( this[0] ) {=0A=
			// The elements to wrap the target around=0A=
			var wrap =3D jQuery( html, this[0].ownerDocument ).eq(0).clone(true);=0A=
=0A=
			if ( this[0].parentNode ) {=0A=
				wrap.insertBefore( this[0] );=0A=
			}=0A=
=0A=
			wrap.map(function() {=0A=
				var elem =3D this;=0A=
=0A=
				while ( elem.firstChild && elem.firstChild.nodeType =3D=3D=3D 1 ) {=0A=
					elem =3D elem.firstChild;=0A=
				}=0A=
=0A=
				return elem;=0A=
			}).append(this);=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	wrapInner: function( html ) {=0A=
		if ( jQuery.isFunction( html ) ) {=0A=
			return this.each(function(i) {=0A=
				jQuery(this).wrapInner( html.call(this, i) );=0A=
			});=0A=
		}=0A=
=0A=
		return this.each(function() {=0A=
			var self =3D jQuery( this ), contents =3D self.contents();=0A=
=0A=
			if ( contents.length ) {=0A=
				contents.wrapAll( html );=0A=
=0A=
			} else {=0A=
				self.append( html );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	wrap: function( html ) {=0A=
		return this.each(function() {=0A=
			jQuery( this ).wrapAll( html );=0A=
		});=0A=
	},=0A=
=0A=
	unwrap: function() {=0A=
		return this.parent().each(function() {=0A=
			if ( !jQuery.nodeName( this, "body" ) ) {=0A=
				jQuery( this ).replaceWith( this.childNodes );=0A=
			}=0A=
		}).end();=0A=
	},=0A=
=0A=
	append: function() {=0A=
		return this.domManip(arguments, true, function( elem ) {=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.appendChild( elem );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	prepend: function() {=0A=
		return this.domManip(arguments, true, function( elem ) {=0A=
			if ( this.nodeType =3D=3D=3D 1 ) {=0A=
				this.insertBefore( elem, this.firstChild );=0A=
			}=0A=
		});=0A=
	},=0A=
=0A=
	before: function() {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			return this.domManip(arguments, false, function( elem ) {=0A=
				this.parentNode.insertBefore( elem, this );=0A=
			});=0A=
		} else if ( arguments.length ) {=0A=
			var set =3D jQuery(arguments[0]);=0A=
			set.push.apply( set, this.toArray() );=0A=
			return this.pushStack( set, "before", arguments );=0A=
		}=0A=
	},=0A=
=0A=
	after: function() {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			return this.domManip(arguments, false, function( elem ) {=0A=
				this.parentNode.insertBefore( elem, this.nextSibling );=0A=
			});=0A=
		} else if ( arguments.length ) {=0A=
			var set =3D this.pushStack( this, "after", arguments );=0A=
			set.push.apply( set, jQuery(arguments[0]).toArray() );=0A=
			return set;=0A=
		}=0A=
	},=0A=
	=0A=
	// keepData is for internal use only--do not document=0A=
	remove: function( selector, keepData ) {=0A=
		for ( var i =3D 0, elem; (elem =3D this[i]) !=3D null; i++ ) {=0A=
			if ( !selector || jQuery.filter( selector, [ elem ] ).length ) {=0A=
				if ( !keepData && elem.nodeType =3D=3D=3D 1 ) {=0A=
					jQuery.cleanData( elem.getElementsByTagName("*") );=0A=
					jQuery.cleanData( [ elem ] );=0A=
				}=0A=
=0A=
				if ( elem.parentNode ) {=0A=
					 elem.parentNode.removeChild( elem );=0A=
				}=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	},=0A=
=0A=
	empty: function() {=0A=
		for ( var i =3D 0, elem; (elem =3D this[i]) !=3D null; i++ ) {=0A=
			// Remove element nodes and prevent memory leaks=0A=
			if ( elem.nodeType =3D=3D=3D 1 ) {=0A=
				jQuery.cleanData( elem.getElementsByTagName("*") );=0A=
			}=0A=
=0A=
			// Remove any remaining nodes=0A=
			while ( elem.firstChild ) {=0A=
				elem.removeChild( elem.firstChild );=0A=
			}=0A=
		}=0A=
		=0A=
		return this;=0A=
	},=0A=
=0A=
	clone: function( events ) {=0A=
		// Do the clone=0A=
		var ret =3D this.map(function() {=0A=
			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {=0A=
				// IE copies events bound via attachEvent when=0A=
				// using cloneNode. Calling detachEvent on the=0A=
				// clone will also remove the events from the orignal=0A=
				// In order to get around this, we use innerHTML.=0A=
				// Unfortunately, this means some modifications to=0A=
				// attributes in IE that are actually only stored=0A=
				// as properties will not be copied (such as the=0A=
				// the name attribute on an input).=0A=
				var html =3D this.outerHTML, ownerDocument =3D this.ownerDocument;=0A=
				if ( !html ) {=0A=
					var div =3D ownerDocument.createElement("div");=0A=
					div.appendChild( this.cloneNode(true) );=0A=
					html =3D div.innerHTML;=0A=
				}=0A=
=0A=
				return jQuery.clean([html.replace(rinlinejQuery, "")=0A=
					// Handle the case in IE 8 where action=3D/test/> self-closes a tag=0A=
					.replace(/=3D([^=3D"'>\s]+\/)>/g, '=3D"$1">')=0A=
					.replace(rleadingWhitespace, "")], ownerDocument)[0];=0A=
			} else {=0A=
				return this.cloneNode(true);=0A=
			}=0A=
		});=0A=
=0A=
		// Copy the events from the original to the clone=0A=
		if ( events =3D=3D=3D true ) {=0A=
			cloneCopyEvent( this, ret );=0A=
			cloneCopyEvent( this.find("*"), ret.find("*") );=0A=
		}=0A=
=0A=
		// Return the cloned set=0A=
		return ret;=0A=
	},=0A=
=0A=
	html: function( value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			return this[0] && this[0].nodeType =3D=3D=3D 1 ?=0A=
				this[0].innerHTML.replace(rinlinejQuery, "") :=0A=
				null;=0A=
=0A=
		// See if we can take a shortcut and just use innerHTML=0A=
		} else if ( typeof value =3D=3D=3D "string" && !rnocache.test( value ) =
&&=0A=
			(jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value =
)) &&=0A=
			!wrapMap[ (rtagName.exec( value ) || ["", ""])[1].toLowerCase() ] ) {=0A=
=0A=
			value =3D value.replace(rxhtmlTag, fcloseTag);=0A=
=0A=
			try {=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
					// Remove element nodes and prevent memory leaks=0A=
					if ( this[i].nodeType =3D=3D=3D 1 ) {=0A=
						jQuery.cleanData( this[i].getElementsByTagName("*") );=0A=
						this[i].innerHTML =3D value;=0A=
					}=0A=
				}=0A=
=0A=
			// If using innerHTML throws an exception, use the fallback method=0A=
			} catch(e) {=0A=
				this.empty().append( value );=0A=
			}=0A=
=0A=
		} else if ( jQuery.isFunction( value ) ) {=0A=
			this.each(function(i){=0A=
				var self =3D jQuery(this), old =3D self.html();=0A=
				self.empty().append(function(){=0A=
					return value.call( this, i, old );=0A=
				});=0A=
			});=0A=
=0A=
		} else {=0A=
			this.empty().append( value );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	replaceWith: function( value ) {=0A=
		if ( this[0] && this[0].parentNode ) {=0A=
			// Make sure that the elements are removed from the DOM before they =
are inserted=0A=
			// this can help fix replacing a parent with child elements=0A=
			if ( jQuery.isFunction( value ) ) {=0A=
				return this.each(function(i) {=0A=
					var self =3D jQuery(this), old =3D self.html();=0A=
					self.replaceWith( value.call( this, i, old ) );=0A=
				});=0A=
			}=0A=
=0A=
			if ( typeof value !=3D=3D "string" ) {=0A=
				value =3D jQuery(value).detach();=0A=
			}=0A=
=0A=
			return this.each(function() {=0A=
				var next =3D this.nextSibling, parent =3D this.parentNode;=0A=
=0A=
				jQuery(this).remove();=0A=
=0A=
				if ( next ) {=0A=
					jQuery(next).before( value );=0A=
				} else {=0A=
					jQuery(parent).append( value );=0A=
				}=0A=
			});=0A=
		} else {=0A=
			return this.pushStack( jQuery(jQuery.isFunction(value) ? value() : =
value), "replaceWith", value );=0A=
		}=0A=
	},=0A=
=0A=
	detach: function( selector ) {=0A=
		return this.remove( selector, true );=0A=
	},=0A=
=0A=
	domManip: function( args, table, callback ) {=0A=
		var results, first, value =3D args[0], scripts =3D [], fragment, =
parent;=0A=
=0A=
		// We can't cloneNode fragments that contain checked, in WebKit=0A=
		if ( !jQuery.support.checkClone && arguments.length =3D=3D=3D 3 && =
typeof value =3D=3D=3D "string" && rchecked.test( value ) ) {=0A=
			return this.each(function() {=0A=
				jQuery(this).domManip( args, table, callback, true );=0A=
			});=0A=
		}=0A=
=0A=
		if ( jQuery.isFunction(value) ) {=0A=
			return this.each(function(i) {=0A=
				var self =3D jQuery(this);=0A=
				args[0] =3D value.call(this, i, table ? self.html() : undefined);=0A=
				self.domManip( args, table, callback );=0A=
			});=0A=
		}=0A=
=0A=
		if ( this[0] ) {=0A=
			parent =3D value && value.parentNode;=0A=
=0A=
			// If we're in a fragment, just use that instead of building a new one=0A=
			if ( jQuery.support.parentNode && parent && parent.nodeType =3D=3D=3D =
11 && parent.childNodes.length =3D=3D=3D this.length ) {=0A=
				results =3D { fragment: parent };=0A=
=0A=
			} else {=0A=
				results =3D buildFragment( args, this, scripts );=0A=
			}=0A=
			=0A=
			fragment =3D results.fragment;=0A=
			=0A=
			if ( fragment.childNodes.length =3D=3D=3D 1 ) {=0A=
				first =3D fragment =3D fragment.firstChild;=0A=
			} else {=0A=
				first =3D fragment.firstChild;=0A=
			}=0A=
=0A=
			if ( first ) {=0A=
				table =3D table && jQuery.nodeName( first, "tr" );=0A=
=0A=
				for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
					callback.call(=0A=
						table ?=0A=
							root(this[i], first) :=0A=
							this[i],=0A=
						i > 0 || results.cacheable || this.length > 1  ?=0A=
							fragment.cloneNode(true) :=0A=
							fragment=0A=
					);=0A=
				}=0A=
			}=0A=
=0A=
			if ( scripts.length ) {=0A=
				jQuery.each( scripts, evalScript );=0A=
			}=0A=
		}=0A=
=0A=
		return this;=0A=
=0A=
		function root( elem, cur ) {=0A=
			return jQuery.nodeName(elem, "table") ?=0A=
				(elem.getElementsByTagName("tbody")[0] ||=0A=
				elem.appendChild(elem.ownerDocument.createElement("tbody"))) :=0A=
				elem;=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
function cloneCopyEvent(orig, ret) {=0A=
	var i =3D 0;=0A=
=0A=
	ret.each(function() {=0A=
		if ( this.nodeName !=3D=3D (orig[i] && orig[i].nodeName) ) {=0A=
			return;=0A=
		}=0A=
=0A=
		var oldData =3D jQuery.data( orig[i++] ), curData =3D jQuery.data( =
this, oldData ), events =3D oldData && oldData.events;=0A=
=0A=
		if ( events ) {=0A=
			delete curData.handle;=0A=
			curData.events =3D {};=0A=
=0A=
			for ( var type in events ) {=0A=
				for ( var handler in events[ type ] ) {=0A=
					jQuery.event.add( this, type, events[ type ][ handler ], events[ =
type ][ handler ].data );=0A=
				}=0A=
			}=0A=
		}=0A=
	});=0A=
}=0A=
=0A=
function buildFragment( args, nodes, scripts ) {=0A=
	var fragment, cacheable, cacheresults,=0A=
		doc =3D (nodes && nodes[0] ? nodes[0].ownerDocument || nodes[0] : =
document);=0A=
=0A=
	// Only cache "small" (1/2 KB) strings that are associated with the =
main document=0A=
	// Cloning options loses the selected state, so don't cache them=0A=
	// IE 6 doesn't like it when you put <object> or <embed> elements in a =
fragment=0A=
	// Also, WebKit does not clone 'checked' attributes on cloneNode, so =
don't cache=0A=
	if ( args.length =3D=3D=3D 1 && typeof args[0] =3D=3D=3D "string" && =
args[0].length < 512 && doc =3D=3D=3D document &&=0A=
		!rnocache.test( args[0] ) && (jQuery.support.checkClone || =
!rchecked.test( args[0] )) ) {=0A=
=0A=
		cacheable =3D true;=0A=
		cacheresults =3D jQuery.fragments[ args[0] ];=0A=
		if ( cacheresults ) {=0A=
			if ( cacheresults !=3D=3D 1 ) {=0A=
				fragment =3D cacheresults;=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	if ( !fragment ) {=0A=
		fragment =3D doc.createDocumentFragment();=0A=
		jQuery.clean( args, doc, fragment, scripts );=0A=
	}=0A=
=0A=
	if ( cacheable ) {=0A=
		jQuery.fragments[ args[0] ] =3D cacheresults ? fragment : 1;=0A=
	}=0A=
=0A=
	return { fragment: fragment, cacheable: cacheable };=0A=
}=0A=
=0A=
jQuery.fragments =3D {};=0A=
=0A=
jQuery.each({=0A=
	appendTo: "append",=0A=
	prependTo: "prepend",=0A=
	insertBefore: "before",=0A=
	insertAfter: "after",=0A=
	replaceAll: "replaceWith"=0A=
}, function( name, original ) {=0A=
	jQuery.fn[ name ] =3D function( selector ) {=0A=
		var ret =3D [], insert =3D jQuery( selector ),=0A=
			parent =3D this.length =3D=3D=3D 1 && this[0].parentNode;=0A=
		=0A=
		if ( parent && parent.nodeType =3D=3D=3D 11 && =
parent.childNodes.length =3D=3D=3D 1 && insert.length =3D=3D=3D 1 ) {=0A=
			insert[ original ]( this[0] );=0A=
			return this;=0A=
			=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D insert.length; i < l; i++ ) {=0A=
				var elems =3D (i > 0 ? this.clone(true) : this).get();=0A=
				jQuery.fn[ original ].apply( jQuery(insert[i]), elems );=0A=
				ret =3D ret.concat( elems );=0A=
			}=0A=
		=0A=
			return this.pushStack( ret, name, insert.selector );=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	clean: function( elems, context, fragment, scripts ) {=0A=
		context =3D context || document;=0A=
=0A=
		// !context.createElement fails in IE with an error but returns typeof =
'object'=0A=
		if ( typeof context.createElement =3D=3D=3D "undefined" ) {=0A=
			context =3D context.ownerDocument || context[0] && =
context[0].ownerDocument || document;=0A=
		}=0A=
=0A=
		var ret =3D [];=0A=
=0A=
		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {=0A=
			if ( typeof elem =3D=3D=3D "number" ) {=0A=
				elem +=3D "";=0A=
			}=0A=
=0A=
			if ( !elem ) {=0A=
				continue;=0A=
			}=0A=
=0A=
			// Convert html string into DOM nodes=0A=
			if ( typeof elem =3D=3D=3D "string" && !rhtml.test( elem ) ) {=0A=
				elem =3D context.createTextNode( elem );=0A=
=0A=
			} else if ( typeof elem =3D=3D=3D "string" ) {=0A=
				// Fix "XHTML"-style tags in all browsers=0A=
				elem =3D elem.replace(rxhtmlTag, fcloseTag);=0A=
=0A=
				// Trim whitespace, otherwise indexOf won't work as expected=0A=
				var tag =3D (rtagName.exec( elem ) || ["", ""])[1].toLowerCase(),=0A=
					wrap =3D wrapMap[ tag ] || wrapMap._default,=0A=
					depth =3D wrap[0],=0A=
					div =3D context.createElement("div");=0A=
=0A=
				// Go to html and back, then peel off extra wrappers=0A=
				div.innerHTML =3D wrap[1] + elem + wrap[2];=0A=
=0A=
				// Move to the right depth=0A=
				while ( depth-- ) {=0A=
					div =3D div.lastChild;=0A=
				}=0A=
=0A=
				// Remove IE's autoinserted <tbody> from table fragments=0A=
				if ( !jQuery.support.tbody ) {=0A=
=0A=
					// String was a <table>, *may* have spurious <tbody>=0A=
					var hasBody =3D rtbody.test(elem),=0A=
						tbody =3D tag =3D=3D=3D "table" && !hasBody ?=0A=
							div.firstChild && div.firstChild.childNodes :=0A=
=0A=
							// String was a bare <thead> or <tfoot>=0A=
							wrap[1] =3D=3D=3D "<table>" && !hasBody ?=0A=
								div.childNodes :=0A=
								[];=0A=
=0A=
					for ( var j =3D tbody.length - 1; j >=3D 0 ; --j ) {=0A=
						if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j =
].childNodes.length ) {=0A=
							tbody[ j ].parentNode.removeChild( tbody[ j ] );=0A=
						}=0A=
					}=0A=
=0A=
				}=0A=
=0A=
				// IE completely kills leading whitespace when innerHTML is used=0A=
				if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( =
elem ) ) {=0A=
					div.insertBefore( context.createTextNode( =
rleadingWhitespace.exec(elem)[0] ), div.firstChild );=0A=
				}=0A=
=0A=
				elem =3D div.childNodes;=0A=
			}=0A=
=0A=
			if ( elem.nodeType ) {=0A=
				ret.push( elem );=0A=
			} else {=0A=
				ret =3D jQuery.merge( ret, elem );=0A=
			}=0A=
		}=0A=
=0A=
		if ( fragment ) {=0A=
			for ( var i =3D 0; ret[i]; i++ ) {=0A=
				if ( scripts && jQuery.nodeName( ret[i], "script" ) && (!ret[i].type =
|| ret[i].type.toLowerCase() =3D=3D=3D "text/javascript") ) {=0A=
					scripts.push( ret[i].parentNode ? ret[i].parentNode.removeChild( =
ret[i] ) : ret[i] );=0A=
				=0A=
				} else {=0A=
					if ( ret[i].nodeType =3D=3D=3D 1 ) {=0A=
						ret.splice.apply( ret, [i + 1, =
0].concat(jQuery.makeArray(ret[i].getElementsByTagName("script"))) );=0A=
					}=0A=
					fragment.appendChild( ret[i] );=0A=
				}=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
	=0A=
	cleanData: function( elems ) {=0A=
		var data, id, cache =3D jQuery.cache,=0A=
			special =3D jQuery.event.special,=0A=
			deleteExpando =3D jQuery.support.deleteExpando;=0A=
		=0A=
		for ( var i =3D 0, elem; (elem =3D elems[i]) !=3D null; i++ ) {=0A=
			id =3D elem[ jQuery.expando ];=0A=
			=0A=
			if ( id ) {=0A=
				data =3D cache[ id ];=0A=
				=0A=
				if ( data.events ) {=0A=
					for ( var type in data.events ) {=0A=
						if ( special[ type ] ) {=0A=
							jQuery.event.remove( elem, type );=0A=
=0A=
						} else {=0A=
							removeEvent( elem, type, data.handle );=0A=
						}=0A=
					}=0A=
				}=0A=
				=0A=
				if ( deleteExpando ) {=0A=
					delete elem[ jQuery.expando ];=0A=
=0A=
				} else if ( elem.removeAttribute ) {=0A=
					elem.removeAttribute( jQuery.expando );=0A=
				}=0A=
				=0A=
				delete cache[ id ];=0A=
			}=0A=
		}=0A=
	}=0A=
});=0A=
// exclude the following css properties to add px=0A=
var rexclude =3D /z-?index|font-?weight|opacity|zoom|line-?height/i,=0A=
	ralpha =3D /alpha\([^)]*\)/,=0A=
	ropacity =3D /opacity=3D([^)]*)/,=0A=
	rfloat =3D /float/i,=0A=
	rdashAlpha =3D /-([a-z])/ig,=0A=
	rupper =3D /([A-Z])/g,=0A=
	rnumpx =3D /^-?\d+(?:px)?$/i,=0A=
	rnum =3D /^-?\d/,=0A=
=0A=
	cssShow =3D { position: "absolute", visibility: "hidden", =
display:"block" },=0A=
	cssWidth =3D [ "Left", "Right" ],=0A=
	cssHeight =3D [ "Top", "Bottom" ],=0A=
=0A=
	// cache check for defaultView.getComputedStyle=0A=
	getComputedStyle =3D document.defaultView && =
document.defaultView.getComputedStyle,=0A=
	// normalize float css property=0A=
	styleFloat =3D jQuery.support.cssFloat ? "cssFloat" : "styleFloat",=0A=
	fcamelCase =3D function( all, letter ) {=0A=
		return letter.toUpperCase();=0A=
	};=0A=
=0A=
jQuery.fn.css =3D function( name, value ) {=0A=
	return access( this, name, value, true, function( elem, name, value ) {=0A=
		if ( value =3D=3D=3D undefined ) {=0A=
			return jQuery.curCSS( elem, name );=0A=
		}=0A=
		=0A=
		if ( typeof value =3D=3D=3D "number" && !rexclude.test(name) ) {=0A=
			value +=3D "px";=0A=
		}=0A=
=0A=
		jQuery.style( elem, name, value );=0A=
	});=0A=
};=0A=
=0A=
jQuery.extend({=0A=
	style: function( elem, name, value ) {=0A=
		// don't set styles on text and comment nodes=0A=
		if ( !elem || elem.nodeType =3D=3D=3D 3 || elem.nodeType =3D=3D=3D 8 ) =
{=0A=
			return undefined;=0A=
		}=0A=
=0A=
		// ignore negative width and height values #1599=0A=
		if ( (name =3D=3D=3D "width" || name =3D=3D=3D "height") && =
parseFloat(value) < 0 ) {=0A=
			value =3D undefined;=0A=
		}=0A=
=0A=
		var style =3D elem.style || elem, set =3D value !=3D=3D undefined;=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" ) {=0A=
			if ( set ) {=0A=
				// IE has trouble with opacity if it does not have layout=0A=
				// Force it by setting the zoom level=0A=
				style.zoom =3D 1;=0A=
=0A=
				// Set the alpha filter to set the opacity=0A=
				var opacity =3D parseInt( value, 10 ) + "" =3D=3D=3D "NaN" ? "" : =
"alpha(opacity=3D" + value * 100 + ")";=0A=
				var filter =3D style.filter || jQuery.curCSS( elem, "filter" ) || "";=0A=
				style.filter =3D ralpha.test(filter) ? filter.replace(ralpha, =
opacity) : opacity;=0A=
			}=0A=
=0A=
			return style.filter && style.filter.indexOf("opacity=3D") >=3D 0 ?=0A=
				(parseFloat( ropacity.exec(style.filter)[1] ) / 100) + "":=0A=
				"";=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( rfloat.test( name ) ) {=0A=
			name =3D styleFloat;=0A=
		}=0A=
=0A=
		name =3D name.replace(rdashAlpha, fcamelCase);=0A=
=0A=
		if ( set ) {=0A=
			style[ name ] =3D value;=0A=
		}=0A=
=0A=
		return style[ name ];=0A=
	},=0A=
=0A=
	css: function( elem, name, force, extra ) {=0A=
		if ( name =3D=3D=3D "width" || name =3D=3D=3D "height" ) {=0A=
			var val, props =3D cssShow, which =3D name =3D=3D=3D "width" ? =
cssWidth : cssHeight;=0A=
=0A=
			function getWH() {=0A=
				val =3D name =3D=3D=3D "width" ? elem.offsetWidth : =
elem.offsetHeight;=0A=
=0A=
				if ( extra =3D=3D=3D "border" ) {=0A=
					return;=0A=
				}=0A=
=0A=
				jQuery.each( which, function() {=0A=
					if ( !extra ) {=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "padding" + this, true)) =
|| 0;=0A=
					}=0A=
=0A=
					if ( extra =3D=3D=3D "margin" ) {=0A=
						val +=3D parseFloat(jQuery.curCSS( elem, "margin" + this, true)) =
|| 0;=0A=
					} else {=0A=
						val -=3D parseFloat(jQuery.curCSS( elem, "border" + this + =
"Width", true)) || 0;=0A=
					}=0A=
				});=0A=
			}=0A=
=0A=
			if ( elem.offsetWidth !=3D=3D 0 ) {=0A=
				getWH();=0A=
			} else {=0A=
				jQuery.swap( elem, props, getWH );=0A=
			}=0A=
=0A=
			return Math.max(0, Math.round(val));=0A=
		}=0A=
=0A=
		return jQuery.curCSS( elem, name, force );=0A=
	},=0A=
=0A=
	curCSS: function( elem, name, force ) {=0A=
		var ret, style =3D elem.style, filter;=0A=
=0A=
		// IE uses filters for opacity=0A=
		if ( !jQuery.support.opacity && name =3D=3D=3D "opacity" && =
elem.currentStyle ) {=0A=
			ret =3D ropacity.test(elem.currentStyle.filter || "") ?=0A=
				(parseFloat(RegExp.$1) / 100) + "" :=0A=
				"";=0A=
=0A=
			return ret =3D=3D=3D "" ?=0A=
				"1" :=0A=
				ret;=0A=
		}=0A=
=0A=
		// Make sure we're using the right name for getting the float value=0A=
		if ( rfloat.test( name ) ) {=0A=
			name =3D styleFloat;=0A=
		}=0A=
=0A=
		if ( !force && style && style[ name ] ) {=0A=
			ret =3D style[ name ];=0A=
=0A=
		} else if ( getComputedStyle ) {=0A=
=0A=
			// Only "float" is needed here=0A=
			if ( rfloat.test( name ) ) {=0A=
				name =3D "float";=0A=
			}=0A=
=0A=
			name =3D name.replace( rupper, "-$1" ).toLowerCase();=0A=
=0A=
			var defaultView =3D elem.ownerDocument.defaultView;=0A=
=0A=
			if ( !defaultView ) {=0A=
				return null;=0A=
			}=0A=
=0A=
			var computedStyle =3D defaultView.getComputedStyle( elem, null );=0A=
=0A=
			if ( computedStyle ) {=0A=
				ret =3D computedStyle.getPropertyValue( name );=0A=
			}=0A=
=0A=
			// We should always get a number back from opacity=0A=
			if ( name =3D=3D=3D "opacity" && ret =3D=3D=3D "" ) {=0A=
				ret =3D "1";=0A=
			}=0A=
=0A=
		} else if ( elem.currentStyle ) {=0A=
			var camelCase =3D name.replace(rdashAlpha, fcamelCase);=0A=
=0A=
			ret =3D elem.currentStyle[ name ] || elem.currentStyle[ camelCase ];=0A=
=0A=
			// From the awesome hack by Dean Edwards=0A=
			// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291=0A=
=0A=
			// If we're not dealing with a regular pixel number=0A=
			// but a number that has a weird ending, we need to convert it to =
pixels=0A=
			if ( !rnumpx.test( ret ) && rnum.test( ret ) ) {=0A=
				// Remember the original values=0A=
				var left =3D style.left, rsLeft =3D elem.runtimeStyle.left;=0A=
=0A=
				// Put in the new values to get a computed value out=0A=
				elem.runtimeStyle.left =3D elem.currentStyle.left;=0A=
				style.left =3D camelCase =3D=3D=3D "fontSize" ? "1em" : (ret || 0);=0A=
				ret =3D style.pixelLeft + "px";=0A=
=0A=
				// Revert the changed values=0A=
				style.left =3D left;=0A=
				elem.runtimeStyle.left =3D rsLeft;=0A=
			}=0A=
		}=0A=
=0A=
		return ret;=0A=
	},=0A=
=0A=
	// A method for quickly swapping in/out CSS properties to get correct =
calculations=0A=
	swap: function( elem, options, callback ) {=0A=
		var old =3D {};=0A=
=0A=
		// Remember the old values, and insert the new ones=0A=
		for ( var name in options ) {=0A=
			old[ name ] =3D elem.style[ name ];=0A=
			elem.style[ name ] =3D options[ name ];=0A=
		}=0A=
=0A=
		callback.call( elem );=0A=
=0A=
		// Revert the old values=0A=
		for ( var name in options ) {=0A=
			elem.style[ name ] =3D old[ name ];=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
if ( jQuery.expr && jQuery.expr.filters ) {=0A=
	jQuery.expr.filters.hidden =3D function( elem ) {=0A=
		var width =3D elem.offsetWidth, height =3D elem.offsetHeight,=0A=
			skip =3D elem.nodeName.toLowerCase() =3D=3D=3D "tr";=0A=
=0A=
		return width =3D=3D=3D 0 && height =3D=3D=3D 0 && !skip ?=0A=
			true :=0A=
			width > 0 && height > 0 && !skip ?=0A=
				false :=0A=
				jQuery.curCSS(elem, "display") =3D=3D=3D "none";=0A=
	};=0A=
=0A=
	jQuery.expr.filters.visible =3D function( elem ) {=0A=
		return !jQuery.expr.filters.hidden( elem );=0A=
	};=0A=
}=0A=
var jsc =3D now(),=0A=
	rscript =3D /<script(.|\s)*?\/script>/gi,=0A=
	rselectTextarea =3D /select|textarea/i,=0A=
	rinput =3D =
/color|date|datetime|email|hidden|month|number|password|range|search|tel|=
text|time|url|week/i,=0A=
	jsre =3D /=3D\?(&|$)/,=0A=
	rquery =3D /\?/,=0A=
	rts =3D /(\?|&)_=3D.*?(&|$)/,=0A=
	rurl =3D /^(\w+:)?\/\/([^\/?#]+)/,=0A=
	r20 =3D /%20/g,=0A=
=0A=
	// Keep a copy of the old load method=0A=
	_load =3D jQuery.fn.load;=0A=
=0A=
jQuery.fn.extend({=0A=
	load: function( url, params, callback ) {=0A=
		if ( typeof url !=3D=3D "string" ) {=0A=
			return _load.call( this, url );=0A=
=0A=
		// Don't do a request if no elements are being requested=0A=
		} else if ( !this.length ) {=0A=
			return this;=0A=
		}=0A=
=0A=
		var off =3D url.indexOf(" ");=0A=
		if ( off >=3D 0 ) {=0A=
			var selector =3D url.slice(off, url.length);=0A=
			url =3D url.slice(0, off);=0A=
		}=0A=
=0A=
		// Default to a GET request=0A=
		var type =3D "GET";=0A=
=0A=
		// If the second parameter was provided=0A=
		if ( params ) {=0A=
			// If it's a function=0A=
			if ( jQuery.isFunction( params ) ) {=0A=
				// We assume that it's the callback=0A=
				callback =3D params;=0A=
				params =3D null;=0A=
=0A=
			// Otherwise, build a param string=0A=
			} else if ( typeof params =3D=3D=3D "object" ) {=0A=
				params =3D jQuery.param( params, jQuery.ajaxSettings.traditional );=0A=
				type =3D "POST";=0A=
			}=0A=
		}=0A=
=0A=
		var self =3D this;=0A=
=0A=
		// Request the remote document=0A=
		jQuery.ajax({=0A=
			url: url,=0A=
			type: type,=0A=
			dataType: "html",=0A=
			data: params,=0A=
			complete: function( res, status ) {=0A=
				// If successful, inject the HTML into all the matched elements=0A=
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) {=0A=
					// See if a selector was specified=0A=
					self.html( selector ?=0A=
						// Create a dummy div to hold the results=0A=
						jQuery("<div />")=0A=
							// inject the contents of the document in, removing the scripts=0A=
							// to avoid any 'Permission Denied' errors in IE=0A=
							.append(res.responseText.replace(rscript, ""))=0A=
=0A=
							// Locate the specified elements=0A=
							.find(selector) :=0A=
=0A=
						// If not, just inject the full result=0A=
						res.responseText );=0A=
				}=0A=
=0A=
				if ( callback ) {=0A=
					self.each( callback, [res.responseText, status, res] );=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	serialize: function() {=0A=
		return jQuery.param(this.serializeArray());=0A=
	},=0A=
	serializeArray: function() {=0A=
		return this.map(function() {=0A=
			return this.elements ? jQuery.makeArray(this.elements) : this;=0A=
		})=0A=
		.filter(function() {=0A=
			return this.name && !this.disabled &&=0A=
				(this.checked || rselectTextarea.test(this.nodeName) ||=0A=
					rinput.test(this.type));=0A=
		})=0A=
		.map(function( i, elem ) {=0A=
			var val =3D jQuery(this).val();=0A=
=0A=
			return val =3D=3D null ?=0A=
				null :=0A=
				jQuery.isArray(val) ?=0A=
					jQuery.map( val, function( val, i ) {=0A=
						return { name: elem.name, value: val };=0A=
					}) :=0A=
					{ name: elem.name, value: val };=0A=
		}).get();=0A=
	}=0A=
});=0A=
=0A=
// Attach a bunch of functions for handling common AJAX events=0A=
jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess =
ajaxSend".split(" "), function( i, o ) {=0A=
	jQuery.fn[o] =3D function( f ) {=0A=
		return this.bind(o, f);=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
=0A=
	get: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was omited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			type =3D type || callback;=0A=
			callback =3D data;=0A=
			data =3D null;=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "GET",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	getScript: function( url, callback ) {=0A=
		return jQuery.get(url, null, callback, "script");=0A=
	},=0A=
=0A=
	getJSON: function( url, data, callback ) {=0A=
		return jQuery.get(url, data, callback, "json");=0A=
	},=0A=
=0A=
	post: function( url, data, callback, type ) {=0A=
		// shift arguments if data argument was omited=0A=
		if ( jQuery.isFunction( data ) ) {=0A=
			type =3D type || callback;=0A=
			callback =3D data;=0A=
			data =3D {};=0A=
		}=0A=
=0A=
		return jQuery.ajax({=0A=
			type: "POST",=0A=
			url: url,=0A=
			data: data,=0A=
			success: callback,=0A=
			dataType: type=0A=
		});=0A=
	},=0A=
=0A=
	ajaxSetup: function( settings ) {=0A=
		jQuery.extend( jQuery.ajaxSettings, settings );=0A=
	},=0A=
=0A=
	ajaxSettings: {=0A=
		url: location.href,=0A=
		global: true,=0A=
		type: "GET",=0A=
		contentType: "application/x-www-form-urlencoded",=0A=
		processData: true,=0A=
		async: true,=0A=
		/*=0A=
		timeout: 0,=0A=
		data: null,=0A=
		username: null,=0A=
		password: null,=0A=
		traditional: false,=0A=
		*/=0A=
		// Create the request object; Microsoft failed to properly=0A=
		// implement the XMLHttpRequest in IE7 (can't request local files),=0A=
		// so we use the ActiveXObject when it is available=0A=
		// This function can be overriden by calling jQuery.ajaxSetup=0A=
		xhr: window.XMLHttpRequest && (window.location.protocol !=3D=3D =
"file:" || !window.ActiveXObject) ?=0A=
			function() {=0A=
				return new window.XMLHttpRequest();=0A=
			} :=0A=
			function() {=0A=
				try {=0A=
					return new window.ActiveXObject("Microsoft.XMLHTTP");=0A=
				} catch(e) {}=0A=
			},=0A=
		accepts: {=0A=
			xml: "application/xml, text/xml",=0A=
			html: "text/html",=0A=
			script: "text/javascript, application/javascript",=0A=
			json: "application/json, text/javascript",=0A=
			text: "text/plain",=0A=
			_default: "*/*"=0A=
		}=0A=
	},=0A=
=0A=
	// Last-Modified header cache for next request=0A=
	lastModified: {},=0A=
	etag: {},=0A=
=0A=
	ajax: function( origSettings ) {=0A=
		var s =3D jQuery.extend(true, {}, jQuery.ajaxSettings, origSettings);=0A=
		=0A=
		var jsonp, status, data,=0A=
			callbackContext =3D origSettings && origSettings.context || s,=0A=
			type =3D s.type.toUpperCase();=0A=
=0A=
		// convert data if not already a string=0A=
		if ( s.data && s.processData && typeof s.data !=3D=3D "string" ) {=0A=
			s.data =3D jQuery.param( s.data, s.traditional );=0A=
		}=0A=
=0A=
		// Handle JSONP Parameter Callbacks=0A=
		if ( s.dataType =3D=3D=3D "jsonp" ) {=0A=
			if ( type =3D=3D=3D "GET" ) {=0A=
				if ( !jsre.test( s.url ) ) {=0A=
					s.url +=3D (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || =
"callback") + "=3D?";=0A=
				}=0A=
			} else if ( !s.data || !jsre.test(s.data) ) {=0A=
				s.data =3D (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + =
"=3D?";=0A=
			}=0A=
			s.dataType =3D "json";=0A=
		}=0A=
=0A=
		// Build temporary JSONP function=0A=
		if ( s.dataType =3D=3D=3D "json" && (s.data && jsre.test(s.data) || =
jsre.test(s.url)) ) {=0A=
			jsonp =3D s.jsonpCallback || ("jsonp" + jsc++);=0A=
=0A=
			// Replace the =3D? sequence both in the query string and the data=0A=
			if ( s.data ) {=0A=
				s.data =3D (s.data + "").replace(jsre, "=3D" + jsonp + "$1");=0A=
			}=0A=
=0A=
			s.url =3D s.url.replace(jsre, "=3D" + jsonp + "$1");=0A=
=0A=
			// We need to make sure=0A=
			// that a JSONP style response is executed properly=0A=
			s.dataType =3D "script";=0A=
=0A=
			// Handle JSONP-style loading=0A=
			window[ jsonp ] =3D window[ jsonp ] || function( tmp ) {=0A=
				data =3D tmp;=0A=
				success();=0A=
				complete();=0A=
				// Garbage collect=0A=
				window[ jsonp ] =3D undefined;=0A=
=0A=
				try {=0A=
					delete window[ jsonp ];=0A=
				} catch(e) {}=0A=
=0A=
				if ( head ) {=0A=
					head.removeChild( script );=0A=
				}=0A=
			};=0A=
		}=0A=
=0A=
		if ( s.dataType =3D=3D=3D "script" && s.cache =3D=3D=3D null ) {=0A=
			s.cache =3D false;=0A=
		}=0A=
=0A=
		if ( s.cache =3D=3D=3D false && type =3D=3D=3D "GET" ) {=0A=
			var ts =3D now();=0A=
=0A=
			// try replacing _=3D if it is there=0A=
			var ret =3D s.url.replace(rts, "$1_=3D" + ts + "$2");=0A=
=0A=
			// if nothing was replaced, add timestamp to the end=0A=
			s.url =3D ret + ((ret =3D=3D=3D s.url) ? (rquery.test(s.url) ? "&" : =
"?") + "_=3D" + ts : "");=0A=
		}=0A=
=0A=
		// If data is available, append data to url for get requests=0A=
		if ( s.data && type =3D=3D=3D "GET" ) {=0A=
			s.url +=3D (rquery.test(s.url) ? "&" : "?") + s.data;=0A=
		}=0A=
=0A=
		// Watch for a new set of requests=0A=
		if ( s.global && ! jQuery.active++ ) {=0A=
			jQuery.event.trigger( "ajaxStart" );=0A=
		}=0A=
=0A=
		// Matches an absolute URL, and saves the domain=0A=
		var parts =3D rurl.exec( s.url ),=0A=
			remote =3D parts && (parts[1] && parts[1] !=3D=3D location.protocol =
|| parts[2] !=3D=3D location.host);=0A=
=0A=
		// If we're requesting a remote document=0A=
		// and trying to load JSON or Script with a GET=0A=
		if ( s.dataType =3D=3D=3D "script" && type =3D=3D=3D "GET" && remote ) =
{=0A=
			var head =3D document.getElementsByTagName("head")[0] || =
document.documentElement;=0A=
			var script =3D document.createElement("script");=0A=
			script.src =3D s.url;=0A=
			if ( s.scriptCharset ) {=0A=
				script.charset =3D s.scriptCharset;=0A=
			}=0A=
=0A=
			// Handle Script loading=0A=
			if ( !jsonp ) {=0A=
				var done =3D false;=0A=
=0A=
				// Attach handlers for all browsers=0A=
				script.onload =3D script.onreadystatechange =3D function() {=0A=
					if ( !done && (!this.readyState ||=0A=
							this.readyState =3D=3D=3D "loaded" || this.readyState =3D=3D=3D =
"complete") ) {=0A=
						done =3D true;=0A=
						success();=0A=
						complete();=0A=
=0A=
						// Handle memory leak in IE=0A=
						script.onload =3D script.onreadystatechange =3D null;=0A=
						if ( head && script.parentNode ) {=0A=
							head.removeChild( script );=0A=
						}=0A=
					}=0A=
				};=0A=
			}=0A=
=0A=
			// Use insertBefore instead of appendChild  to circumvent an IE6 bug.=0A=
			// This arises when a base node is used (#2709 and #4378).=0A=
			head.insertBefore( script, head.firstChild );=0A=
=0A=
			// We handle everything using the script element injection=0A=
			return undefined;=0A=
		}=0A=
=0A=
		var requestDone =3D false;=0A=
=0A=
		// Create the request object=0A=
		var xhr =3D s.xhr();=0A=
=0A=
		if ( !xhr ) {=0A=
			return;=0A=
		}=0A=
=0A=
		// Open the socket=0A=
		// Passing null username, generates a login popup on Opera (#2865)=0A=
		if ( s.username ) {=0A=
			xhr.open(type, s.url, s.async, s.username, s.password);=0A=
		} else {=0A=
			xhr.open(type, s.url, s.async);=0A=
		}=0A=
=0A=
		// Need an extra try/catch for cross domain requests in Firefox 3=0A=
		try {=0A=
			// Set the correct header, if data is being sent=0A=
			if ( s.data || origSettings && origSettings.contentType ) {=0A=
				xhr.setRequestHeader("Content-Type", s.contentType);=0A=
			}=0A=
=0A=
			// Set the If-Modified-Since and/or If-None-Match header, if in =
ifModified mode.=0A=
			if ( s.ifModified ) {=0A=
				if ( jQuery.lastModified[s.url] ) {=0A=
					xhr.setRequestHeader("If-Modified-Since", =
jQuery.lastModified[s.url]);=0A=
				}=0A=
=0A=
				if ( jQuery.etag[s.url] ) {=0A=
					xhr.setRequestHeader("If-None-Match", jQuery.etag[s.url]);=0A=
				}=0A=
			}=0A=
=0A=
			// Set header so the called script knows that it's an XMLHttpRequest=0A=
			// Only send the header if it's not a remote XHR=0A=
			if ( !remote ) {=0A=
				xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");=0A=
			}=0A=
=0A=
			// Set the Accepts header for the server, depending on the dataType=0A=
			xhr.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ?=0A=
				s.accepts[ s.dataType ] + ", */*" :=0A=
				s.accepts._default );=0A=
		} catch(e) {}=0A=
=0A=
		// Allow custom headers/mimetypes and early abort=0A=
		if ( s.beforeSend && s.beforeSend.call(callbackContext, xhr, s) =
=3D=3D=3D false ) {=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active ) {=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			}=0A=
=0A=
			// close opended socket=0A=
			xhr.abort();=0A=
			return false;=0A=
		}=0A=
=0A=
		if ( s.global ) {=0A=
			trigger("ajaxSend", [xhr, s]);=0A=
		}=0A=
=0A=
		// Wait for a response to come back=0A=
		var onreadystatechange =3D xhr.onreadystatechange =3D function( =
isTimeout ) {=0A=
			// The request was aborted=0A=
			if ( !xhr || xhr.readyState =3D=3D=3D 0 || isTimeout =3D=3D=3D =
"abort" ) {=0A=
				// Opera doesn't call onreadystatechange before this point=0A=
				// so we simulate the call=0A=
				if ( !requestDone ) {=0A=
					complete();=0A=
				}=0A=
=0A=
				requestDone =3D true;=0A=
				if ( xhr ) {=0A=
					xhr.onreadystatechange =3D jQuery.noop;=0A=
				}=0A=
=0A=
			// The transfer is complete and the data is available, or the request =
timed out=0A=
			} else if ( !requestDone && xhr && (xhr.readyState =3D=3D=3D 4 || =
isTimeout =3D=3D=3D "timeout") ) {=0A=
				requestDone =3D true;=0A=
				xhr.onreadystatechange =3D jQuery.noop;=0A=
=0A=
				status =3D isTimeout =3D=3D=3D "timeout" ?=0A=
					"timeout" :=0A=
					!jQuery.httpSuccess( xhr ) ?=0A=
						"error" :=0A=
						s.ifModified && jQuery.httpNotModified( xhr, s.url ) ?=0A=
							"notmodified" :=0A=
							"success";=0A=
=0A=
				var errMsg;=0A=
=0A=
				if ( status =3D=3D=3D "success" ) {=0A=
					// Watch for, and catch, XML document parse errors=0A=
					try {=0A=
						// process the data (runs the xml through httpData regardless of =
callback)=0A=
						data =3D jQuery.httpData( xhr, s.dataType, s );=0A=
					} catch(err) {=0A=
						status =3D "parsererror";=0A=
						errMsg =3D err;=0A=
					}=0A=
				}=0A=
=0A=
				// Make sure that the request was successful or notmodified=0A=
				if ( status =3D=3D=3D "success" || status =3D=3D=3D "notmodified" ) {=0A=
					// JSONP handles its own success callback=0A=
					if ( !jsonp ) {=0A=
						success();=0A=
					}=0A=
				} else {=0A=
					jQuery.handleError(s, xhr, status, errMsg);=0A=
				}=0A=
=0A=
				// Fire the complete handlers=0A=
				complete();=0A=
=0A=
				if ( isTimeout =3D=3D=3D "timeout" ) {=0A=
					xhr.abort();=0A=
				}=0A=
=0A=
				// Stop memory leaks=0A=
				if ( s.async ) {=0A=
					xhr =3D null;=0A=
				}=0A=
			}=0A=
		};=0A=
=0A=
		// Override the abort handler, if we can (IE doesn't allow it, but =
that's OK)=0A=
		// Opera doesn't fire onreadystatechange at all on abort=0A=
		try {=0A=
			var oldAbort =3D xhr.abort;=0A=
			xhr.abort =3D function() {=0A=
				if ( xhr ) {=0A=
					oldAbort.call( xhr );=0A=
				}=0A=
=0A=
				onreadystatechange( "abort" );=0A=
			};=0A=
		} catch(e) { }=0A=
=0A=
		// Timeout checker=0A=
		if ( s.async && s.timeout > 0 ) {=0A=
			setTimeout(function() {=0A=
				// Check to see if the request is still happening=0A=
				if ( xhr && !requestDone ) {=0A=
					onreadystatechange( "timeout" );=0A=
				}=0A=
			}, s.timeout);=0A=
		}=0A=
=0A=
		// Send the data=0A=
		try {=0A=
			xhr.send( type =3D=3D=3D "POST" || type =3D=3D=3D "PUT" || type =
=3D=3D=3D "DELETE" ? s.data : null );=0A=
		} catch(e) {=0A=
			jQuery.handleError(s, xhr, null, e);=0A=
			// Fire the complete handlers=0A=
			complete();=0A=
		}=0A=
=0A=
		// firefox 1.5 doesn't fire statechange for sync requests=0A=
		if ( !s.async ) {=0A=
			onreadystatechange();=0A=
		}=0A=
=0A=
		function success() {=0A=
			// If a local callback was specified, fire it and pass it the data=0A=
			if ( s.success ) {=0A=
				s.success.call( callbackContext, data, status, xhr );=0A=
			}=0A=
=0A=
			// Fire the global callback=0A=
			if ( s.global ) {=0A=
				trigger( "ajaxSuccess", [xhr, s] );=0A=
			}=0A=
		}=0A=
=0A=
		function complete() {=0A=
			// Process result=0A=
			if ( s.complete ) {=0A=
				s.complete.call( callbackContext, xhr, status);=0A=
			}=0A=
=0A=
			// The request was completed=0A=
			if ( s.global ) {=0A=
				trigger( "ajaxComplete", [xhr, s] );=0A=
			}=0A=
=0A=
			// Handle the global AJAX counter=0A=
			if ( s.global && ! --jQuery.active ) {=0A=
				jQuery.event.trigger( "ajaxStop" );=0A=
			}=0A=
		}=0A=
		=0A=
		function trigger(type, args) {=0A=
			(s.context ? jQuery(s.context) : jQuery.event).trigger(type, args);=0A=
		}=0A=
=0A=
		// return XMLHttpRequest to allow aborting the request etc.=0A=
		return xhr;=0A=
	},=0A=
=0A=
	handleError: function( s, xhr, status, e ) {=0A=
		// If a local callback was specified, fire it=0A=
		if ( s.error ) {=0A=
			s.error.call( s.context || s, xhr, status, e );=0A=
		}=0A=
=0A=
		// Fire the global callback=0A=
		if ( s.global ) {=0A=
			(s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", =
[xhr, s, e] );=0A=
		}=0A=
	},=0A=
=0A=
	// Counter for holding the number of active queries=0A=
	active: 0,=0A=
=0A=
	// Determines if an XMLHttpRequest was successful or not=0A=
	httpSuccess: function( xhr ) {=0A=
		try {=0A=
			// IE error sometimes returns 1223 when it should be 204 so treat it =
as success, see #1450=0A=
			return !xhr.status && location.protocol =3D=3D=3D "file:" ||=0A=
				// Opera returns 0 when status is 304=0A=
				( xhr.status >=3D 200 && xhr.status < 300 ) ||=0A=
				xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 1223 || xhr.status =
=3D=3D=3D 0;=0A=
		} catch(e) {}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	// Determines if an XMLHttpRequest returns NotModified=0A=
	httpNotModified: function( xhr, url ) {=0A=
		var lastModified =3D xhr.getResponseHeader("Last-Modified"),=0A=
			etag =3D xhr.getResponseHeader("Etag");=0A=
=0A=
		if ( lastModified ) {=0A=
			jQuery.lastModified[url] =3D lastModified;=0A=
		}=0A=
=0A=
		if ( etag ) {=0A=
			jQuery.etag[url] =3D etag;=0A=
		}=0A=
=0A=
		// Opera returns 0 when status is 304=0A=
		return xhr.status =3D=3D=3D 304 || xhr.status =3D=3D=3D 0;=0A=
	},=0A=
=0A=
	httpData: function( xhr, type, s ) {=0A=
		var ct =3D xhr.getResponseHeader("content-type") || "",=0A=
			xml =3D type =3D=3D=3D "xml" || !type && ct.indexOf("xml") >=3D 0,=0A=
			data =3D xml ? xhr.responseXML : xhr.responseText;=0A=
=0A=
		if ( xml && data.documentElement.nodeName =3D=3D=3D "parsererror" ) {=0A=
			jQuery.error( "parsererror" );=0A=
		}=0A=
=0A=
		// Allow a pre-filtering function to sanitize the response=0A=
		// s is checked to keep backwards compatibility=0A=
		if ( s && s.dataFilter ) {=0A=
			data =3D s.dataFilter( data, type );=0A=
		}=0A=
=0A=
		// The filter can actually parse the response=0A=
		if ( typeof data =3D=3D=3D "string" ) {=0A=
			// Get the JavaScript object, if JSON is used.=0A=
			if ( type =3D=3D=3D "json" || !type && ct.indexOf("json") >=3D 0 ) {=0A=
				data =3D jQuery.parseJSON( data );=0A=
=0A=
			// If the type is "script", eval it in global context=0A=
			} else if ( type =3D=3D=3D "script" || !type && =
ct.indexOf("javascript") >=3D 0 ) {=0A=
				jQuery.globalEval( data );=0A=
			}=0A=
		}=0A=
=0A=
		return data;=0A=
	},=0A=
=0A=
	// Serialize an array of form elements or a set of=0A=
	// key/values into a query string=0A=
	param: function( a, traditional ) {=0A=
		var s =3D [];=0A=
		=0A=
		// Set traditional to true for jQuery <=3D 1.3.2 behavior.=0A=
		if ( traditional =3D=3D=3D undefined ) {=0A=
			traditional =3D jQuery.ajaxSettings.traditional;=0A=
		}=0A=
		=0A=
		// If an array was passed in, assume that it is an array of form =
elements.=0A=
		if ( jQuery.isArray(a) || a.jquery ) {=0A=
			// Serialize the form elements=0A=
			jQuery.each( a, function() {=0A=
				add( this.name, this.value );=0A=
			});=0A=
			=0A=
		} else {=0A=
			// If traditional, encode the "old" way (the way 1.3.2 or older=0A=
			// did it), otherwise encode params recursively.=0A=
			for ( var prefix in a ) {=0A=
				buildParams( prefix, a[prefix] );=0A=
			}=0A=
		}=0A=
=0A=
		// Return the resulting serialization=0A=
		return s.join("&").replace(r20, "+");=0A=
=0A=
		function buildParams( prefix, obj ) {=0A=
			if ( jQuery.isArray(obj) ) {=0A=
				// Serialize array item.=0A=
				jQuery.each( obj, function( i, v ) {=0A=
					if ( traditional || /\[\]$/.test( prefix ) ) {=0A=
						// Treat each array item as a scalar.=0A=
						add( prefix, v );=0A=
					} else {=0A=
						// If array item is non-scalar (array or object), encode its=0A=
						// numeric index to resolve deserialization ambiguity issues.=0A=
						// Note that rack (as of 1.0.0) can't currently deserialize=0A=
						// nested arrays properly, and attempting to do so may cause=0A=
						// a server error. Possible fixes are to modify rack's=0A=
						// deserialization algorithm or to provide an option or flag=0A=
						// to force array serialization to be shallow.=0A=
						buildParams( prefix + "[" + ( typeof v =3D=3D=3D "object" || =
jQuery.isArray(v) ? i : "" ) + "]", v );=0A=
					}=0A=
				});=0A=
					=0A=
			} else if ( !traditional && obj !=3D null && typeof obj =3D=3D=3D =
"object" ) {=0A=
				// Serialize object item.=0A=
				jQuery.each( obj, function( k, v ) {=0A=
					buildParams( prefix + "[" + k + "]", v );=0A=
				});=0A=
					=0A=
			} else {=0A=
				// Serialize scalar item.=0A=
				add( prefix, obj );=0A=
			}=0A=
		}=0A=
=0A=
		function add( key, value ) {=0A=
			// If value is a function, invoke it and return its value=0A=
			value =3D jQuery.isFunction(value) ? value() : value;=0A=
			s[ s.length ] =3D encodeURIComponent(key) + "=3D" + =
encodeURIComponent(value);=0A=
		}=0A=
	}=0A=
});=0A=
var elemdisplay =3D {},=0A=
	rfxtypes =3D /toggle|show|hide/,=0A=
	rfxnum =3D /^([+-]=3D)?([\d+-.]+)(.*)$/,=0A=
	timerId,=0A=
	fxAttrs =3D [=0A=
		// height animations=0A=
		[ "height", "marginTop", "marginBottom", "paddingTop", "paddingBottom" =
],=0A=
		// width animations=0A=
		[ "width", "marginLeft", "marginRight", "paddingLeft", "paddingRight" =
],=0A=
		// opacity animations=0A=
		[ "opacity" ]=0A=
	];=0A=
=0A=
jQuery.fn.extend({=0A=
	show: function( speed, callback ) {=0A=
		if ( speed || speed =3D=3D=3D 0) {=0A=
			return this.animate( genFx("show", 3), speed, callback);=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
=0A=
				this[i].style.display =3D old || "";=0A=
=0A=
				if ( jQuery.css(this[i], "display") =3D=3D=3D "none" ) {=0A=
					var nodeName =3D this[i].nodeName, display;=0A=
=0A=
					if ( elemdisplay[ nodeName ] ) {=0A=
						display =3D elemdisplay[ nodeName ];=0A=
=0A=
					} else {=0A=
						var elem =3D jQuery("<" + nodeName + " />").appendTo("body");=0A=
=0A=
						display =3D elem.css("display");=0A=
=0A=
						if ( display =3D=3D=3D "none" ) {=0A=
							display =3D "block";=0A=
						}=0A=
=0A=
						elem.remove();=0A=
=0A=
						elemdisplay[ nodeName ] =3D display;=0A=
					}=0A=
=0A=
					jQuery.data(this[i], "olddisplay", display);=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {=0A=
				this[j].style.display =3D jQuery.data(this[j], "olddisplay") || "";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	hide: function( speed, callback ) {=0A=
		if ( speed || speed =3D=3D=3D 0 ) {=0A=
			return this.animate( genFx("hide", 3), speed, callback);=0A=
=0A=
		} else {=0A=
			for ( var i =3D 0, l =3D this.length; i < l; i++ ) {=0A=
				var old =3D jQuery.data(this[i], "olddisplay");=0A=
				if ( !old && old !=3D=3D "none" ) {=0A=
					jQuery.data(this[i], "olddisplay", jQuery.css(this[i], "display"));=0A=
				}=0A=
			}=0A=
=0A=
			// Set the display of the elements in a second loop=0A=
			// to avoid the constant reflow=0A=
			for ( var j =3D 0, k =3D this.length; j < k; j++ ) {=0A=
				this[j].style.display =3D "none";=0A=
			}=0A=
=0A=
			return this;=0A=
		}=0A=
	},=0A=
=0A=
	// Save the old toggle function=0A=
	_toggle: jQuery.fn.toggle,=0A=
=0A=
	toggle: function( fn, fn2 ) {=0A=
		var bool =3D typeof fn =3D=3D=3D "boolean";=0A=
=0A=
		if ( jQuery.isFunction(fn) && jQuery.isFunction(fn2) ) {=0A=
			this._toggle.apply( this, arguments );=0A=
=0A=
		} else if ( fn =3D=3D null || bool ) {=0A=
			this.each(function() {=0A=
				var state =3D bool ? fn : jQuery(this).is(":hidden");=0A=
				jQuery(this)[ state ? "show" : "hide" ]();=0A=
			});=0A=
=0A=
		} else {=0A=
			this.animate(genFx("toggle", 3), fn, fn2);=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	fadeTo: function( speed, to, callback ) {=0A=
		return this.filter(":hidden").css("opacity", 0).show().end()=0A=
					.animate({opacity: to}, speed, callback);=0A=
	},=0A=
=0A=
	animate: function( prop, speed, easing, callback ) {=0A=
		var optall =3D jQuery.speed(speed, easing, callback);=0A=
=0A=
		if ( jQuery.isEmptyObject( prop ) ) {=0A=
			return this.each( optall.complete );=0A=
		}=0A=
=0A=
		return this[ optall.queue =3D=3D=3D false ? "each" : "queue" =
](function() {=0A=
			var opt =3D jQuery.extend({}, optall), p,=0A=
				hidden =3D this.nodeType =3D=3D=3D 1 && jQuery(this).is(":hidden"),=0A=
				self =3D this;=0A=
=0A=
			for ( p in prop ) {=0A=
				var name =3D p.replace(rdashAlpha, fcamelCase);=0A=
=0A=
				if ( p !=3D=3D name ) {=0A=
					prop[ name ] =3D prop[ p ];=0A=
					delete prop[ p ];=0A=
					p =3D name;=0A=
				}=0A=
=0A=
				if ( prop[p] =3D=3D=3D "hide" && hidden || prop[p] =3D=3D=3D "show" =
&& !hidden ) {=0A=
					return opt.complete.call(this);=0A=
				}=0A=
=0A=
				if ( ( p =3D=3D=3D "height" || p =3D=3D=3D "width" ) && this.style ) =
{=0A=
					// Store display property=0A=
					opt.display =3D jQuery.css(this, "display");=0A=
=0A=
					// Make sure that nothing sneaks out=0A=
					opt.overflow =3D this.style.overflow;=0A=
				}=0A=
=0A=
				if ( jQuery.isArray( prop[p] ) ) {=0A=
					// Create (if needed) and add to specialEasing=0A=
					(opt.specialEasing =3D opt.specialEasing || {})[p] =3D prop[p][1];=0A=
					prop[p] =3D prop[p][0];=0A=
				}=0A=
			}=0A=
=0A=
			if ( opt.overflow !=3D null ) {=0A=
				this.style.overflow =3D "hidden";=0A=
			}=0A=
=0A=
			opt.curAnim =3D jQuery.extend({}, prop);=0A=
=0A=
			jQuery.each( prop, function( name, val ) {=0A=
				var e =3D new jQuery.fx( self, opt, name );=0A=
=0A=
				if ( rfxtypes.test(val) ) {=0A=
					e[ val =3D=3D=3D "toggle" ? hidden ? "show" : "hide" : val ]( prop =
);=0A=
=0A=
				} else {=0A=
					var parts =3D rfxnum.exec(val),=0A=
						start =3D e.cur(true) || 0;=0A=
=0A=
					if ( parts ) {=0A=
						var end =3D parseFloat( parts[2] ),=0A=
							unit =3D parts[3] || "px";=0A=
=0A=
						// We need to compute starting value=0A=
						if ( unit !=3D=3D "px" ) {=0A=
							self.style[ name ] =3D (end || 1) + unit;=0A=
							start =3D ((end || 1) / e.cur(true)) * start;=0A=
							self.style[ name ] =3D start + unit;=0A=
						}=0A=
=0A=
						// If a +=3D/-=3D token was provided, we're doing a relative =
animation=0A=
						if ( parts[1] ) {=0A=
							end =3D ((parts[1] =3D=3D=3D "-=3D" ? -1 : 1) * end) + start;=0A=
						}=0A=
=0A=
						e.custom( start, end, unit );=0A=
=0A=
					} else {=0A=
						e.custom( start, val, "" );=0A=
					}=0A=
				}=0A=
			});=0A=
=0A=
			// For JS strict compliance=0A=
			return true;=0A=
		});=0A=
	},=0A=
=0A=
	stop: function( clearQueue, gotoEnd ) {=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		if ( clearQueue ) {=0A=
			this.queue([]);=0A=
		}=0A=
=0A=
		this.each(function() {=0A=
			// go in reverse order so anything added to the queue during the loop =
is ignored=0A=
			for ( var i =3D timers.length - 1; i >=3D 0; i-- ) {=0A=
				if ( timers[i].elem =3D=3D=3D this ) {=0A=
					if (gotoEnd) {=0A=
						// force the next step to be the last=0A=
						timers[i](true);=0A=
					}=0A=
=0A=
					timers.splice(i, 1);=0A=
				}=0A=
			}=0A=
		});=0A=
=0A=
		// start the next in the queue if the last step wasn't forced=0A=
		if ( !gotoEnd ) {=0A=
			this.dequeue();=0A=
		}=0A=
=0A=
		return this;=0A=
	}=0A=
=0A=
});=0A=
=0A=
// Generate shortcuts for custom animations=0A=
jQuery.each({=0A=
	slideDown: genFx("show", 1),=0A=
	slideUp: genFx("hide", 1),=0A=
	slideToggle: genFx("toggle", 1),=0A=
	fadeIn: { opacity: "show" },=0A=
	fadeOut: { opacity: "hide" }=0A=
}, function( name, props ) {=0A=
	jQuery.fn[ name ] =3D function( speed, callback ) {=0A=
		return this.animate( props, speed, callback );=0A=
	};=0A=
});=0A=
=0A=
jQuery.extend({=0A=
	speed: function( speed, easing, fn ) {=0A=
		var opt =3D speed && typeof speed =3D=3D=3D "object" ? speed : {=0A=
			complete: fn || !fn && easing ||=0A=
				jQuery.isFunction( speed ) && speed,=0A=
			duration: speed,=0A=
			easing: fn && easing || easing && !jQuery.isFunction(easing) && easing=0A=
		};=0A=
=0A=
		opt.duration =3D jQuery.fx.off ? 0 : typeof opt.duration =3D=3D=3D =
"number" ? opt.duration :=0A=
			jQuery.fx.speeds[opt.duration] || jQuery.fx.speeds._default;=0A=
=0A=
		// Queueing=0A=
		opt.old =3D opt.complete;=0A=
		opt.complete =3D function() {=0A=
			if ( opt.queue !=3D=3D false ) {=0A=
				jQuery(this).dequeue();=0A=
			}=0A=
			if ( jQuery.isFunction( opt.old ) ) {=0A=
				opt.old.call( this );=0A=
			}=0A=
		};=0A=
=0A=
		return opt;=0A=
	},=0A=
=0A=
	easing: {=0A=
		linear: function( p, n, firstNum, diff ) {=0A=
			return firstNum + diff * p;=0A=
		},=0A=
		swing: function( p, n, firstNum, diff ) {=0A=
			return ((-Math.cos(p*Math.PI)/2) + 0.5) * diff + firstNum;=0A=
		}=0A=
	},=0A=
=0A=
	timers: [],=0A=
=0A=
	fx: function( elem, options, prop ) {=0A=
		this.options =3D options;=0A=
		this.elem =3D elem;=0A=
		this.prop =3D prop;=0A=
=0A=
		if ( !options.orig ) {=0A=
			options.orig =3D {};=0A=
		}=0A=
	}=0A=
=0A=
});=0A=
=0A=
jQuery.fx.prototype =3D {=0A=
	// Simple function for setting a style value=0A=
	update: function() {=0A=
		if ( this.options.step ) {=0A=
			this.options.step.call( this.elem, this.now, this );=0A=
		}=0A=
=0A=
		(jQuery.fx.step[this.prop] || jQuery.fx.step._default)( this );=0A=
=0A=
		// Set display property to block for height/width animations=0A=
		if ( ( this.prop =3D=3D=3D "height" || this.prop =3D=3D=3D "width" ) =
&& this.elem.style ) {=0A=
			this.elem.style.display =3D "block";=0A=
		}=0A=
	},=0A=
=0A=
	// Get the current size=0A=
	cur: function( force ) {=0A=
		if ( this.elem[this.prop] !=3D null && (!this.elem.style || =
this.elem.style[this.prop] =3D=3D null) ) {=0A=
			return this.elem[ this.prop ];=0A=
		}=0A=
=0A=
		var r =3D parseFloat(jQuery.css(this.elem, this.prop, force));=0A=
		return r && r > -10000 ? r : parseFloat(jQuery.curCSS(this.elem, =
this.prop)) || 0;=0A=
	},=0A=
=0A=
	// Start an animation from one number to another=0A=
	custom: function( from, to, unit ) {=0A=
		this.startTime =3D now();=0A=
		this.start =3D from;=0A=
		this.end =3D to;=0A=
		this.unit =3D unit || this.unit || "px";=0A=
		this.now =3D this.start;=0A=
		this.pos =3D this.state =3D 0;=0A=
=0A=
		var self =3D this;=0A=
		function t( gotoEnd ) {=0A=
			return self.step(gotoEnd);=0A=
		}=0A=
=0A=
		t.elem =3D this.elem;=0A=
=0A=
		if ( t() && jQuery.timers.push(t) && !timerId ) {=0A=
			timerId =3D setInterval(jQuery.fx.tick, 13);=0A=
		}=0A=
	},=0A=
=0A=
	// Simple 'show' function=0A=
	show: function() {=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );=0A=
		this.options.show =3D true;=0A=
=0A=
		// Begin the animation=0A=
		// Make sure that we start at a small width/height to avoid any=0A=
		// flash of content=0A=
		this.custom(this.prop =3D=3D=3D "width" || this.prop =3D=3D=3D =
"height" ? 1 : 0, this.cur());=0A=
=0A=
		// Start by showing the element=0A=
		jQuery( this.elem ).show();=0A=
	},=0A=
=0A=
	// Simple 'hide' function=0A=
	hide: function() {=0A=
		// Remember where we started, so that we can go back to it later=0A=
		this.options.orig[this.prop] =3D jQuery.style( this.elem, this.prop );=0A=
		this.options.hide =3D true;=0A=
=0A=
		// Begin the animation=0A=
		this.custom(this.cur(), 0);=0A=
	},=0A=
=0A=
	// Each step of an animation=0A=
	step: function( gotoEnd ) {=0A=
		var t =3D now(), done =3D true;=0A=
=0A=
		if ( gotoEnd || t >=3D this.options.duration + this.startTime ) {=0A=
			this.now =3D this.end;=0A=
			this.pos =3D this.state =3D 1;=0A=
			this.update();=0A=
=0A=
			this.options.curAnim[ this.prop ] =3D true;=0A=
=0A=
			for ( var i in this.options.curAnim ) {=0A=
				if ( this.options.curAnim[i] !=3D=3D true ) {=0A=
					done =3D false;=0A=
				}=0A=
			}=0A=
=0A=
			if ( done ) {=0A=
				if ( this.options.display !=3D null ) {=0A=
					// Reset the overflow=0A=
					this.elem.style.overflow =3D this.options.overflow;=0A=
=0A=
					// Reset the display=0A=
					var old =3D jQuery.data(this.elem, "olddisplay");=0A=
					this.elem.style.display =3D old ? old : this.options.display;=0A=
=0A=
					if ( jQuery.css(this.elem, "display") =3D=3D=3D "none" ) {=0A=
						this.elem.style.display =3D "block";=0A=
					}=0A=
				}=0A=
=0A=
				// Hide the element if the "hide" operation was done=0A=
				if ( this.options.hide ) {=0A=
					jQuery(this.elem).hide();=0A=
				}=0A=
=0A=
				// Reset the properties, if the item has been hidden or shown=0A=
				if ( this.options.hide || this.options.show ) {=0A=
					for ( var p in this.options.curAnim ) {=0A=
						jQuery.style(this.elem, p, this.options.orig[p]);=0A=
					}=0A=
				}=0A=
=0A=
				// Execute the complete function=0A=
				this.options.complete.call( this.elem );=0A=
			}=0A=
=0A=
			return false;=0A=
=0A=
		} else {=0A=
			var n =3D t - this.startTime;=0A=
			this.state =3D n / this.options.duration;=0A=
=0A=
			// Perform the easing function, defaults to swing=0A=
			var specialEasing =3D this.options.specialEasing && =
this.options.specialEasing[this.prop];=0A=
			var defaultEasing =3D this.options.easing || (jQuery.easing.swing ? =
"swing" : "linear");=0A=
			this.pos =3D jQuery.easing[specialEasing || =
defaultEasing](this.state, n, 0, 1, this.options.duration);=0A=
			this.now =3D this.start + ((this.end - this.start) * this.pos);=0A=
=0A=
			// Perform the next step of the animation=0A=
			this.update();=0A=
		}=0A=
=0A=
		return true;=0A=
	}=0A=
};=0A=
=0A=
jQuery.extend( jQuery.fx, {=0A=
	tick: function() {=0A=
		var timers =3D jQuery.timers;=0A=
=0A=
		for ( var i =3D 0; i < timers.length; i++ ) {=0A=
			if ( !timers[i]() ) {=0A=
				timers.splice(i--, 1);=0A=
			}=0A=
		}=0A=
=0A=
		if ( !timers.length ) {=0A=
			jQuery.fx.stop();=0A=
		}=0A=
	},=0A=
		=0A=
	stop: function() {=0A=
		clearInterval( timerId );=0A=
		timerId =3D null;=0A=
	},=0A=
	=0A=
	speeds: {=0A=
		slow: 600,=0A=
 		fast: 200,=0A=
 		// Default speed=0A=
 		_default: 400=0A=
	},=0A=
=0A=
	step: {=0A=
		opacity: function( fx ) {=0A=
			jQuery.style(fx.elem, "opacity", fx.now);=0A=
		},=0A=
=0A=
		_default: function( fx ) {=0A=
			if ( fx.elem.style && fx.elem.style[ fx.prop ] !=3D null ) {=0A=
				fx.elem.style[ fx.prop ] =3D (fx.prop =3D=3D=3D "width" || fx.prop =
=3D=3D=3D "height" ? Math.max(0, fx.now) : fx.now) + fx.unit;=0A=
			} else {=0A=
				fx.elem[ fx.prop ] =3D fx.now;=0A=
			}=0A=
		}=0A=
	}=0A=
});=0A=
=0A=
if ( jQuery.expr && jQuery.expr.filters ) {=0A=
	jQuery.expr.filters.animated =3D function( elem ) {=0A=
		return jQuery.grep(jQuery.timers, function( fn ) {=0A=
			return elem =3D=3D=3D fn.elem;=0A=
		}).length;=0A=
	};=0A=
}=0A=
=0A=
function genFx( type, num ) {=0A=
	var obj =3D {};=0A=
=0A=
	jQuery.each( fxAttrs.concat.apply([], fxAttrs.slice(0,num)), function() =
{=0A=
		obj[ this ] =3D type;=0A=
	});=0A=
=0A=
	return obj;=0A=
}=0A=
if ( "getBoundingClientRect" in document.documentElement ) {=0A=
	jQuery.fn.offset =3D function( options ) {=0A=
		var elem =3D this[0];=0A=
=0A=
		if ( options ) { =0A=
			return this.each(function( i ) {=0A=
				jQuery.offset.setOffset( this, options, i );=0A=
			});=0A=
		}=0A=
=0A=
		if ( !elem || !elem.ownerDocument ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( elem =3D=3D=3D elem.ownerDocument.body ) {=0A=
			return jQuery.offset.bodyOffset( elem );=0A=
		}=0A=
=0A=
		var box =3D elem.getBoundingClientRect(), doc =3D elem.ownerDocument, =
body =3D doc.body, docElem =3D doc.documentElement,=0A=
			clientTop =3D docElem.clientTop || body.clientTop || 0, clientLeft =
=3D docElem.clientLeft || body.clientLeft || 0,=0A=
			top  =3D box.top  + (self.pageYOffset || jQuery.support.boxModel && =
docElem.scrollTop  || body.scrollTop ) - clientTop,=0A=
			left =3D box.left + (self.pageXOffset || jQuery.support.boxModel && =
docElem.scrollLeft || body.scrollLeft) - clientLeft;=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
=0A=
} else {=0A=
	jQuery.fn.offset =3D function( options ) {=0A=
		var elem =3D this[0];=0A=
=0A=
		if ( options ) { =0A=
			return this.each(function( i ) {=0A=
				jQuery.offset.setOffset( this, options, i );=0A=
			});=0A=
		}=0A=
=0A=
		if ( !elem || !elem.ownerDocument ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( elem =3D=3D=3D elem.ownerDocument.body ) {=0A=
			return jQuery.offset.bodyOffset( elem );=0A=
		}=0A=
=0A=
		jQuery.offset.initialize();=0A=
=0A=
		var offsetParent =3D elem.offsetParent, prevOffsetParent =3D elem,=0A=
			doc =3D elem.ownerDocument, computedStyle, docElem =3D =
doc.documentElement,=0A=
			body =3D doc.body, defaultView =3D doc.defaultView,=0A=
			prevComputedStyle =3D defaultView ? defaultView.getComputedStyle( =
elem, null ) : elem.currentStyle,=0A=
			top =3D elem.offsetTop, left =3D elem.offsetLeft;=0A=
=0A=
		while ( (elem =3D elem.parentNode) && elem !=3D=3D body && elem =
!=3D=3D docElem ) {=0A=
			if ( jQuery.offset.supportsFixedPosition && =
prevComputedStyle.position =3D=3D=3D "fixed" ) {=0A=
				break;=0A=
			}=0A=
=0A=
			computedStyle =3D defaultView ? defaultView.getComputedStyle(elem, =
null) : elem.currentStyle;=0A=
			top  -=3D elem.scrollTop;=0A=
			left -=3D elem.scrollLeft;=0A=
=0A=
			if ( elem =3D=3D=3D offsetParent ) {=0A=
				top  +=3D elem.offsetTop;=0A=
				left +=3D elem.offsetLeft;=0A=
=0A=
				if ( jQuery.offset.doesNotAddBorder && =
!(jQuery.offset.doesAddBorderForTableAndCells && =
/^t(able|d|h)$/i.test(elem.nodeName)) ) {=0A=
					top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;=0A=
					left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;=0A=
				}=0A=
=0A=
				prevOffsetParent =3D offsetParent, offsetParent =3D =
elem.offsetParent;=0A=
			}=0A=
=0A=
			if ( jQuery.offset.subtractsBorderForOverflowNotVisible && =
computedStyle.overflow !=3D=3D "visible" ) {=0A=
				top  +=3D parseFloat( computedStyle.borderTopWidth  ) || 0;=0A=
				left +=3D parseFloat( computedStyle.borderLeftWidth ) || 0;=0A=
			}=0A=
=0A=
			prevComputedStyle =3D computedStyle;=0A=
		}=0A=
=0A=
		if ( prevComputedStyle.position =3D=3D=3D "relative" || =
prevComputedStyle.position =3D=3D=3D "static" ) {=0A=
			top  +=3D body.offsetTop;=0A=
			left +=3D body.offsetLeft;=0A=
		}=0A=
=0A=
		if ( jQuery.offset.supportsFixedPosition && prevComputedStyle.position =
=3D=3D=3D "fixed" ) {=0A=
			top  +=3D Math.max( docElem.scrollTop, body.scrollTop );=0A=
			left +=3D Math.max( docElem.scrollLeft, body.scrollLeft );=0A=
		}=0A=
=0A=
		return { top: top, left: left };=0A=
	};=0A=
}=0A=
=0A=
jQuery.offset =3D {=0A=
	initialize: function() {=0A=
		var body =3D document.body, container =3D =
document.createElement("div"), innerDiv, checkDiv, table, td, =
bodyMarginTop =3D parseFloat( jQuery.curCSS(body, "marginTop", true) ) =
|| 0,=0A=
			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>";=0A=
=0A=
		jQuery.extend( container.style, { position: "absolute", top: 0, left: =
0, margin: 0, border: 0, width: "1px", height: "1px", visibility: =
"hidden" } );=0A=
=0A=
		container.innerHTML =3D html;=0A=
		body.insertBefore( container, body.firstChild );=0A=
		innerDiv =3D container.firstChild;=0A=
		checkDiv =3D innerDiv.firstChild;=0A=
		td =3D innerDiv.nextSibling.firstChild.firstChild;=0A=
=0A=
		this.doesNotAddBorder =3D (checkDiv.offsetTop !=3D=3D 5);=0A=
		this.doesAddBorderForTableAndCells =3D (td.offsetTop =3D=3D=3D 5);=0A=
=0A=
		checkDiv.style.position =3D "fixed", checkDiv.style.top =3D "20px";=0A=
		// safari subtracts parent border width here which is 5px=0A=
		this.supportsFixedPosition =3D (checkDiv.offsetTop =3D=3D=3D 20 || =
checkDiv.offsetTop =3D=3D=3D 15);=0A=
		checkDiv.style.position =3D checkDiv.style.top =3D "";=0A=
=0A=
		innerDiv.style.overflow =3D "hidden", innerDiv.style.position =3D =
"relative";=0A=
		this.subtractsBorderForOverflowNotVisible =3D (checkDiv.offsetTop =
=3D=3D=3D -5);=0A=
=0A=
		this.doesNotIncludeMarginInBodyOffset =3D (body.offsetTop !=3D=3D =
bodyMarginTop);=0A=
=0A=
		body.removeChild( container );=0A=
		body =3D container =3D innerDiv =3D checkDiv =3D table =3D td =3D null;=0A=
		jQuery.offset.initialize =3D jQuery.noop;=0A=
	},=0A=
=0A=
	bodyOffset: function( body ) {=0A=
		var top =3D body.offsetTop, left =3D body.offsetLeft;=0A=
=0A=
		jQuery.offset.initialize();=0A=
=0A=
		if ( jQuery.offset.doesNotIncludeMarginInBodyOffset ) {=0A=
			top  +=3D parseFloat( jQuery.curCSS(body, "marginTop",  true) ) || 0;=0A=
			left +=3D parseFloat( jQuery.curCSS(body, "marginLeft", true) ) || 0;=0A=
		}=0A=
=0A=
		return { top: top, left: left };=0A=
	},=0A=
	=0A=
	setOffset: function( elem, options, i ) {=0A=
		// set position first, in-case top/left are set even on static elem=0A=
		if ( /static/.test( jQuery.curCSS( elem, "position" ) ) ) {=0A=
			elem.style.position =3D "relative";=0A=
		}=0A=
		var curElem   =3D jQuery( elem ),=0A=
			curOffset =3D curElem.offset(),=0A=
			curTop    =3D parseInt( jQuery.curCSS( elem, "top",  true ), 10 ) || =
0,=0A=
			curLeft   =3D parseInt( jQuery.curCSS( elem, "left", true ), 10 ) || =
0;=0A=
=0A=
		if ( jQuery.isFunction( options ) ) {=0A=
			options =3D options.call( elem, i, curOffset );=0A=
		}=0A=
=0A=
		var props =3D {=0A=
			top:  (options.top  - curOffset.top)  + curTop,=0A=
			left: (options.left - curOffset.left) + curLeft=0A=
		};=0A=
		=0A=
		if ( "using" in options ) {=0A=
			options.using.call( elem, props );=0A=
		} else {=0A=
			curElem.css( props );=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
=0A=
jQuery.fn.extend({=0A=
	position: function() {=0A=
		if ( !this[0] ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		var elem =3D this[0],=0A=
=0A=
		// Get *real* offsetParent=0A=
		offsetParent =3D this.offsetParent(),=0A=
=0A=
		// Get correct offsets=0A=
		offset       =3D this.offset(),=0A=
		parentOffset =3D /^body|html$/i.test(offsetParent[0].nodeName) ? { =
top: 0, left: 0 } : offsetParent.offset();=0A=
=0A=
		// Subtract element margins=0A=
		// note: when an element has margin: auto the offsetLeft and marginLeft=0A=
		// are the same in Safari causing offset.left to incorrectly be 0=0A=
		offset.top  -=3D parseFloat( jQuery.curCSS(elem, "marginTop",  true) ) =
|| 0;=0A=
		offset.left -=3D parseFloat( jQuery.curCSS(elem, "marginLeft", true) ) =
|| 0;=0A=
=0A=
		// Add offsetParent borders=0A=
		parentOffset.top  +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderTopWidth",  true) ) || 0;=0A=
		parentOffset.left +=3D parseFloat( jQuery.curCSS(offsetParent[0], =
"borderLeftWidth", true) ) || 0;=0A=
=0A=
		// Subtract the two offsets=0A=
		return {=0A=
			top:  offset.top  - parentOffset.top,=0A=
			left: offset.left - parentOffset.left=0A=
		};=0A=
	},=0A=
=0A=
	offsetParent: function() {=0A=
		return this.map(function() {=0A=
			var offsetParent =3D this.offsetParent || document.body;=0A=
			while ( offsetParent && (!/^body|html$/i.test(offsetParent.nodeName) =
&& jQuery.css(offsetParent, "position") =3D=3D=3D "static") ) {=0A=
				offsetParent =3D offsetParent.offsetParent;=0A=
			}=0A=
			return offsetParent;=0A=
		});=0A=
	}=0A=
});=0A=
=0A=
=0A=
// Create scrollLeft and scrollTop methods=0A=
jQuery.each( ["Left", "Top"], function( i, name ) {=0A=
	var method =3D "scroll" + name;=0A=
=0A=
	jQuery.fn[ method ] =3D function(val) {=0A=
		var elem =3D this[0], win;=0A=
		=0A=
		if ( !elem ) {=0A=
			return null;=0A=
		}=0A=
=0A=
		if ( val !=3D=3D undefined ) {=0A=
			// Set the scroll offset=0A=
			return this.each(function() {=0A=
				win =3D getWindow( this );=0A=
=0A=
				if ( win ) {=0A=
					win.scrollTo(=0A=
						!i ? val : jQuery(win).scrollLeft(),=0A=
						 i ? val : jQuery(win).scrollTop()=0A=
					);=0A=
=0A=
				} else {=0A=
					this[ method ] =3D val;=0A=
				}=0A=
			});=0A=
		} else {=0A=
			win =3D getWindow( elem );=0A=
=0A=
			// Return the scroll offset=0A=
			return win ? ("pageXOffset" in win) ? win[ i ? "pageYOffset" : =
"pageXOffset" ] :=0A=
				jQuery.support.boxModel && win.document.documentElement[ method ] ||=0A=
					win.document.body[ method ] :=0A=
				elem[ method ];=0A=
		}=0A=
	};=0A=
});=0A=
=0A=
function getWindow( elem ) {=0A=
	return ("scrollTo" in elem && elem.document) ?=0A=
		elem :=0A=
		elem.nodeType =3D=3D=3D 9 ?=0A=
			elem.defaultView || elem.parentWindow :=0A=
			false;=0A=
}=0A=
// Create innerHeight, innerWidth, outerHeight and outerWidth methods=0A=
jQuery.each([ "Height", "Width" ], function( i, name ) {=0A=
=0A=
	var type =3D name.toLowerCase();=0A=
=0A=
	// innerHeight and innerWidth=0A=
	jQuery.fn["inner" + name] =3D function() {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], type, false, "padding" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	// outerHeight and outerWidth=0A=
	jQuery.fn["outer" + name] =3D function( margin ) {=0A=
		return this[0] ?=0A=
			jQuery.css( this[0], type, false, margin ? "margin" : "border" ) :=0A=
			null;=0A=
	};=0A=
=0A=
	jQuery.fn[ type ] =3D function( size ) {=0A=
		// Get window width or height=0A=
		var elem =3D this[0];=0A=
		if ( !elem ) {=0A=
			return size =3D=3D null ? null : this;=0A=
		}=0A=
		=0A=
		if ( jQuery.isFunction( size ) ) {=0A=
			return this.each(function( i ) {=0A=
				var self =3D jQuery( this );=0A=
				self[ type ]( size.call( this, i, self[ type ]() ) );=0A=
			});=0A=
		}=0A=
=0A=
		return ("scrollTo" in elem && elem.document) ? // does it walk and =
quack like a window?=0A=
			// Everyone else use document.documentElement or document.body =
depending on Quirks vs Standards mode=0A=
			elem.document.compatMode =3D=3D=3D "CSS1Compat" && =
elem.document.documentElement[ "client" + name ] ||=0A=
			elem.document.body[ "client" + name ] :=0A=
=0A=
			// Get document width or height=0A=
			(elem.nodeType =3D=3D=3D 9) ? // is it a document=0A=
				// Either scroll[Width/Height] or offset[Width/Height], whichever is =
greater=0A=
				Math.max(=0A=
					elem.documentElement["client" + name],=0A=
					elem.body["scroll" + name], elem.documentElement["scroll" + name],=0A=
					elem.body["offset" + name], elem.documentElement["offset" + name]=0A=
				) :=0A=
=0A=
				// Get or set width or height on the element=0A=
				size =3D=3D=3D undefined ?=0A=
					// Get width or height on the element=0A=
					jQuery.css( elem, type ) :=0A=
=0A=
					// Set the width or height on the element (default to pixels if =
value is unitless)=0A=
					this.css( type, typeof size =3D=3D=3D "string" ? size : size + "px" =
);=0A=
	};=0A=
=0A=
});=0A=
// Expose jQuery to the global object=0A=
window.jQuery =3D window.$ =3D jQuery;=0A=
=0A=
})(window);=0A=
    =0A=
    // add a shortcut to jQuery once it's defined=0A=
    var $ =3D jQuery;=0A=
=0A=
    // don't allow calls to $ from outside this function=0A=
    $.noConflict();=0A=
/**=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')) && cookie.match('=3D') ) {=0A=
                    cookieValue =3D =
decodeURIComponent(cookie.substring(name.length + 1));=0A=
                    break;=0A=
		//handles IE case where empty cookie is returned without '=3D'=0A=
                } else if ( !cookie.match('=3D') && (cookie.substring(0, =
name.length) =3D=3D name)) {=0A=
		    cookieValue =3D '';=0A=
		    break;=0A=
		}=0A=
            }=0A=
        }=0A=
        return cookieValue;=0A=
    }=0A=
};=0A=
jQuery.fn.extend({=0A=
=0A=
    elementFrame: function () { =0A=
=0A=
        var element =3D jQuery(this);=0A=
=0A=
        if (arguments.length =3D=3D=3D 1) {=0A=
=0A=
            var points =3D arguments[0];=0A=
=0A=
            var tlPoint =3D points.topleft;=0A=
            var brPoint =3D points.bottomright;=0A=
=0A=
            var top =3D tlPoint.y;=0A=
            var left =3D tlPoint.x;=0A=
            var width =3D points.width || brPoint.x - tlPoint.x;=0A=
            var height =3D points.height || brPoint.y - tlPoint.y;=0A=
=0A=
            element.css("top", top + "px");=0A=
            element.css("left", left + "px");=0A=
            if (!points.ignoreDimensions) {=0A=
                element.width(width);=0A=
                element.height(height);=0A=
            }=0A=
=0A=
            element.css("zIndex", points.zIndex);=0A=
=0A=
            return this;=0A=
        } else {=0A=
=0A=
            var element =3D jQuery(this);=0A=
            var position =3D element.offset();=0A=
=0A=
            width =3D element.width();=0A=
            height =3D element.height();=0A=
=0A=
            var outerWidth =3D element.outerWidth() || width;=0A=
            var outerHeight =3D element.outerHeight() || height;=0A=
            =0A=
            var xLeft =3D position.left;=0A=
            var xRight =3D xLeft + outerWidth;=0A=
            var yTop =3D position.top;=0A=
            var yBottom =3D yTop + outerHeight;=0A=
=0A=
            var zIndex =3D element.css("z-index");=0A=
=0A=
            return {=0A=
                "width": width,=0A=
                "height": height,=0A=
                "outerWidth": outerWidth,=0A=
                "outerHeight": outerHeight,=0A=
                "zIndex": zIndex,=0A=
                "topleft": {=0A=
                    "x": xLeft,=0A=
                    "y": yTop=0A=
                },=0A=
                "topright": {=0A=
                    "x": xRight,=0A=
                    "y": yTop=0A=
                },=0A=
                "bottomleft": {=0A=
                    "x": xLeft,=0A=
                    "y": yBottom=0A=
                },=0A=
                "bottomright": {=0A=
                    "x": xRight,=0A=
                    "y": yBottom=0A=
                }=0A=
            };=0A=
        }=0A=
    },=0A=
=0A=
    //probably should not be part of fn?, just extend jQuery?=0A=
    windowFrame: function () {=0A=
=0A=
        var bod =3D jQuery(document.body);=0A=
        var windowHeight =3D 0; =0A=
        var windowWidth =3D jQuery(document.body).width(); =0A=
        if (self.innerHeight) {=0A=
            windowHeight =3D self.innerHeight;=0A=
        } else if (document.documentElement && =
document.documentElement.clientHeight) {=0A=
            windowHeight =3D document.documentElement.clientHeight;=0A=
        } else if (document.body) {=0A=
            windowHeight =3D document.body.clientHeight;=0A=
        }=0A=
		=0A=
        var ml =3D parseInt(bod.css("margin-left"), 10);=0A=
        var mr =3D parseInt(bod.css("margin-right"), 10);=0A=
=0A=
        var windowTop =3D self.pageYOffset || jQuery.boxModel && =
document.documentElement.scrollTop || document.body.scrollTop;=0A=
        var windowBottom =3D windowTop + windowHeight;=0A=
        var windowLeft =3D self.pageXOffset || jQuery.boxModel && =
document.documentElement.scrollLeft || document.body.scrollLeft;=0A=
        var windowRight =3D windowLeft + windowWidth + mr + ml;=0A=
=0A=
        var scrollHeight =3D scrollWidth =3D 0;=0A=
        if(document.documentElement && =
document.documentElement.scrollHeight > scrollHeight){=0A=
            scrollHeight =3D document.documentElement.scrollHeight;=0A=
        }=0A=
        else if (document.body.scrollHeight > windowHeight){      =0A=
            scrollHeight =3D document.body.scrollHeight;=0A=
        }=0A=
        else { =0A=
            scrollHeight =3D document.body.offsetHeight;=0A=
        }=0A=
=0A=
        if(document.documentElement && =
document.documentElement.scrollWidth > scrollWidth){=0A=
            scrollWidth =3D document.documentElement.scrollWidth;=0A=
        }=0A=
        else if (document.body.scrollWidth > windowWidth){      =0A=
            scrollWidth =3D document.body.scrollWidth;=0A=
        }=0A=
        else { =0A=
            scrollWidth =3D document.body.offsetWidth;=0A=
        }=0A=
=0A=
        return {=0A=
            "width": windowWidth,=0A=
            "height": windowHeight,=0A=
            "scrollWidth": scrollWidth,=0A=
            "scrollHeight": scrollHeight,=0A=
            "topleft": {=0A=
                "x": windowLeft,=0A=
                "y": windowTop=0A=
            },=0A=
            "topright": {=0A=
                "x": windowRight,=0A=
                "y": windowTop=0A=
            },=0A=
            "bottomleft": {=0A=
                "x": windowLeft,=0A=
                "y": windowBottom=0A=
            },=0A=
            "bottomright": {=0A=
                "x": windowRight,=0A=
                "y": windowBottom=0A=
            }=0A=
        };=0A=
=0A=
    },=0A=
=0A=
    _availableFrameSizesHelper: function (w, h, t, r, b, l) {=0A=
=0A=
        if (w =3D=3D=3D 0 || h =3D=3D=3D 0) {=0A=
            return null;=0A=
        } else {=0A=
            return {=0A=
                "width": w,=0A=
                "height": h,=0A=
                "topleft": {=0A=
                    "x": l,=0A=
                    "y": t=0A=
                },=0A=
                "topright": {=0A=
                    "x": r,=0A=
                    "y": t=0A=
                },=0A=
                "bottomleft": {=0A=
                    "x": l,=0A=
                    "y": b=0A=
                },=0A=
                "bottomright": {=0A=
                    "x": r,=0A=
                    "y": b=0A=
                }=0A=
            }=0A=
        }=0A=
    },=0A=
=0A=
    availableFrameSizes: function () {=0A=
=0A=
        var element =3D jQuery(this);=0A=
        var ef =3D element.elementFrame();=0A=
        var wf =3D element.windowFrame();=0A=
=0A=
        var tEdge =3D wf.topleft.y;=0A=
        var lEdge =3D wf.topleft.x;=0A=
        var rEdge =3D wf.topright.x;=0A=
        var bEdge =3D wf.bottomright.y;=0A=
=0A=
        var elemTop =3D ef.topleft.y;=0A=
        var elemBottom =3D ef.bottomleft.y;=0A=
        var elemLeft =3D ef.topleft.x;=0A=
        var elemRight =3D ef.topright.x;=0A=
        var elemWidth =3D ef.width;=0A=
        var elemHeight =3D ef.height;=0A=
=0A=
        var topBlockHeight =3D elemTop - tEdge;=0A=
        if (topBlockHeight < 0) topBlockHeight =3D 0;=0A=
=0A=
        var bottomBlockHeight =3D bEdge - elemBottom;=0A=
        if (bottomBlockHeight < 0) bottomBlockHeight =3D 0;=0A=
=0A=
        var leftBlockWidth =3D elemLeft - lEdge;=0A=
        if (leftBlockWidth < 0) leftBlockWidth =3D 0;=0A=
=0A=
        var rightBlockWidth =3D rEdge - elemRight;=0A=
        if (rightBlockWidth < 0) rightBlockWidth =3D 0;=0A=
=0A=
        var topBlockObj =3D this._availableFrameSizesHelper(wf.width, =
topBlockHeight, tEdge, rEdge, elemTop, lEdge);=0A=
        var bottomBlockObj =3D this._availableFrameSizesHelper(wf.width, =
bottomBlockHeight, elemBottom, rEdge, bEdge, lEdge);=0A=
=0A=
        var leftBlockObj =3D =
this._availableFrameSizesHelper(leftBlockWidth, wf.height, tEdge, =
elemRight, bEdge, lEdge);=0A=
        var rightBlockObj =3D =
this._availableFrameSizesHelper(rightBlockWidth, wf.height, tEdge, =
rEdge, bEdge, elemRight);=0A=
=0A=
        var topleftBlockObj =3D =
this._availableFrameSizesHelper(leftBlockWidth, topBlockHeight, tEdge, =
elemLeft, elemTop, lEdge);=0A=
        var topcenterBlockObj =3D =
this._availableFrameSizesHelper(elemWidth, topBlockHeight, tEdge, =
elemRight, elemTop, elemLeft);=0A=
        var toprightBlockObj =3D =
this._availableFrameSizesHelper(rightBlockWidth, topBlockHeight, tEdge, =
rEdge, elemTop, elemRight);=0A=
=0A=
        var bottomleftBlockObj =3D =
this._availableFrameSizesHelper(leftBlockWidth, bottomBlockHeight, =
elemBottom, elemLeft, bEdge, lEdge);=0A=
        var bottomcenterBlockObj =3D =
this._availableFrameSizesHelper(elemWidth, bottomBlockHeight, =
elemBottom, elemRight, bEdge, elemLeft);=0A=
        var bottomrightBlockObj =3D =
this._availableFrameSizesHelper(rightBlockWidth, bottomBlockHeight, =
elemBottom, rEdge, bEdge, elemRight);=0A=
=0A=
        var middleLeftBlockObj =3D =
this._availableFrameSizesHelper(leftBlockWidth, elemHeight, elemTop, =
elemLeft, elemBottom, lEdge);=0A=
        var middleRightBlockObj =3D =
this._availableFrameSizesHelper(rightBlockWidth, elemHeight, elemTop, =
rEdge, elemBottom, elemRight);=0A=
=0A=
        return {=0A=
            "top": topBlockObj,=0A=
            "bottom": bottomBlockObj,=0A=
            "left": leftBlockObj,=0A=
            "right": rightBlockObj,=0A=
            "topleft": topleftBlockObj,=0A=
            "topcenter": topcenterBlockObj,=0A=
            "topright": toprightBlockObj,=0A=
            "bottomleft": bottomleftBlockObj,=0A=
            "bottomcenter": bottomcenterBlockObj,=0A=
            "bottomright": bottomrightBlockObj,=0A=
            "middleleft": middleLeftBlockObj,=0A=
            "middleright": middleRightBlockObj=0A=
        }=0A=
=0A=
    },=0A=
=0A=
    elementFramePercentHidden: function () {=0A=
=0A=
        var element =3D jQuery(this);=0A=
        var wf =3D element.windowFrame();=0A=
        var ef =3D element.elementFrame();=0A=
=0A=
        var tEdge =3D wf.topleft.y;=0A=
        var lEdge =3D wf.topleft.x;=0A=
        var rEdge =3D wf.bottomright.x;=0A=
        var bEdge =3D wf.bottomright.y;=0A=
=0A=
        var elemTop =3D ef.topleft.y;=0A=
        var elemBottom =3D ef.bottomleft.y;=0A=
        var elemLeft =3D ef.topleft.x;=0A=
        var elemRight =3D ef.topright.x;=0A=
        var elemWidth =3D ef.outerWidth;=0A=
        var elemHeight =3D ef.outerHeight;=0A=
=0A=
        var lPixel =3D rPixel =3D tPixel =3D bPixel =3D 0;=0A=
        var lPercent =3D rPercent =3D tPercent =3D bPercent =3D 0;=0A=
        var isHidden =3D false;=0A=
=0A=
        var calc =3D elemLeft - lEdge;=0A=
        if (calc < 0) {=0A=
            isHidden =3D true;=0A=
            lPixel =3D calc * -1;=0A=
            lPercent =3D (elemWidth + calc) / elemWidth * 100;=0A=
        }=0A=
=0A=
        var calc =3D rEdge - elemRight;=0A=
        if (calc < 0) {=0A=
            isHidden =3D true;=0A=
            rPixel =3D calc * -1;=0A=
            rPercent =3D 100 - (elemWidth + calc) / elemWidth * 100;=0A=
        }=0A=
=0A=
        var calc =3D elemTop - tEdge;=0A=
        if (calc < 0) {=0A=
            isHidden =3D true;=0A=
            tPixel =3D calc * -1;=0A=
            tPercent =3D (elemHeight + calc) / elemHeight * 100;=0A=
        }=0A=
        =0A=
        var scrollWidthAdjust =3D (!jQuery.browser.msie  && =
wf.scrollWidth > wf.width + 16)?-16:0;=0A=
        =0A=
        var calc =3D bEdge - elemBottom + scrollWidthAdjust;=0A=
        if (calc < 0) {=0A=
            isHidden =3D true;=0A=
            bPixel =3D calc * -1;=0A=
            bPercent =3D 100 - (elemHeight + calc) / elemHeight * 100;=0A=
        }=0A=
=0A=
        return {=0A=
=0A=
            "isHidden": isHidden,=0A=
            "left": lPercent,=0A=
            "right": rPercent,=0A=
            "top": tPercent,=0A=
            "bottom": bPercent,=0A=
            "pixels": {=0A=
                "left": lPixel,=0A=
                "right": rPixel,=0A=
                "top": tPixel,=0A=
                "bottom": bPixel=0A=
            }=0A=
=0A=
        }=0A=
=0A=
    },=0A=
=0A=
    moveFrameIntoView: function () {=0A=
=0A=
        var elem =3D jQuery(this);=0A=
        var percent =3D elem.elementFramePercentHidden();=0A=
=0A=
        if (percent.isHidden) {=0A=
=0A=
            var top =3D percent.pixels.top;=0A=
            var bot =3D percent.pixels.bottom;=0A=
            var lef =3D percent.pixels.left;=0A=
            var rig =3D percent.pixels.right;=0A=
=0A=
            var adjY =3D top || -bot || 0;=0A=
            if (adjY !=3D=3D 0) {=0A=
                var posY =3D parseInt(elem.css("top"), 10) + =
parseInt(adjY, 10);=0A=
                elem.css("top", posY + "px");=0A=
            }=0A=
=0A=
            var adjX =3D lef || -rig || 0;=0A=
            if (adjX !=3D=3D 0) {=0A=
                var posX =3D parseInt(elem.css("left"), 10) + =
parseInt(adjX, 10);=0A=
                elem.css("left", posX + "px");=0A=
            }=0A=
        }=0A=
=0A=
    },=0A=
=0A=
    /*=0A=
        setFramePosition - Positions element relative to another in the =
specified manner=0A=
            source : { - Element that has the data you want to position=0A=
                vertical - 'top', 'middle', 'bottom', 'XXX%', 'XXpx'=0A=
                hortizontal - 'right', 'center', 'left', 'XXX%', 'XXpx'=0A=
                adjustFit - 'none','autoAdjust'=0A=
            }=0A=
            target : { Element where you want to position the data =
relative too=0A=
                element - Element that we are getting position data from=0A=
                vertical - 'top', 'middle', 'bottom', 'XXX%', 'XXpx'=0A=
                hortizontal - 'right', 'center', 'lft', 'XXX%', 'XXpx'=0A=
            }=0A=
    */=0A=
    setFramePosition: function (source, target) {=0A=
=0A=
        var sourceElement =3D jQuery(this).css("top", =
-1000).css("display", "block");=0A=
        var targetElement =3D jQuery(target.element);=0A=
        var elemFrame =3D sourceElement.elementFrame();=0A=
        var tarElemFrame =3D targetElement.elementFrame();=0A=
        var winFrame =3D sourceElement.windowFrame();=0A=
=0A=
        //var parents =3D jQuery(elem).parents().get();=0A=
        var parents =3D sourceElement.parents().get();=0A=
=0A=
        var isRelative =3D false;=0A=
        for (var i =3D 0; i < parents.length; i++) {=0A=
            var elemPosition =3D jQuery(parents[i]).css("position");=0A=
            if (elemPosition =3D=3D "relative") {=0A=
                isRelative =3D true;=0A=
                break;=0A=
            }=0A=
        }=0A=
=0A=
        if (isRelative) {=0A=
            var mountingPointX =3D 0;=0A=
            var mountingPointY =3D 0;=0A=
        } else {=0A=
            var mountingPointX =3D tarElemFrame.topleft.x;=0A=
            var mountingPointY =3D tarElemFrame.topleft.y;=0A=
        }=0A=
=0A=
        var targetOffset =3D this._getFrameOffsetPosition(targetElement, =
tarElemFrame.height, tarElemFrame.width, target.vertical, =
target.hortizontal);=0A=
        mountingPointX +=3D targetOffset.offsetX;=0A=
        mountingPointY +=3D targetOffset.offsetY;=0A=
        =0A=
        var sourceOffset =3D this._getFrameOffsetPosition(sourceElement, =
elemFrame.height, elemFrame.width, source.vertical, source.hortizontal);=0A=
=0A=
        var custOffsetX =3D source.customOffsetX || 0;=0A=
        var custOffsetY =3D source.customOffsetY || 0;=0A=
=0A=
        var newLocationPointX =3D mountingPointX + custOffsetX - =
sourceOffset.offsetX;=0A=
        var newLocationPointY =3D mountingPointY + custOffsetY - =
sourceOffset.offsetY;=0A=
=0A=
        if (isRelative) {=0A=
            newLocationPointX -=3D mountingPointX;=0A=
            newLocationPointY -=3D mountingPointY;=0A=
        }=0A=
        =0A=
        var newLocation =3D {=0A=
            "topleft": {=0A=
                "x": newLocationPointX,=0A=
                "y": newLocationPointY=0A=
            },=0A=
            "width": elemFrame.width,=0A=
            "height": elemFrame.height,=0A=
            "ignoreDimensions": true=0A=
        };=0A=
        =0A=
        var opac1 =3D sourceElement.css("opacity");=0A=
        var opac2 =3D sourceElement.css("filter");=0A=
        var opac3 =3D sourceElement.css("-ms-filter");=0A=
=0A=
        sourceElement.css("opacity", 0).css("filter", =
"alpha(opacity=3D0)").css("-ms-filter", =
"progid:DXImageTransform.Microsoft.Alpha(Opacity=3D0)").elementFrame(newL=
ocation);=0A=
=0A=
        if (!source.adjustFit || source.adjustFit.toLowerCase() =
=3D=3D=3D "autoadjust" || source.adjustFit.toLowerCase() =3D=3D=3D =
"slide") {=0A=
            sourceElement.moveFrameIntoView();=0A=
        }=0A=
=0A=
        sourceElement.css("display", "none").css("opacity", =
opac1).css("filter", opac2).css("-ms-filter", opac3);=0A=
=0A=
        return this;=0A=
=0A=
    },=0A=
=0A=
    _getFrameOffsetPosition: function (elem, height, width, vert, hort) {=0A=
=0A=
        function _calcNumber(str, widHei) {=0A=
            if (str.indexOf("%") > 0) {=0A=
                var per =3D parseFloat(str) / 100;=0A=
                return Math.floor(widHei * per);=0A=
            } else if (str.length > 0) {=0A=
                return parseInt(str);=0A=
            } else {=0A=
                return 0;=0A=
            }=0A=
=0A=
        }=0A=
        =0A=
        var t =3D 0;=0A=
        var l =3D 0;=0A=
=0A=
        switch (vert.toLowerCase()) {=0A=
=0A=
        case 'top':=0A=
        case 't':=0A=
            t =3D parseInt(elem.css("margin-top"), 10) || 0;=0A=
            break;=0A=
=0A=
        case 'middle':=0A=
        case 'm':=0A=
        case 'center':=0A=
        case 'c':        =0A=
            t =3D Math.floor(height / 2);=0A=
            break;=0A=
=0A=
        case 'bottom':=0A=
        case 'b':=0A=
            t =3D height; //+ (parseInt(elem.css("margin-bottom"),10) || =
0);=0A=
            break;=0A=
        default:=0A=
            t =3D _calcNumber(vert, height);=0A=
            if (isNaN(t)) t =3D 0;=0A=
        }=0A=
=0A=
        switch (hort.toLowerCase()) {=0A=
=0A=
        case 'left':=0A=
        case 'l':=0A=
            l =3D parseInt(elem.css("margin-left"), 10) || 0;=0A=
            break;=0A=
=0A=
        case 'center':=0A=
        case 'c': =0A=
            l =3D Math.floor(width / 2);=0A=
            break;=0A=
=0A=
        case 'right':=0A=
        case 'r':=0A=
            l =3D width; // - ( parseInt(elem.css("margin-right"),10) || =
0);=0A=
            break;=0A=
        default:=0A=
            l =3D _calcNumber(hort, width);=0A=
            if (isNaN(l)) l =3D 0;=0A=
        }=0A=
        =0A=
        return {=0A=
            "offsetX": l,=0A=
            "offsetY": t=0A=
        };=0A=
    },=0A=
=0A=
    centerFrameInWindow: function () {=0A=
=0A=
        var element =3D jQuery(this);=0A=
=0A=
        var isHidden =3D false;=0A=
=0A=
        if (element.is(":visible").length =3D=3D=3D 0) {=0A=
            isHidden =3D true;=0A=
            element.css("top", "-10000px").css("display", "block");=0A=
        }=0A=
=0A=
        var ef =3D element.elementFrame();=0A=
        var wf =3D element.windowFrame();=0A=
=0A=
        if (isHidden) {=0A=
            element.css("display", "none");=0A=
        }=0A=
=0A=
        var x =3D Math.floor((wf.width - ef.width) / 2) + wf.topleft.x;=0A=
        var y =3D Math.floor((wf.height - ef.height) / 2) + wf.topleft.y;=0A=
=0A=
        var newPosition =3D {=0A=
            "topleft": {=0A=
                "x": x,=0A=
                "y": y=0A=
            },=0A=
            "width": ef.width,=0A=
            "height": ef.height,=0A=
            "ignoreDimensions": true=0A=
        }=0A=
=0A=
        element.elementFrame(newPosition);=0A=
=0A=
        return this;=0A=
=0A=
    },=0A=
=0A=
    createIE6LayerFix: function (isAppendable) {=0A=
=0A=
        var isIE6 =3D (jQuery.browser.msie && =
parseInt(jQuery.browser.version, 10) < 7);=0A=
        if (isIE6) {=0A=
=0A=
            /*=0A=
        iframe.ui-ncbi-iframe-fix=0A=
        {=0A=
            position: absolute;=0A=
            top:0px;=0A=
            left:0px;       =0A=
            height: 200px;=0A=
            z-index:1000; =0A=
            filter:alpha(opacity=3D1);=0A=
        }=0A=
        */=0A=
=0A=
            var elem =3D jQuery("<iframe src=3D'javascript:\"\";' =
class=3D'ui-ncbi-iframe-fix' marginwidth=3D'0' marginheight=3D'0' =
align=3D'bottom' scrolling=3D'no' frameborder=3D'0'></iframe>");=0A=
=0A=
            var dims =3D jQuery(this).elementFrame();=0A=
            if (dims.zIndex !=3D=3D "auto" && typeof =
parseInt(dims.zIndex, 10) =3D=3D=3D "number") {=0A=
                dims.zIndex =3D dims.zIndex - 1;=0A=
            }=0A=
            elem.elementFrame(dims)=0A=
=0A=
            if (isAppendable) {=0A=
                elem.appendTo(document.body);=0A=
            }=0A=
=0A=
            return elem;=0A=
=0A=
        }=0A=
=0A=
        return null;=0A=
=0A=
    }=0A=
=0A=
});=0A=
=0A=
/**=0A=
* hoverIntent is similar to jQuery's built-in "hover" function except =
that=0A=
* instead of firing the onMouseOver event immediately, hoverIntent checks=0A=
* to see if the user's mouse has slowed down (beneath the sensitivity=0A=
* threshold) before firing the onMouseOver event.=0A=
* =0A=
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+=0A=
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>=0A=
* =0A=
* hoverIntent is currently available for use in all personal or =
commercial =0A=
* projects under both MIT and GPL licenses. This means that you can =
choose =0A=
* the license that best suits your project, and use it accordingly.=0A=
* =0A=
* // basic usage (just like .hover) receives onMouseOver and onMouseOut =
functions=0A=
* $("ul li").hoverIntent( showNav , hideNav );=0A=
* =0A=
* // advanced usage receives configuration object only=0A=
* $("ul li").hoverIntent({=0A=
*	sensitivity: 7, // number =3D sensitivity threshold (must be 1 or =
higher)=0A=
*	interval: 100,   // number =3D milliseconds of polling interval=0A=
*	over: showNav,  // function =3D onMouseOver callback (required)=0A=
*	timeout: 0,   // number =3D milliseconds delay before onMouseOut =
function call=0A=
*	out: hideNav    // function =3D onMouseOut callback (required)=0A=
* });=0A=
* =0A=
* @param  f  onMouseOver function || An object with configuration options=0A=
* @param  g  onMouseOut function  || Nothing (use configuration options =
object)=0A=
* @author    Brian Cherne <brian@cherne.net>=0A=
*/=0A=
(function($) {=0A=
	$.fn.hoverIntent =3D function(f,g) {=0A=
		// default configuration options=0A=
		var cfg =3D {=0A=
			sensitivity: 7,=0A=
			interval: 100,=0A=
			timeout: 0=0A=
		};=0A=
		// override configuration options with user supplied object=0A=
		cfg =3D $.extend(cfg, g ? { over: f, out: g } : f );=0A=
=0A=
		// instantiate variables=0A=
		// cX, cY =3D current X and Y position of mouse, updated by mousemove =
event=0A=
		// pX, pY =3D previous X and Y position of mouse, set by mouseover and =
polling interval=0A=
		var cX, cY, pX, pY;=0A=
=0A=
		// A private function for getting mouse position=0A=
		var track =3D function(ev) {=0A=
			cX =3D ev.pageX;=0A=
			cY =3D ev.pageY;=0A=
		};=0A=
=0A=
		// A private function for comparing current and previous mouse position=0A=
		var compare =3D function(ev,ob) {=0A=
			ob.hoverIntent_t =3D clearTimeout(ob.hoverIntent_t);=0A=
			// compare mouse positions to see if they've crossed the threshold=0A=
			if ( ( Math.abs(pX-cX) + Math.abs(pY-cY) ) < cfg.sensitivity ) {=0A=
				$(ob).unbind("mousemove",track);=0A=
				// set hoverIntent state to true (so mouseOut can be called)=0A=
				ob.hoverIntent_s =3D 1;=0A=
				return cfg.over.apply(ob,[ev]);=0A=
			} else {=0A=
				// set previous coordinates for next time=0A=
				pX =3D cX; pY =3D cY;=0A=
				// use self-calling timeout, guarantees intervals are spaced out =
properly (avoids JavaScript timer bugs)=0A=
				ob.hoverIntent_t =3D setTimeout( function(){compare(ev, ob);} , =
cfg.interval );=0A=
			}=0A=
		};=0A=
=0A=
		// A private function for delaying the mouseOut function=0A=
		var delay =3D function(ev,ob) {=0A=
			ob.hoverIntent_t =3D clearTimeout(ob.hoverIntent_t);=0A=
			ob.hoverIntent_s =3D 0;=0A=
			return cfg.out.apply(ob,[ev]);=0A=
		};=0A=
=0A=
		// A private function for handling mouse 'hovering'=0A=
		var handleHover =3D function(e) {=0A=
			// next three lines copied from jQuery.hover, ignore children =
onMouseOver/onMouseOut=0A=
			var p =3D (e.type =3D=3D "mouseover" ? e.fromElement : e.toElement) =
|| e.relatedTarget;=0A=
			while ( p && p !=3D this ) { try { p =3D p.parentNode; } catch(e) { p =
=3D this; } }=0A=
			if ( p =3D=3D this ) { return false; }=0A=
=0A=
			// copy objects to be passed into t (required for event object to be =
passed in IE)=0A=
			var ev =3D jQuery.extend({},e);=0A=
			var ob =3D this;=0A=
=0A=
			// cancel hoverIntent timer if it exists=0A=
			if (ob.hoverIntent_t) { ob.hoverIntent_t =3D =
clearTimeout(ob.hoverIntent_t); }=0A=
=0A=
			// else e.type =3D=3D "onmouseover"=0A=
			if (e.type =3D=3D "mouseover") {=0A=
				// set "previous" X and Y position based on initial entry point=0A=
				pX =3D ev.pageX; pY =3D ev.pageY;=0A=
				// update "current" X and Y position based on mousemove=0A=
				$(ob).bind("mousemove",track);=0A=
				// start polling interval (self-calling timeout) to compare mouse =
coordinates over time=0A=
				if (ob.hoverIntent_s !=3D 1) { ob.hoverIntent_t =3D setTimeout( =
function(){compare(ev,ob);} , cfg.interval );}=0A=
=0A=
			// else e.type =3D=3D "onmouseout"=0A=
			} else {=0A=
				// unbind expensive mousemove event=0A=
				$(ob).unbind("mousemove",track);=0A=
				// if hoverIntent state is true, then call the mouseOut function =
after the specified delay=0A=
				if (ob.hoverIntent_s =3D=3D 1) { ob.hoverIntent_t =3D setTimeout( =
function(){delay(ev,ob);} , cfg.timeout );}=0A=
			}=0A=
		};=0A=
=0A=
		// bind the function to the two event listeners=0A=
		return this.mouseover(handleHover).mouseout(handleHover);=0A=
	};=0A=
})(jQuery);=0A=
/* minimized file - orginal : http://www.JSON.org/json2.js */=0A=
=0A=
if(!this.JSON){this.JSON=3D{};}=0A=
(function(){function f(n){return n<10?'0'+n:n;}=0A=
if(typeof =
Date.prototype.toJSON!=3D=3D'function'){Date.prototype.toJSON=3Dfunction(=
key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+=0A=
f(this.getUTCMonth()+1)+'-'+=0A=
f(this.getUTCDate())+'T'+=0A=
f(this.getUTCHours())+':'+=0A=
f(this.getUTCMinutes())+':'+=0A=
f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=3DNumber.proto=
type.toJSON=3DBoolean.prototype.toJSON=3Dfunction(key){return =
this.valueOf();};}=0A=
var =
cx=3D/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u2=
02f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=3D/[\\\"\x00-\x1f\x7f-\x=
9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\=
u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta=3D{'\b':'\\b','\t':'\\t','\n'=
:'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function =
quote(string){escapable.lastIndex=3D0;return =
escapable.test(string)?'"'+string.replace(escapable,function(a){var =
c=3Dmeta[a];return typeof =
c=3D=3D=3D'string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4=
);})+'"':'"'+string+'"';}=0A=
function str(key,holder){var =
i,k,v,length,mind=3Dgap,partial,value=3Dholder[key];if(value&&typeof =
value=3D=3D=3D'object'&&typeof =
value.toJSON=3D=3D=3D'function'){value=3Dvalue.toJSON(key);}=0A=
if(typeof rep=3D=3D=3D'function'){value=3Drep.call(holder,key,value);}=0A=
switch(typeof value){case'string':return =
quote(value);case'number':return =
isFinite(value)?String(value):'null';case'boolean':case'null':return =
String(value);case'object':if(!value){return'null';}=0A=
gap+=3Dindent;partial=3D[];if(Object.prototype.toString.apply(value)=3D=3D=
=3D'[object =
Array]'){length=3Dvalue.length;for(i=3D0;i<length;i+=3D1){partial[i]=3Dst=
r(i,value)||'null';}=0A=
v=3Dpartial.length=3D=3D=3D0?'[]':gap?'[\n'+gap+=0A=
partial.join(',\n'+gap)+'\n'+=0A=
mind+']':'['+partial.join(',')+']';gap=3Dmind;return v;}=0A=
if(rep&&typeof =
rep=3D=3D=3D'object'){length=3Drep.length;for(i=3D0;i<length;i+=3D1){k=3D=
rep[i];if(typeof =
k=3D=3D=3D'string'){v=3Dstr(k,value);if(v){partial.push(quote(k)+(gap?': =
':':')+v);}}}}else{for(k in =
value){if(Object.hasOwnProperty.call(value,k)){v=3Dstr(k,value);if(v){par=
tial.push(quote(k)+(gap?': ':':')+v);}}}}=0A=
v=3Dpartial.length=3D=3D=3D0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'=
\n'+=0A=
mind+'}':'{'+partial.join(',')+'}';gap=3Dmind;return v;}}=0A=
if(typeof =
JSON.stringify!=3D=3D'function'){JSON.stringify=3Dfunction(value,replacer=
,space){var i;gap=3D'';indent=3D'';if(typeof =
space=3D=3D=3D'number'){for(i=3D0;i<space;i+=3D1){indent+=3D' ';}}else =
if(typeof space=3D=3D=3D'string'){indent=3Dspace;}=0A=
rep=3Dreplacer;if(replacer&&typeof replacer!=3D=3D'function'&&(typeof =
replacer!=3D=3D'object'||typeof replacer.length!=3D=3D'number')){throw =
new Error('JSON.stringify');}=0A=
return str('',{'':value});};}=0A=
if(typeof =
JSON.parse!=3D=3D'function'){JSON.parse=3Dfunction(text,reviver){var =
j;function walk(holder,key){var k,v,value=3Dholder[key];if(value&&typeof =
value=3D=3D=3D'object'){for(k in =
value){if(Object.hasOwnProperty.call(value,k)){v=3Dwalk(value,k);if(v!=3D=
=3Dundefined){value[k]=3Dv;}else{delete value[k];}}}}=0A=
return reviver.call(holder,key,value);}=0A=
cx.lastIndex=3D0;if(cx.test(text)){text=3Dtext.replace(cx,function(a){ret=
urn'\\u'+=0A=
('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}=0A=
if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/=
g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]=
?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=3Deval('('+text+')')=
;return typeof reviver=3D=3D=3D'function'?walk({'':j},''):j;}=0A=
throw new SyntaxError('JSON.parse');};}}());/*!=0A=
 * jQuery UI 1.8=0A=
 *=0A=
 * Copyright (c) 2010 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=0A=
 */=0A=
;jQuery.ui || (function($) {=0A=
=0A=
//Helper functions and ui object=0A=
$.ui =3D {=0A=
	version: "1.8",=0A=
=0A=
	// $.ui.plugin is deprecated.  Use the proxy pattern instead.=0A=
	plugin: {=0A=
		add: function(module, option, set) {=0A=
			var proto =3D $.ui[module].prototype;=0A=
			for(var i in set) {=0A=
				proto.plugins[i] =3D proto.plugins[i] || [];=0A=
				proto.plugins[i].push([option, set[i]]);=0A=
			}=0A=
		},=0A=
		call: function(instance, name, args) {=0A=
			var set =3D instance.plugins[name];=0A=
			if(!set || !instance.element[0].parentNode) { return; }=0A=
=0A=
			for (var i =3D 0; i < set.length; i++) {=0A=
				if (instance.options[set[i][0]]) {=0A=
					set[i][1].apply(instance.element, args);=0A=
				}=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	contains: function(a, b) {=0A=
		return document.compareDocumentPosition=0A=
			? a.compareDocumentPosition(b) & 16=0A=
			: a !=3D=3D b && a.contains(b);=0A=
	},=0A=
=0A=
	hasScroll: function(el, a) {=0A=
=0A=
		//If overflow is hidden, the element might have extra content, but the =
user wants to hide it=0A=
		if ($(el).css('overflow') =3D=3D 'hidden') { return false; }=0A=
=0A=
		var scroll =3D (a && a =3D=3D 'left') ? 'scrollLeft' : 'scrollTop',=0A=
			has =3D false;=0A=
=0A=
		if (el[scroll] > 0) { return true; }=0A=
=0A=
		// TODO: determine which cases actually cause this to happen=0A=
		// if the element doesn't have the scroll set, see if it's possible to=0A=
		// set the scroll=0A=
		el[scroll] =3D 1;=0A=
		has =3D (el[scroll] > 0);=0A=
		el[scroll] =3D 0;=0A=
		return has;=0A=
	},=0A=
=0A=
	isOverAxis: function(x, reference, size) {=0A=
		//Determines when x coordinate is over "b" element axis=0A=
		return (x > reference) && (x < (reference + size));=0A=
	},=0A=
=0A=
	isOver: function(y, x, top, left, height, width) {=0A=
		//Determines when x, y coordinates is over "b" element=0A=
		return $.ui.isOverAxis(y, top, height) && $.ui.isOverAxis(x, left, =
width);=0A=
	},=0A=
=0A=
	keyCode: {=0A=
		BACKSPACE: 8,=0A=
		CAPS_LOCK: 20,=0A=
		COMMA: 188,=0A=
		CONTROL: 17,=0A=
		DELETE: 46,=0A=
		DOWN: 40,=0A=
		END: 35,=0A=
		ENTER: 13,=0A=
		ESCAPE: 27,=0A=
		HOME: 36,=0A=
		INSERT: 45,=0A=
		LEFT: 37,=0A=
		NUMPAD_ADD: 107,=0A=
		NUMPAD_DECIMAL: 110,=0A=
		NUMPAD_DIVIDE: 111,=0A=
		NUMPAD_ENTER: 108,=0A=
		NUMPAD_MULTIPLY: 106,=0A=
		NUMPAD_SUBTRACT: 109,=0A=
		PAGE_DOWN: 34,=0A=
		PAGE_UP: 33,=0A=
		PERIOD: 190,=0A=
		RIGHT: 39,=0A=
		SHIFT: 16,=0A=
		SPACE: 32,=0A=
		TAB: 9,=0A=
		UP: 38=0A=
	}=0A=
};=0A=
=0A=
//jQuery plugins=0A=
$.fn.extend({=0A=
	_focus: $.fn.focus,=0A=
	focus: function(delay, fn) {=0A=
		return typeof delay =3D=3D=3D 'number'=0A=
			? this.each(function() {=0A=
				var elem =3D this;=0A=
				setTimeout(function() {=0A=
					$(elem).focus();=0A=
					(fn && fn.call(elem));=0A=
				}, delay);=0A=
			})=0A=
			: this._focus.apply(this, arguments);=0A=
	},=0A=
	=0A=
	enableSelection: function() {=0A=
		return this=0A=
			.attr('unselectable', 'off')=0A=
			.css('MozUserSelect', '')=0A=
			.unbind('selectstart.ui');=0A=
	},=0A=
=0A=
	disableSelection: function() {=0A=
		return this=0A=
			.attr('unselectable', 'on')=0A=
			.css('MozUserSelect', 'none')=0A=
			.bind('selectstart.ui', function() { return false; });=0A=
	},=0A=
=0A=
	scrollParent: function() {=0A=
		var scrollParent;=0A=
		if(($.browser.msie && =
(/(static|relative)/).test(this.css('position'))) || =
(/absolute/).test(this.css('position'))) {=0A=
			scrollParent =3D this.parents().filter(function() {=0A=
				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));=0A=
			}).eq(0);=0A=
		} else {=0A=
			scrollParent =3D this.parents().filter(function() {=0A=
				return =
(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflo=
w-y',1)+$.curCSS(this,'overflow-x',1));=0A=
			}).eq(0);=0A=
		}=0A=
=0A=
		return (/fixed/).test(this.css('position')) || !scrollParent.length ? =
$(document) : scrollParent;=0A=
	},=0A=
=0A=
	zIndex: function(zIndex) {=0A=
		if (zIndex !=3D=3D undefined) {=0A=
			return this.css('zIndex', zIndex);=0A=
		}=0A=
		=0A=
		if (this.length) {=0A=
			var elem =3D $(this[0]), position, value;=0A=
			while (elem.length && elem[0] !=3D=3D document) {=0A=
				// Ignore z-index if position is set to a value where z-index is =
ignored by the browser=0A=
				// This makes behavior of this function consistent across browsers=0A=
				// WebKit always returns auto if the element is positioned=0A=
				position =3D elem.css('position');=0A=
				if (position =3D=3D 'absolute' || position =3D=3D 'relative' || =
position =3D=3D 'fixed')=0A=
				{=0A=
					// IE returns 0 when zIndex is not specified=0A=
					// other browsers return a string=0A=
					// we ignore the case of nested elements with an explicit value of 0=0A=
					// <div style=3D"z-index: -10;"><div style=3D"z-index: =
0;"></div></div>=0A=
					value =3D parseInt(elem.css('zIndex'));=0A=
					if (!isNaN(value) && value !=3D 0) {=0A=
						return value;=0A=
					}=0A=
				}=0A=
				elem =3D elem.parent();=0A=
			}=0A=
		}=0A=
=0A=
		return 0;=0A=
	}=0A=
});=0A=
=0A=
=0A=
//Additional selectors=0A=
$.extend($.expr[':'], {=0A=
	data: function(elem, i, match) {=0A=
		return !!$.data(elem, match[3]);=0A=
	},=0A=
=0A=
	focusable: function(element) {=0A=
		var nodeName =3D element.nodeName.toLowerCase(),=0A=
			tabIndex =3D $.attr(element, 'tabindex');=0A=
		return (/input|select|textarea|button|object/.test(nodeName)=0A=
			? !element.disabled=0A=
			: 'a' =3D=3D nodeName || 'area' =3D=3D nodeName=0A=
				? element.href || !isNaN(tabIndex)=0A=
				: !isNaN(tabIndex))=0A=
			// the element and all of its ancestors must be visible=0A=
			// the browser may report that the area is hidden=0A=
			&& !$(element)['area' =3D=3D nodeName ? 'parents' : =
'closest'](':hidden').length;=0A=
	},=0A=
=0A=
	tabbable: function(element) {=0A=
		var tabIndex =3D $.attr(element, 'tabindex');=0A=
		return (isNaN(tabIndex) || tabIndex >=3D 0) && =
$(element).is(':focusable');=0A=
	}=0A=
});=0A=
=0A=
})(jQuery);=0A=
/*!=0A=
 * jQuery UI Widget 1.8=0A=
 *=0A=
 * Copyright (c) 2010 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/Widget=0A=
 */=0A=
(function( $ ) {=0A=
=0A=
var _remove =3D $.fn.remove;=0A=
=0A=
$.fn.remove =3D function( selector, keepData ) {=0A=
	return this.each(function() {=0A=
		if ( !keepData ) {=0A=
			if ( !selector || $.filter( selector, [ this ] ).length ) {=0A=
				$( "*", this ).add( this ).each(function() {=0A=
					$( this ).triggerHandler( "remove" );=0A=
				});=0A=
			}=0A=
		}=0A=
		return _remove.call( $(this), selector, keepData );=0A=
	});=0A=
};=0A=
=0A=
$.widget =3D function( name, base, prototype ) {=0A=
	var namespace =3D name.split( "." )[ 0 ],=0A=
		fullName;=0A=
	name =3D name.split( "." )[ 1 ];=0A=
	fullName =3D namespace + "-" + name;=0A=
=0A=
	if ( !prototype ) {=0A=
		prototype =3D base;=0A=
		base =3D $.Widget;=0A=
	}=0A=
=0A=
	// create selector for plugin=0A=
	$.expr[ ":" ][ fullName ] =3D function( elem ) {=0A=
		return !!$.data( elem, name );=0A=
	};=0A=
=0A=
	$[ namespace ] =3D $[ namespace ] || {};=0A=
	$[ namespace ][ name ] =3D function( options, element ) {=0A=
		// allow instantiation without initializing for simple inheritance=0A=
		if ( arguments.length ) {=0A=
			this._createWidget( options, element );=0A=
		}=0A=
	};=0A=
=0A=
	var basePrototype =3D new base();=0A=
	// we need to make the options hash a property directly on the new =
instance=0A=
	// otherwise we'll modify the options hash on the prototype that we're=0A=
	// inheriting from=0A=
//	$.each( basePrototype, function( key, val ) {=0A=
//		if ( $.isPlainObject(val) ) {=0A=
//			basePrototype[ key ] =3D $.extend( {}, val );=0A=
//		}=0A=
//	});=0A=
	basePrototype.options =3D $.extend( {}, basePrototype.options );=0A=
	$[ namespace ][ name ].prototype =3D $.extend( true, basePrototype, {=0A=
		namespace: namespace,=0A=
		widgetName: name,=0A=
		widgetEventPrefix: $[ namespace ][ name ].prototype.widgetEventPrefix =
|| name,=0A=
		widgetBaseClass: fullName=0A=
	}, prototype );=0A=
=0A=
	$.widget.bridge( name, $[ namespace ][ name ] );=0A=
};=0A=
=0A=
$.widget.bridge =3D function( name, object ) {=0A=
	$.fn[ name ] =3D function( options ) {=0A=
		var isMethodCall =3D typeof options =3D=3D=3D "string",=0A=
			args =3D Array.prototype.slice.call( arguments, 1 ),=0A=
			returnValue =3D this;=0A=
=0A=
		// allow multiple hashes to be passed on init=0A=
		options =3D !isMethodCall && args.length ?=0A=
			$.extend.apply( null, [ true, options ].concat(args) ) :=0A=
			options;=0A=
=0A=
		// prevent calls to internal methods=0A=
		if ( isMethodCall && options.substring( 0, 1 ) =3D=3D=3D "_" ) {=0A=
			return returnValue;=0A=
		}=0A=
=0A=
		if ( isMethodCall ) {=0A=
			this.each(function() {=0A=
				var instance =3D $.data( this, name ),=0A=
					methodValue =3D instance && $.isFunction( instance[options] ) ?=0A=
						instance[ options ].apply( instance, args ) :=0A=
						instance;=0A=
				if ( methodValue !=3D=3D instance && methodValue !=3D=3D undefined ) =
{=0A=
					returnValue =3D methodValue;=0A=
					return false;=0A=
				}=0A=
			});=0A=
		} else {=0A=
			this.each(function() {=0A=
				var instance =3D $.data( this, name );=0A=
				if ( instance ) {=0A=
					if ( options ) {=0A=
						instance.option( options );=0A=
					}=0A=
					instance._init();=0A=
				} else {=0A=
					$.data( this, name, new object( options, this ) );=0A=
				}=0A=
			});=0A=
		}=0A=
=0A=
		return returnValue;=0A=
	};=0A=
};=0A=
=0A=
$.Widget =3D function( options, element ) {=0A=
	// allow instantiation without initializing for simple inheritance=0A=
	if ( arguments.length ) {=0A=
		this._createWidget( options, element );=0A=
	}=0A=
};=0A=
=0A=
$.Widget.prototype =3D {=0A=
	widgetName: "widget",=0A=
	widgetEventPrefix: "",=0A=
	options: {=0A=
		disabled: false=0A=
	},=0A=
	_createWidget: function( options, element ) {=0A=
		// $.widget.bridge stores the plugin instance, but we do it anyway=0A=
		// so that it's stored even before the _create function runs=0A=
		this.element =3D $( element ).data( this.widgetName, this );=0A=
		this.options =3D $.extend( true, {},=0A=
			this.options,=0A=
			$.metadata && $.metadata.get( element )[ this.widgetName ],=0A=
			options );=0A=
=0A=
		var self =3D this;=0A=
		this.element.bind( "remove." + this.widgetName, function() {=0A=
			self.destroy();=0A=
		});=0A=
=0A=
		this._create();=0A=
		this._init();=0A=
	},=0A=
	_create: function() {},=0A=
	_init: function() {},=0A=
=0A=
	destroy: function() {=0A=
		this.element=0A=
			.unbind( "." + this.widgetName )=0A=
			.removeData( this.widgetName );=0A=
		this.widget()=0A=
			.unbind( "." + this.widgetName )=0A=
			.removeAttr( "aria-disabled" )=0A=
			.removeClass(=0A=
				this.widgetBaseClass + "-disabled " +=0A=
				this.namespace + "-state-disabled" );=0A=
	},=0A=
=0A=
	widget: function() {=0A=
		return this.element;=0A=
	},=0A=
=0A=
	option: function( key, value ) {=0A=
		var options =3D key,=0A=
			self =3D this;=0A=
=0A=
		if ( arguments.length =3D=3D=3D 0 ) {=0A=
			// don't return a reference to the internal hash=0A=
			return $.extend( {}, self.options );=0A=
		}=0A=
=0A=
		if  (typeof key =3D=3D=3D "string" ) {=0A=
			if ( value =3D=3D=3D undefined ) {=0A=
				return this.options[ key ];=0A=
			}=0A=
			options =3D {};=0A=
			options[ key ] =3D value;=0A=
		}=0A=
=0A=
		$.each( options, function( key, value ) {=0A=
			self._setOption( key, value );=0A=
		});=0A=
=0A=
		return self;=0A=
	},=0A=
	_setOption: function( key, value ) {=0A=
		this.options[ key ] =3D value;=0A=
=0A=
		if ( key =3D=3D=3D "disabled" ) {=0A=
			this.widget()=0A=
				[ value ? "addClass" : "removeClass"](=0A=
					this.widgetBaseClass + "-disabled" + " " +=0A=
					this.namespace + "-state-disabled" )=0A=
				.attr( "aria-disabled", value );=0A=
		}=0A=
=0A=
		return this;=0A=
	},=0A=
=0A=
	enable: function() {=0A=
		return this._setOption( "disabled", false );=0A=
	},=0A=
	disable: function() {=0A=
		return this._setOption( "disabled", true );=0A=
	},=0A=
=0A=
	_trigger: function( type, event, data ) {=0A=
		var callback =3D this.options[ type ];=0A=
=0A=
		event =3D $.Event( event );=0A=
		event.type =3D ( type =3D=3D=3D this.widgetEventPrefix ?=0A=
			type :=0A=
			this.widgetEventPrefix + type ).toLowerCase();=0A=
		data =3D data || {};=0A=
=0A=
		// copy original event properties over to the new event=0A=
		// this would happen if we could call $.event.fix instead of $.Event=0A=
		// but we don't have a way to force an event to be fixed multiple times=0A=
		if ( event.originalEvent ) {=0A=
			for ( var i =3D $.event.props.length, prop; i; ) {=0A=
				prop =3D $.event.props[ --i ];=0A=
				event[ prop ] =3D event.originalEvent[ prop ];=0A=
			}=0A=
		}=0A=
=0A=
		this.element.trigger( event, data );=0A=
=0A=
		return !( $.isFunction(callback) &&=0A=
			callback.call( this.element[0], event, data ) =3D=3D=3D false ||=0A=
			event.isDefaultPrevented() );=0A=
	}=0A=
};=0A=
=0A=
})( jQuery );=0A=
/*!=0A=
 * jQuery UI Mouse 1.8=0A=
 *=0A=
 * Copyright (c) 2010 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/Mouse=0A=
 *=0A=
 * Depends:=0A=
 *	jquery.ui.widget.js=0A=
 */=0A=
(function($) {=0A=
=0A=
$.widget("ui.mouse", {=0A=
	options: {=0A=
		cancel: ':input,option',=0A=
		distance: 1,=0A=
		delay: 0=0A=
	},=0A=
	_mouseInit: function() {=0A=
		var self =3D this;=0A=
=0A=
		this.element=0A=
			.bind('mousedown.'+this.widgetName, function(event) {=0A=
				return self._mouseDown(event);=0A=
			})=0A=
			.bind('click.'+this.widgetName, function(event) {=0A=
				if(self._preventClickEvent) {=0A=
					self._preventClickEvent =3D false;=0A=
					event.stopImmediatePropagation();=0A=
					return false;=0A=
				}=0A=
			});=0A=
=0A=
		this.started =3D false;=0A=
	},=0A=
=0A=
	// TODO: make sure destroying one instance of mouse doesn't mess with=0A=
	// other instances of mouse=0A=
	_mouseDestroy: function() {=0A=
		this.element.unbind('.'+this.widgetName);=0A=
	},=0A=
=0A=
	_mouseDown: function(event) {=0A=
		// don't let more than one widget handle mouseStart=0A=
		// TODO: figure out why we have to use originalEvent=0A=
		event.originalEvent =3D event.originalEvent || {};=0A=
		if (event.originalEvent.mouseHandled) { return; }=0A=
=0A=
		// we may have missed mouseup (out of window)=0A=
		(this._mouseStarted && this._mouseUp(event));=0A=
=0A=
		this._mouseDownEvent =3D event;=0A=
=0A=
		var self =3D this,=0A=
			btnIsLeft =3D (event.which =3D=3D 1),=0A=
			elIsCancel =3D (typeof this.options.cancel =3D=3D "string" ? =
$(event.target).parents().add(event.target).filter(this.options.cancel).l=
ength : false);=0A=
		if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {=0A=
			return true;=0A=
		}=0A=
=0A=
		this.mouseDelayMet =3D !this.options.delay;=0A=
		if (!this.mouseDelayMet) {=0A=
			this._mouseDelayTimer =3D setTimeout(function() {=0A=
				self.mouseDelayMet =3D true;=0A=
			}, this.options.delay);=0A=
		}=0A=
=0A=
		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {=0A=
			this._mouseStarted =3D (this._mouseStart(event) !=3D=3D false);=0A=
			if (!this._mouseStarted) {=0A=
				event.preventDefault();=0A=
				return true;=0A=
			}=0A=
		}=0A=
=0A=
		// these delegates are required to keep context=0A=
		this._mouseMoveDelegate =3D function(event) {=0A=
			return self._mouseMove(event);=0A=
		};=0A=
		this._mouseUpDelegate =3D function(event) {=0A=
			return self._mouseUp(event);=0A=
		};=0A=
		$(document)=0A=
			.bind('mousemove.'+this.widgetName, this._mouseMoveDelegate)=0A=
			.bind('mouseup.'+this.widgetName, this._mouseUpDelegate);=0A=
=0A=
		// preventDefault() is used to prevent the selection of text here -=0A=
		// however, in Safari, this causes select boxes not to be selectable=0A=
		// anymore, so this fix is needed=0A=
		($.browser.safari || event.preventDefault());=0A=
=0A=
		event.originalEvent.mouseHandled =3D true;=0A=
		return true;=0A=
	},=0A=
=0A=
	_mouseMove: function(event) {=0A=
		// IE mouseup check - mouseup happened when mouse was out of window=0A=
		if ($.browser.msie && !event.button) {=0A=
			return this._mouseUp(event);=0A=
		}=0A=
=0A=
		if (this._mouseStarted) {=0A=
			this._mouseDrag(event);=0A=
			return event.preventDefault();=0A=
		}=0A=
=0A=
		if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) {=0A=
			this._mouseStarted =3D=0A=
				(this._mouseStart(this._mouseDownEvent, event) !=3D=3D false);=0A=
			(this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event));=0A=
		}=0A=
=0A=
		return !this._mouseStarted;=0A=
	},=0A=
=0A=
	_mouseUp: function(event) {=0A=
		$(document)=0A=
			.unbind('mousemove.'+this.widgetName, this._mouseMoveDelegate)=0A=
			.unbind('mouseup.'+this.widgetName, this._mouseUpDelegate);=0A=
=0A=
		if (this._mouseStarted) {=0A=
			this._mouseStarted =3D false;=0A=
			this._preventClickEvent =3D (event.target =3D=3D =
this._mouseDownEvent.target);=0A=
			this._mouseStop(event);=0A=
		}=0A=
=0A=
		return false;=0A=
	},=0A=
=0A=
	_mouseDistanceMet: function(event) {=0A=
		return (Math.max(=0A=
				Math.abs(this._mouseDownEvent.pageX - event.pageX),=0A=
				Math.abs(this._mouseDownEvent.pageY - event.pageY)=0A=
			) >=3D this.options.distance=0A=
		);=0A=
	},=0A=
=0A=
	_mouseDelayMet: function(event) {=0A=
		return this.mouseDelayMet;=0A=
	},=0A=
=0A=
	// These are placeholder methods, to be overriden by extending plugin=0A=
	_mouseStart: function(event) {},=0A=
	_mouseDrag: function(event) {},=0A=
	_mouseStop: function(event) {},=0A=
	_mouseCapture: function(event) { return true; }=0A=
});=0A=
=0A=
})(jQuery);=0A=
/*=0A=
 * jQuery UI Position 1.8=0A=
 *=0A=
 * Copyright (c) 2010 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/Position=0A=
 */=0A=
(function( $ ) {=0A=
=0A=
$.ui =3D $.ui || {};=0A=
=0A=
var horizontalPositions =3D /left|center|right/,=0A=
	horizontalDefault =3D "center",=0A=
	verticalPositions =3D /top|center|bottom/,=0A=
	verticalDefault =3D "center",=0A=
	_position =3D $.fn.position,=0A=
	_offset =3D $.fn.offset;=0A=
=0A=
$.fn.position =3D function( options ) {=0A=
	if ( !options || !options.of ) {=0A=
		return _position.apply( this, arguments );=0A=
	}=0A=
=0A=
	// make a copy, we don't want to modify arguments=0A=
	options =3D $.extend( {}, options );=0A=
=0A=
	var target =3D $( options.of ),=0A=
		collision =3D ( options.collision || "flip" ).split( " " ),=0A=
		offset =3D options.offset ? options.offset.split( " " ) : [ 0, 0 ],=0A=
		targetWidth,=0A=
		targetHeight,=0A=
		basePosition;=0A=
=0A=
	if ( options.of.nodeType =3D=3D=3D 9 ) {=0A=
		targetWidth =3D target.width();=0A=
		targetHeight =3D target.height();=0A=
		basePosition =3D { top: 0, left: 0 };=0A=
	} else if ( options.of.scrollTo && options.of.document ) {=0A=
		targetWidth =3D target.width();=0A=
		targetHeight =3D target.height();=0A=
		basePosition =3D { top: target.scrollTop(), left: target.scrollLeft() =
};=0A=
	} else if ( options.of.preventDefault ) {=0A=
		// force left top to allow flipping=0A=
		options.at =3D "left top";=0A=
		targetWidth =3D targetHeight =3D 0;=0A=
		basePosition =3D { top: options.of.pageY, left: options.of.pageX };=0A=
	} else {=0A=
		targetWidth =3D target.outerWidth();=0A=
		targetHeight =3D target.outerHeight();=0A=
		basePosition =3D target.offset();=0A=
	}=0A=
=0A=
	// force my and at to have valid horizontal and veritcal positions=0A=
	// if a value is missing or invalid, it will be converted to center =0A=
	$.each( [ "my", "at" ], function() {=0A=
		var pos =3D ( options[this] || "" ).split( " " );=0A=
		if ( pos.length =3D=3D=3D 1) {=0A=
			pos =3D horizontalPositions.test( pos[0] ) ?=0A=
				pos.concat( [verticalDefault] ) :=0A=
				verticalPositions.test( pos[0] ) ?=0A=
					[ horizontalDefault ].concat( pos ) :=0A=
					[ horizontalDefault, verticalDefault ];=0A=
		}=0A=
		pos[ 0 ] =3D horizontalPositions.test( pos[0] ) ? pos[ 0 ] : =
horizontalDefault;=0A=
		pos[ 1 ] =3D verticalPositions.test( pos[1] ) ? pos[ 1 ] : =
verticalDefault;=0A=
		options[ this ] =3D pos;=0A=
	});=0A=
=0A=
	// normalize collision option=0A=
	if ( collision.length =3D=3D=3D 1 ) {=0A=
		collision[ 1 ] =3D collision[ 0 ];=0A=
	}=0A=
=0A=
	// normalize offset option=0A=
	offset[ 0 ] =3D parseInt( offset[0], 10 ) || 0;=0A=
	if ( offset.length =3D=3D=3D 1 ) {=0A=
		offset[ 1 ] =3D offset[ 0 ];=0A=
	}=0A=
	offset[ 1 ] =3D parseInt( offset[1], 10 ) || 0;=0A=
=0A=
	if ( options.at[0] =3D=3D=3D "right" ) {=0A=
		basePosition.left +=3D targetWidth;=0A=
	} else if (options.at[0] =3D=3D=3D horizontalDefault ) {=0A=
		basePosition.left +=3D targetWidth / 2;=0A=
	}=0A=
=0A=
	if ( options.at[1] =3D=3D=3D "bottom" ) {=0A=
		basePosition.top +=3D targetHeight;=0A=
	} else if ( options.at[1] =3D=3D=3D verticalDefault ) {=0A=
		basePosition.top +=3D targetHeight / 2;=0A=
	}=0A=
=0A=
	basePosition.left +=3D offset[ 0 ];=0A=
	basePosition.top +=3D offset[ 1 ];=0A=
=0A=
	return this.each(function() {=0A=
		var elem =3D $( this ),=0A=
			elemWidth =3D elem.outerWidth(),=0A=
			elemHeight =3D elem.outerHeight(),=0A=
			position =3D $.extend( {}, basePosition );=0A=
=0A=
		if ( options.my[0] =3D=3D=3D "right" ) {=0A=
			position.left -=3D elemWidth;=0A=
		} else if ( options.my[0] =3D=3D=3D horizontalDefault ) {=0A=
			position.left -=3D elemWidth / 2;=0A=
		}=0A=
=0A=
		if ( options.my[1] =3D=3D=3D "bottom" ) {=0A=
			position.top -=3D elemHeight;=0A=
		} else if ( options.my[1] =3D=3D=3D verticalDefault ) {=0A=
			position.top -=3D elemHeight / 2;=0A=
		}=0A=
=0A=
		$.each( [ "left", "top" ], function( i, dir ) {=0A=
			if ( $.ui.position[ collision[i] ] ) {=0A=
				$.ui.position[ collision[i] ][ dir ]( position, {=0A=
					targetWidth: targetWidth,=0A=
					targetHeight: targetHeight,=0A=
					elemWidth: elemWidth,=0A=
					elemHeight: elemHeight,=0A=
					offset: offset,=0A=
					my: options.my,=0A=
					at: options.at=0A=
				});=0A=
			}=0A=
		});=0A=
=0A=
		if ( $.fn.bgiframe ) {=0A=
			elem.bgiframe();=0A=
		}=0A=
		elem.offset( $.extend( position, { using: options.using } ) );=0A=
	});=0A=
};=0A=
=0A=
$.ui.position =3D {=0A=
	fit: {=0A=
		left: function( position, data ) {=0A=
			var win =3D $( window ),=0A=
				over =3D position.left + data.elemWidth - win.width() - =
win.scrollLeft();=0A=
			position.left =3D over > 0 ? position.left - over : Math.max( 0, =
position.left );=0A=
		},=0A=
		top: function( position, data ) {=0A=
			var win =3D $( window ),=0A=
				over =3D position.top + data.elemHeight - win.height() - =
win.scrollTop();=0A=
			position.top =3D over > 0 ? position.top - over : Math.max( 0, =
position.top );=0A=
		}=0A=
	},=0A=
=0A=
	flip: {=0A=
		left: function( position, data ) {=0A=
			if ( data.at[0] =3D=3D=3D "center" ) {=0A=
				return;=0A=
			}=0A=
			var win =3D $( window ),=0A=
				over =3D position.left + data.elemWidth - win.width() - =
win.scrollLeft(),=0A=
				myOffset =3D data.my[ 0 ] =3D=3D=3D "left" ?=0A=
					-data.elemWidth :=0A=
					data.my[ 0 ] =3D=3D=3D "right" ?=0A=
						data.elemWidth :=0A=
						0,=0A=
				offset =3D -2 * data.offset[ 0 ];=0A=
			position.left +=3D position.left < 0 ?=0A=
				myOffset + data.targetWidth + offset :=0A=
				over > 0 ?=0A=
					myOffset - data.targetWidth + offset :=0A=
					0;=0A=
		},=0A=
		top: function( position, data ) {=0A=
			if ( data.at[1] =3D=3D=3D "center" ) {=0A=
				return;=0A=
			}=0A=
			var win =3D $( window ),=0A=
				over =3D position.top + data.elemHeight - win.height() - =
win.scrollTop(),=0A=
				myOffset =3D data.my[ 1 ] =3D=3D=3D "top" ?=0A=
					-data.elemHeight :=0A=
					data.my[ 1 ] =3D=3D=3D "bottom" ?=0A=
						data.elemHeight :=0A=
						0,=0A=
				atOffset =3D data.at[ 1 ] =3D=3D=3D "top" ?=0A=
					data.targetHeight :=0A=
					-data.targetHeight,=0A=
				offset =3D -2 * data.offset[ 1 ];=0A=
			position.top +=3D position.top < 0 ?=0A=
				myOffset + data.targetHeight + offset :=0A=
				over > 0 ?=0A=
					myOffset + atOffset + offset :=0A=
					0;=0A=
		}=0A=
	}=0A=
};=0A=
=0A=
// offset setter from jQuery 1.4=0A=
if ( !$.offset.setOffset ) {=0A=
	$.offset.setOffset =3D function( elem, options ) {=0A=
		// set position first, in-case top/left are set even on static elem=0A=
		if ( /static/.test( $.curCSS( elem, "position" ) ) ) {=0A=
			elem.style.position =3D "relative";=0A=
		}=0A=
		var curElem   =3D $( elem ),=0A=
			curOffset =3D curElem.offset(),=0A=
			curTop    =3D parseInt( $.curCSS( elem, "top",  true ), 10 ) || 0,=0A=
			curLeft   =3D parseInt( $.curCSS( elem, "left", true ), 10)  || 0,=0A=
			props     =3D {=0A=
				top:  (options.top  - curOffset.top)  + curTop,=0A=
				left: (options.left - curOffset.left) + curLeft=0A=
			};=0A=
		=0A=
		if ( 'using' in options ) {=0A=
			options.using.call( elem, props );=0A=
		} else {=0A=
			curElem.css( props );=0A=
		}=0A=
	};=0A=
=0A=
	$.fn.offset =3D function( options ) {=0A=
		var elem =3D this[ 0 ];=0A=
		if ( !elem || !elem.ownerDocument ) { return null; }=0A=
		if ( options ) { =0A=
			return this.each(function() {=0A=
				$.offset.setOffset( this, options );=0A=
			});=0A=
		}=0A=
		return _offset.call( this );=0A=
	};=0A=
}=0A=
=0A=
}( jQuery ));=0A=
    // jig-util.js=0A=
    // provides utility methods for all ui widgets intended for jig =
framework=0A=
    =0A=
    if ( typeof jQuery.ui.jig =3D=3D=3D 'undefined') {=0A=
        jQuery.ui.jig =3D {};=0A=
    } =0A=
    =0A=
    jQuery.ui.jig._decodeJSON =3D function(contentAttr, nameAttr) {=0A=
    // decodes a string to a JSON object=0A=
        try {=0A=
            return eval('({' + contentAttr + '})');=0A=
        } catch(e) {=0A=
            if ( jQuery.ui.jig._isConsole('info')  ) {=0A=
                console.error("Error parsing parameter metatag: '" + =
nameAttr + "'. "  + e.message);=0A=
            }=0A=
        }=0A=
    };=0A=
    =0A=
    jQuery.ui.jig._setLocalConfig =3D function(element, options) {=0A=
        // gets config string from a $ element, decodes to JSON, extends =
options, returns options=0A=
        var configAttr =3D element.attr('config');=0A=
        if (configAttr) {=0A=
            var localConfig =3D jQuery.ui.jig._decodeJSON(configAttr);=0A=
            jQuery.extend(options, localConfig);=0A=
        }=0A=
        return options;=0A=
    };=0A=
    =0A=
    jQuery.ui.jig._generateId =3D function(strWidgetName, strModifier) {=0A=
        // generates a "unique id" for a jig widget. Can be used to =
generated class names too of course.=0A=
        // returns string=0A=
        // strWidgetName is the name of the widget, for example =
"ncbimenu".=0A=
        // for example,=0A=
        // $.ui.jig._generateId("ncbimenu"); // returns 'ui-ncbimenu-1'=0A=
        // use optional strModifier to further refine id. For example,=0A=
        // $.ui.jig._generateId("ncbimenu", "foo"); // returns =
'ui-ncbimenu-foo-1'=0A=
        var strModifier =3D (typeof strModifier !=3D=3D 'undefined') ? =
'-' + strModifier : '';=0A=
        arguments.callee.i++;=0A=
        var strGeneratedId =3D 'ui-' + strWidgetName + strModifier + '-' =
+ arguments.callee.i;=0A=
    =0A=
        // check to make sure this id isn't already on page, if it is up =
the index #=0A=
        while (document.getElementById(strGeneratedId)){=0A=
            arguments.callee.i++;=0A=
            strGeneratedId =3D 'ui-' + strWidgetName + strModifier + =
arguments.callee.i;=0A=
        }=0A=
        return strGeneratedId;=0A=
        =0A=
    }=0A=
    jQuery.ui.jig._generateId.i =3D 0;=0A=
=0A=
    /**=0A=
    * Returns whether a console object and one of its methods=0A=
    * is defined.=0A=
    *=0A=
    * @param method String. The method to check for.=0A=
    *=0A=
    * @return boolean Whether console or a method is defined.=0A=
    */=0A=
    jQuery.ui.jig._isConsole =3D function(method) {=0A=
        var consoleDefined =3D typeof window.console !=3D=3D 'undefined' =
|| false;=0A=
        if ( consoleDefined ) {=0A=
            var methodDefined =3D typeof window.console[ method ] =
!=3D=3D 'undefined' || false;=0A=
        }=0A=
        if ( consoleDefined && methodDefined ) {=0A=
            return true;=0A=
        } else {=0A=
            return false;=0A=
        } =0A=
    };=0A=
	=0A=
	jQuery.ui.jig._getFncFromStr =3D function( fnc ){	=0A=
	    var newFunc =3D null;=0A=
		var typeOfFnc =3D typeof fnc;=0A=
	    if(typeOfFnc =3D=3D=3D "function"){=0A=
		    newFunc =3D fnc;=0A=
		}=0A=
		else if(typeOfFnc =3D=3D=3D "string"){	=0A=
            var parts =3D fnc.replace(/^[^:]*:\s*/, =
"").replace(/\s*$/,"").split(".");=0A=
            newFunc =3D window[ parts[0] ];=0A=
     =0A=
            for(var i=3D1;i<parts.length;i++){               =0A=
                newFunc =3D newFunc[ parts[i] ];=0A=
            }=0A=
		}=0A=
        return newFunc;		=0A=
    };=0A=
=0A=
    jQuery.ui.jig.registerPageHeightWatcher =3D function(){=0A=
        var body =3D jQuery(document.body);=0A=
        if( body.data("hasHeightWatcher") ){=0A=
            return;=0A=
        }=0A=
        body.data("_lastHeight", null);=0A=
        body.data("hasHeightWatcher", true);     =0A=
        body.data("heightWatcher", window.setInterval( function(){ =
jQuery.ui.jig.watchPageHeight(); }, 250) );=0A=
    };=0A=
=0A=
    jQuery.ui.jig.watchPageHeight =3D function(){=0A=
        var body =3D jQuery(document.body);=0A=
        var currentHeight =3D body.height();=0A=
        var lastHeight =3D body.data("_lastHeight");=0A=
        if(lastHeight!=3D=3DcurrentHeight){=0A=
            if(lastHeight){=0A=
                body.trigger("ncbijigpageheightchanged");=0A=
            }=0A=
            body.data("_lastHeight", currentHeight);=0A=
        }=0A=
    };=0A=
    /********************=0A=
     * jig.decl.js:=0A=
=0A=
     * jig framework code that reads meta tags for declarative rendering =
of jQuery UI plugins.=0A=
     * See: http://iwebdev.ncbi.nlm.nih.gov/core/jig/ for docs.=0A=
     * jig.decl is not used alone. It is concatenated into jig.js. Above =
this code should be=0A=
     * jQuery, ui.core, and jig utility functions=0A=
=0A=
    ********************/=0A=
=0A=
    /***=0A=
    * NAMESPACE DECLARATIONS=0A=
    ***/=0A=
=0A=
    // Shortcut to UI object, which is gotten from ui.core.js which is =
above=0A=
    var ui =3D $.ui;=0A=
=0A=
    // define widgets ns, if it doesn't already exist=0A=
    if (typeof ui.jig =3D=3D=3D 'undefined'  ) {=0A=
        ui.jig =3D {};=0A=
    }=0A=
=0A=
    var jig =3D ui.jig;=0A=
=0A=
    // Allow jig debug mode for clients without a console. Cancel calls =
to console=0A=
    // and output to top of page IF jig_debug=3Dtrue is in query string =
and console is undefined=0A=
    if ( document.location.search.search(/jig_debug=3Dtrue/i) !=3D=3D -1 =
&& typeof window.console =3D=3D=3D 'undefined') {=0A=
        $( function() {=0A=
            $('body').prepend('<div style=3D"border: 2px solid #ccc; =
height: 150px; overflow:auto;"><h2 style=3D"color:red">jig =
Console</h2><ul id=3D"jig-cons"></ul></div>');=0A=
            console =3D {};=0A=
            var methods =3D ['log', 'info', 'warn', 'group', 'groupEnd'];=0A=
            var f =3D function() {=0A=
                $('#jig-cons').append('<li>' + arguments[0] + '</li>');=0A=
            };=0A=
            for (var i =3D 0; i < methods.length; i++) {=0A=
                var mStr =3D methods[i];=0A=
                var mObj =3D console[mStr];=0A=
                if ( typeof mObj =3D=3D=3D 'undefined') {=0A=
                    console[mStr] =3D f;=0A=
                }=0A=
            }=0A=
        });=0A=
    }=0A=
=0A=
    // check for quirks mode. Warn if true, since some widgets won't =
behave properly=0A=
    if ( document.compatMode =3D=3D=3D 'BackCompat' && =
jig._isConsole('warn') ) {=0A=
        console.warn('Document is in quirks mode. jig widgets only work =
properly when in standards mode. Please add or correct your DOCTYPE =
definition in your page.');=0A=
    }=0A=
=0A=
=0A=
    /***=0A=
     * INITIALIZE PRIVATE AND PUBLIC JIG PROPERTIES=0A=
    ***/=0A=
=0A=
    // Tells whether page was scanned for jig widget markup=0A=
    // this is set at the end of scanjig() function=0A=
    jig.scanned =3D false;=0A=
jig.version =3D '1.5.2';=0A=
=0A=
    // 'min.js' or '.js'=0A=
    jig._jsExt =3D null;=0A=
    jig._cssExt =3D null;=0A=
=0A=
=0A=
=0A=
    function JigWidget (options) {=0A=
      this.selector         =3D '';=0A=
      this.name             =3D '';=0A=
      this.onPage           =3D false;=0A=
      this.dependsOn        =3D [];=0A=
      this.interactions     =3D [];=0A=
      this.overrideDefaults =3D {};=0A=
      this.addCss =3D function() {=0A=
        document.write('<link type=3D"text/css" rel=3D"stylesheet" =
href=3D"' + baseURL + 'css/jquery.ui.' + this.name + cssExt +'"/>');=0A=
      };=0A=
      this.addJs =3D function() {=0A=
        document.write('<script type=3D"text/javascript" src=3D"' + =
baseURL + 'js/jquery.ui.' + this.name + jsExt + '"></script>');=0A=
      };=0A=
=0A=
      this.addDependent =3D function () {=0A=
        for (var i =3D 0; i < this.dependsOn.length; i++) {=0A=
          widgDict[this.dependsOn[i]].addToPage();=0A=
        }=0A=
      };=0A=
      this.addInteractions =3D function () {=0A=
        for (var i =3D 0; i < this.interactions.length; i++) {=0A=
          document.write('<script type=3D"text/javascript" src=3D"' + =
baseURL + 'js/jquery.ui.' + this.interactions[i] + jsExt + =
'"></script>');=0A=
        }=0A=
      };=0A=
      this.addToPage =3D function () {=0A=
        if (!this.onPage) {=0A=
          this.addInteractions();=0A=
          this.addDependent();=0A=
          this.addJs();=0A=
          this.addCss();=0A=
          this.onPage =3D true;=0A=
        }=0A=
      }=0A=
      $.extend(this,options);=0A=
    }=0A=
=0A=
    /***=0A=
    * WIDGET AND UI INTERACTIONS DICTIONARY AND ARRAY=0A=
    * This dictionary stores each widget's selector, its other widget =
dependencies, and interaction dependencies=0A=
    * You can get the selector from this dictionary from =
jQuery.ui.widget.getSelector();=0A=
=0A=
    It is an informal private method. Don't access it directly. I've =
made it accessible for testing purposes=0A=
    ***/=0A=
=0A=
    jig._widgDict =3D {=0A=
        'accordion': new JigWidget ({=0A=
            name: 'accordion',=0A=
            selector: 'div.jig-accordion',=0A=
            overrideDefaults: {=0A=
                autoHeight: false,=0A=
                header: ':header'=0A=
            }=0A=
        }),=0A=
        'ncbidatepicker':  new JigWidget ({=0A=
            name: 'ncbidatepicker',=0A=
            selector: 'input.jig-ncbidatepicker'=0A=
        }),=0A=
        'ncbielastictextarea': new JigWidget ({=0A=
            name: 'ncbielastictextarea',=0A=
            selector: 'textarea.jig-ncbielastictextarea'=0A=
        }),=0A=
        'ncbidialog': new JigWidget({=0A=
            name: 'ncbidialog',=0A=
            selector: 'a.jig-ncbidialog, button.jig-dialog, =
input.jig-dialog, textarea.jig-dialog',=0A=
            interactions: ['draggable', 'resizable'],=0A=
            overrideDefaults: {=0A=
                autoOpen: false=0A=
            }=0A=
        }),=0A=
        'ncbiautocomplete': new JigWidget({=0A=
            name: 'ncbiautocomplete',=0A=
            selector: 'input[type=3D"text"].jig-ncbiautocomplete'=0A=
        }),=0A=
        'ncbigrid': new JigWidget({=0A=
            name: 'ncbigrid',=0A=
            selector: 'div.jig-ncbigrid table,div.jig-ncbigrid-scroll =
table,table.jig-ncbigrid,table.jig-ncbigrid-scroll'=0A=
        }),=0A=
        'ncbiservergrid': new JigWidget({=0A=
            name: 'ncbiservergrid',=0A=
            selector: 'div.jig-ncbiservergrid =
table,div.jig-ncbiservergrid-scroll =
table,table.jig-ncbiservergrid,table.jig-ncbiservergrid-scroll',=0A=
            dependsOn: ['ncbigrid']=0A=
        }),        =0A=
        'ncbimenu': new JigWidget({=0A=
            name: 'ncbimenu',=0A=
            selector: 'ul.jig-ncbimenu'=0A=
        }),=0A=
        'ncbipopper': new JigWidget({=0A=
            name: 'ncbipopper',=0A=
            selector: '.jig-ncbipopper'=0A=
        }),=0A=
        'ncbislideshow': new JigWidget({=0A=
            name: 'ncbislideshow',=0A=
            selector: 'div.jig-ncbislideshow'=0A=
        }),=0A=
        'ncbitabpopper': new JigWidget({=0A=
            name: 'ncbitabpopper',=0A=
            selector: '.jig-ncbitabpopper'=0A=
        }),=0A=
        'ncbitoggler':new JigWidget({=0A=
            name: 'ncbitoggler',=0A=
            selector: 'button.jig-ncbitoggler, =
button.jig-ncbitoggler-open, =
a.jig-ncbitoggler,a.jig-ncbitoggler-open,a.ui-ncbitoggler,a.ui-ncbitoggle=
r-open'=0A=
        }),=0A=
        'ncbitree_base': new JigWidget({=0A=
            name: 'ncbitree_base',=0A=
            selector: 'ul.jig-ncbitree_base'=0A=
        }),=0A=
        'ncbitree': new JigWidget ({=0A=
            name: 'ncbitree',=0A=
            selector: 'ul.jig-ncbitree',=0A=
            dependsOn: ['ncbitree_base']=0A=
        }),=0A=
        'tabs': new JigWidget({=0A=
            name: 'tabs',=0A=
            selector: 'div.jig-tabs'=0A=
        })=0A=
    };=0A=
=0A=
    var widgDict =3D jig._widgDict;=0A=
=0A=
    // extract out just widget names as array=0A=
    var jigWidgs =3D [];=0A=
=0A=
    for (var i in widgDict) {=0A=
        jigWidgs.push(i);=0A=
    }=0A=
=0A=
    // these are the UI interactions that get loaded into page if a =
widget needs it and its config is set to true=0A=
    var interactions =3D ['draggable', 'resizable', 'sortable'];=0A=
=0A=
    jig.scanjig =3D function(contextNode, configParam) {=0A=
        // "Class method" to scan the page for jig widget markup=0A=
        // this fnc is called when the page loads and can be called =
after page load=0A=
        // either from overidden jQuery append(), html(), and prepend(),=0A=
        // Or it can be called directly on the page (usually in an AJAX =
callback method=0A=
        // the configs passed in if calling scanjig directly, always =
override param (global) meta tags=0A=
=0A=
        // helper functions for overriding widget _inits=0A=
        var cfs;=0A=
=0A=
        // Will hold the widget strings we will loop thru to call. These =
can be either=0A=
        // the default names in jig, or an array passed in direct to =
scanjig() in the=0A=
        // config parameter configParam=0A=
        var widgetNames;=0A=
=0A=
        // if called without a second param=0A=
        if ( !configParam ) {=0A=
            cfs =3D {};=0A=
            // use the default names in jig=0A=
            widgetNames =3D jigWidgs;=0A=
        }=0A=
        else {=0A=
            // otherwise, use the names passed in via configParam, or if =
that is null,=0A=
            // use the default names from the widget dictionary=0A=
            // names should be an array, if non specified, its a =
reference to all jig widgets=0A=
            widgetNames =3D configParam.widgets || jigWidgs;=0A=
=0A=
            // use the configs passed in via parameter, or nothing=0A=
            cfs =3D configParam.configs || {};=0A=
        }=0A=
=0A=
=0A=
        // now loop thru widgets we need to call=0A=
        for (var i =3D 0; i < widgetNames.length; i++) {=0A=
=0A=
            // use the context node passed in via parameter, or body=0A=
            contextNode =3D contextNode || $(document.body);=0A=
            var widgetName =3D widgetNames[i];=0A=
=0A=
            // If user is calling jig.scan() after page load manually, =
make sure=0A=
            // we only scan for widgets specified in the meta tag. TO =
DO: do test case for this.=0A=
            if (jigMeta && $.inArray(widgetName, widgNames) =3D=3D=3D =
-1) {=0A=
                continue;=0A=
            }=0A=
=0A=
            // try to get the widget function in ui namespace.=0A=
            // only warn about wrong name if the document hasn't already =
been=0A=
            // scanned, otherwise we are probably scanning after the =
page has=0A=
            // loaded and we don't want to tell the page author=0A=
            // about all the widgets if they call scan jig in default =
mode=0A=
            // TO DO: add test case for this=0A=
=0A=
            var oWidget =3D ui[widgetName];=0A=
            if ( typeof oWidget =3D=3D=3D 'undefined' && !jig.scanned ) {=0A=
=0A=
                if ( jig._isConsole( 'warn' ) ) {=0A=
                    console.warn('jig: widget "' + widgetName + '" does =
not exist. Check documentation (http://iwebdev/core/jig/ for correct =
name');=0A=
                }=0A=
=0A=
                // if we can't get the widget, try the next widget=0A=
                continue;=0A=
            }=0A=
=0A=
            // Override each widget's init method, so we can get local =
config from framework code,=0A=
            // not widget code. We only should do this once, if the =
document has not been scanned=0A=
            // yet and if the widget has a property called =
_customLocalConfig.=0A=
            // Whether the doc has been scanned is stored as a private =
property of jig.=0A=
=0A=
            if ( !jig.scanned && typeof oWidget._customLocalConfig =
=3D=3D=3D 'undefined') {=0A=
=0A=
                var oldCreate =3D oWidget.prototype._create;=0A=
=0A=
                // because of the closure, we have to call a function, =
passing in the explicit widget=0A=
                // function and oldInit method. This function is called =
imediately after it is defined,=0A=
                // and all it does is set the widget's _init function to =
the new one=0A=
                (function(oWidget, oldCreate, widgetName) {=0A=
                    oWidget.prototype._create =3D  function() {=0A=
                        // get the local config from the root node's =
config attribute and extend this.options=0A=
                        var that =3D this;=0A=
                        var configAttr =3D this.element.attr('config') =
|| this.element.attr('data-jigconfig');=0A=
                        if (configAttr) {=0A=
                            var localConfig =3D =
ui.jig._decodeJSON(configAttr);=0A=
                            $.extend(this.options, localConfig);=0A=
                        }=0A=
=0A=
                        // selectively override ui built widgets' _inits=0A=
                        if ( widgetName =3D=3D=3D 'droppable' ) {=0A=
                            var dragEls =3D jQuery( =
this.options.dragEls);=0A=
=0A=
                            // get callback=0A=
                            var cbName =3D this.options.dropCallback;=0A=
                            var cb =3D widgDict[ 'droppable' =
].callbacks[ cbName ];=0A=
=0A=
                            if ( typeof cb !=3D=3D 'undefined' ) {=0A=
                                this._setData('drop', function(event, =
ui) {=0A=
                                    console.log( event);=0A=
                                    console.log( ui );=0A=
                                    cb();=0A=
                                });=0A=
                            }=0A=
=0A=
                        }=0A=
                        if (widgetName =3D=3D=3D 'tabs') {=0A=
=0A=
                            var el =3D this.element;=0A=
                            =
this.element.children('ul').siblings('div').attr('role', =
'tabpanel').end().=0A=
                                    attr('role', =
'tablist').children('li').=0A=
                                        attr('role', =
'presentation').find('a').=0A=
                                            attr('role', 'tab').each( =
function(i) { // here set all tabs but first out of taborder=0A=
                                                if ( i > 0 ) {=0A=
                                                    this.tabIndex =3D -1;=0A=
                                                } else {=0A=
                                                    this.tabIndex =3D 0;=0A=
                                                }=0A=
                                            });=0A=
                        }=0A=
=0A=
                        // call in interactions scripts into a page if =
necessary=0A=
                        // TO DO: the test here is magic, it should be a =
function=0A=
                        var widgetInteractions =3D widgDict[ widgetName =
].interactions || null;=0A=
=0A=
                        if ( widgetInteractions && =
widgetInteractions.length > 0 ) {=0A=
                          // add interactions only if option is set in =
widget and the script is not already in page=0A=
                          var inc =3D '';=0A=
                          if ( this.options.draggable && !ui.draggable ) =
{=0A=
                            inc +=3D '<script type=3D"text/javascript" =
src=3D"/core/ui/' + ui.version + =
'/development-bundle/ui/jquery.ui.draggable.js"></script>';=0A=
                          }=0A=
                          if (this.options.resizable && !ui.resizable ) {=0A=
                            inc +=3D '<script type=3D"text/javascript" =
src=3D"/core/ui/' + ui.version + =
'/development-bundle/ui/jquery.ui.resizable.js"></script>';=0A=
                          }=0A=
                          $('head').append(inc);=0A=
                        }=0A=
=0A=
                        // now do everything in the old init=0A=
                        oldCreate.apply(this, []);=0A=
                    };=0A=
                    if (widgetName =3D=3D=3D 'tabs') {=0A=
                        var oldTabify =3D oWidget.prototype._tabify;=0A=
                        oWidget.prototype._tabify =3D function(init) {=0A=
                            var that =3D this;=0A=
                            oldTabify.apply( this, [init] );=0A=
=0A=
                            this.getCurrentTabIndex =3D function() {=0A=
                                var index =3D null;=0A=
                                =
that.element.find('ul.ui-tabs-nav').children('li').each( function(i) {=0A=
                                    if ( =
$(this).hasClass('ui-tabs-selected')) {=0A=
                                        index =3D i;=0A=
                                        return false;=0A=
                                    }=0A=
=0A=
                                });=0A=
                                return index;=0A=
=0A=
                            };=0A=
=0A=
                            // override select so that it returns the =
tab selected=0A=
                            var oldSelect =3D oWidget.prototype.select;=0A=
                            oWidget.prototype.select =3D function(index) =
{=0A=
                                oldSelect.apply( this, [index]);=0A=
                                return this.anchors.eq(index);=0A=
                            };=0A=
=0A=
                            this.getNextTabIndex =3D function() {=0A=
                                var anchors =3D this.anchors;=0A=
                                var curIndex =3D =
this.getCurrentTabIndex();=0A=
=0A=
                                if ( curIndex =3D=3D=3D anchors.length - =
1) { // last one=0A=
                                    return 0;=0A=
                                } else {=0A=
                                    return curIndex + 1;=0A=
                                }=0A=
=0A=
                            };=0A=
=0A=
                            this.getPreviousTabIndex =3D function() {=0A=
                                var anchors =3D this.anchors;=0A=
                                var curIndex =3D =
this.getCurrentTabIndex();=0A=
=0A=
                                if ( curIndex =3D=3D=3D 0 ) { // first =
one=0A=
                                    return anchors.length - 1;=0A=
                                } else {=0A=
                                    return curIndex -1;=0A=
                                }=0A=
                            };=0A=
=0A=
                            // I know, it won't work if you add a tab =
dynamically, but I can't hook onto=0A=
                            =
this.element.children('ul.ui-tabs-nav').keydown( function(e) {=0A=
                                var t =3D $( e.target);=0A=
                                var pressed =3D e.keyCode;=0A=
                                var keyD =3D $.ui.keyCode;=0A=
=0A=
                                // private function to take other tabs =
out of tabindex=0A=
                                var activate =3D function(n, collection) =
{=0A=
                                    n =3D jQuery(n);=0A=
                                    nDom =3D n[0];=0A=
                                    nDom.focus();=0A=
                                    nDom.tabIndex =3D 0;=0A=
                                    if (collection) {=0A=
                                        $(collection).each( function() {=0A=
                                            if ( this !=3D=3D nDom) {=0A=
                                                this.tabIndex =3D -1;=0A=
                                            }=0A=
                                        });=0A=
                                    }=0A=
                                };=0A=
=0A=
                                if ( pressed =3D=3D=3D keyD.RIGHT) {=0A=
                                    // we overrode select to return tab =
instead of undefined=0A=
                                    var tab =3D that.select( =
that.getNextTabIndex() )[0];=0A=
                                    activate(tab, that.anchors);=0A=
                                }=0A=
=0A=
                                if ( pressed =3D=3D=3D keyD.LEFT ) {=0A=
                                    var tab =3D that.select( =
that.getPreviousTabIndex() )[0];=0A=
                                    activate( tab, that.anchors);=0A=
                                }=0A=
=0A=
                            });=0A=
                        }=0A=
=0A=
                    } // end if widget is tabs=0A=
=0A=
=0A=
                })(oWidget, oldCreate, widgetName);=0A=
=0A=
            }=0A=
=0A=
            // add public getSelector function to each widget's =
prototype so we=0A=
            // don't have to add functions to widget code. It really =
belongs in jig code=0A=
            // since it is not part of UI, we need to create the =
function using an=0A=
            // anon func, passing it the widget name because of the =
closure=0A=
=0A=
            (function( name ) {=0A=
                oWidget.getSelector =3D function() {=0A=
                    return widgDict[name].selector;=0A=
                }=0A=
            })(widgetName);=0A=
=0A=
            // extract each widget's config by looping thru configs obj=0A=
            // the matching config passed in directly for this widget=0A=
            var configParam =3D {};=0A=
            for (var j in cfs) {=0A=
                if ( j =3D=3D=3D widgetName) {=0A=
                    //console.log(cfs[j]);=0A=
                    configParam =3D cfs[j];=0A=
                }=0A=
            }=0A=
=0A=
            // is there a global config for this widget?=0A=
            var globalConfig =3D parseGlobalConfig( getParamMeta( =
widgetName ) ) || {};=0A=
=0A=
            // if there's a global config with contextNode set, use that =
instead of one passed in=0A=
            if ( typeof globalConfig.contextNode !=3D=3D 'undefined' ) {=0A=
                contextNode =3D $( globalConfig.contextNode );=0A=
            }=0A=
            var mergedGlobalConfig =3D jQuery.extend( globalConfig, =
configParam );=0A=
            //console.log('mergedGlobal: ', mergedGlobalConfig);=0A=
            //console.log('now contextNode: ', contextNode);=0A=
=0A=
            // specical case for accordion. We have to pass a header =
config of :header, to force header markup=0A=
=0A=
            var overrideDefaults =3D  widgDict[ widgetName =
].overrideDefaults;=0A=
            if ( typeof overrideDefaults !=3D=3D 'undefined' ) {=0A=
                $.extend( mergedGlobalConfig, overrideDefaults );=0A=
            }=0A=
=0A=
            var selector =3D ui[widgetName].getSelector();=0A=
=0A=
            $(selector, contextNode)[widgetName](mergedGlobalConfig);=0A=
        }=0A=
=0A=
        jig.scanned =3D true;=0A=
    }; // end scan jig=0A=
=0A=
    // jig.scanjig should really be called jig.scan, but let's not break =
the API=0A=
    jig.scan =3D jig.scanjig;=0A=
=0A=
    // hijack jQuery's manipulation methods to wake jig up so that we =
can inject jig markup into page after page-load=0A=
    var manipulationMethodStrings =3D [ 'after', 'before', 'append', =
'html', 'prepend' ];=0A=
=0A=
    for ( var i =3D 0; i < manipulationMethodStrings.length; i++ ) {=0A=
        var methodStr =3D manipulationMethodStrings[ i ];=0A=
        origMethod =3D $.fn[ methodStr ];=0A=
=0A=
        // redefine the original method.=0A=
        // Because of closure, need to pass in method string and =
original method as parameters=0A=
        ( function( origMethod, methodStr ) {=0A=
            $.fn[ methodStr ] =3D function( content, configParam) {=0A=
=0A=
                // the new function will have an extra parameter which =
is either true, or a config param.=0A=
                // If this parameter is present, then we have jig scan =
for the markup calling any of these=0A=
                // methods returns the reference node(s) to the content =
we are adding in the cases where the=0A=
                // reference node is the parent of the inserted content, =
we want to remember the node so that=0A=
                // we can scan just that node=0A=
                var referenceNode =3D origMethod.apply( this, [ content =
] );=0A=
                if ( configParam ) {=0A=
=0A=
                    // for methods inserting inside node=0A=
                    if ( methodStr !=3D=3D 'after' && methodStr !=3D=3D =
'before' ) {=0A=
                        $.ui.jig.scan( referenceNode, configParam );=0A=
                    } else { // methods that insert outside, we scan the =
parent=0A=
                        $.ui.jig.scan( referenceNode.parent(), =
configParam );=0A=
=0A=
                    }=0A=
                }=0A=
=0A=
                return referenceNode;=0A=
            };=0A=
        }) ( origMethod, methodStr);=0A=
    }=0A=
=0A=
    // Loop through script tags to get jig.js include. From the src =
attribute we can get the=0A=
    // base URL and isMin property. We use the baseURL to figure out =
whether other *dynamic*=0A=
    // dependency includes should go to most recent major version, or =
specific version. We=0A=
    // use the isMin property to determine whether dynamic dependency =
includes should be=0A=
    // debug or minimized versions=0A=
    var jigRe =3D /(.*\/)js\/jig(?:\.nojquery)?(\.min)?\.js$/;=0A=
    $('script').each( function() {=0A=
        /* if (jigInPage) {=0A=
            // tell the script we will get out when we break out of this =
loop=0A=
            halt =3D true;=0A=
            // break out of script loop=0A=
            return;=0A=
        } */=0A=
        var s =3D $(this);=0A=
        var srcAttr =3D s.attr('src');=0A=
=0A=
        // if not an inline script=0A=
        if (srcAttr) {=0A=
=0A=
            // extract base url and min=0A=
            var srcMatch =3D srcAttr.match(jigRe);=0A=
            //console.log(srcMatch);=0A=
=0A=
            // it's the jig script tag, set baseURL and isMin=0A=
            if (srcMatch) {=0A=
                // try catch?=0A=
                // set baseURL and whether dymanically written files =
should be min or not=0A=
                jig._baseURL =3D srcMatch[1];=0A=
                if (srcMatch[2] =3D=3D=3D '.min') {=0A=
                    jig._isMin =3D true;=0A=
                    jig._jsExt =3D '.min.js';=0A=
                    jig._cssExt =3D '.min.css';=0A=
                } else {=0A=
                    jig._isMin =3D false;=0A=
                    jig._jsExt =3D '.js';=0A=
                    jig._cssExt =3D '.css';=0A=
                }=0A=
            }=0A=
        }=0A=
    });=0A=
=0A=
    var baseURL =3D jig._baseURL;=0A=
=0A=
    // shortcuts to some jig private properties we will use=0A=
    var baseURL =3D jig._baseURL;=0A=
    var isMin =3D jig._isMin;=0A=
    var jsExt =3D jig._jsExt;=0A=
    var cssExt =3D jig._cssExt;=0A=
=0A=
    // Some helper functions for dispatcher code, can't be accessed =
public=0A=
=0A=
    // returns matching parameter meta tag, given a widget name=0A=
    // for example I can give it "toggler" and it should return the =
node: <meta name=3D"ui.toggler" content=3D"foo:bar"/>=0A=
    // paramMetas is an array we get later in the script which holds all =
possible parameter meta tags=0A=
    var getParamMeta =3D function(widgName) {=0A=
        var paramMetasLen =3D paramMetas.length;=0A=
        if (paramMetasLen > 0) {=0A=
            for (var i =3D 0; i < paramMetasLen; i++) {=0A=
                var paramMeta =3D paramMetas[i];=0A=
                var paramMetaName =3D =
$.trim(paramMeta.getAttribute('name'));=0A=
                if (widgName =3D=3D=3D paramMetaName) {=0A=
                    return paramMeta;=0A=
                }=0A=
            }=0A=
        }=0A=
    };=0A=
=0A=
    // helper function that takes a meta tag and creates a JSON object =
from the content attribute=0A=
    var parseGlobalConfig =3D function(meta) {=0A=
        meta =3D $(meta);=0A=
        var contentAttr =3D meta.attr('content');=0A=
        var n =3D meta.attr('name');=0A=
        if ( contentAttr) {=0A=
            return ui.jig._decodeJSON(contentAttr, name);=0A=
        }=0A=
    };=0A=
=0A=
    var addCss =3D function(widgName) {=0A=
      document.write('<link type=3D"text/css" rel=3D"stylesheet" =
href=3D"' + baseURL + 'css/jquery.ui.' + widgName + cssExt +'"/>');=0A=
    }=0A=
=0A=
    var addJs =3D function(widgName) {=0A=
      document.write('<script type=3D"text/javascript" src=3D"' + =
baseURL + 'js/jquery.ui.' + widgName + jsExt + '"></script>');=0A=
    }=0A=
=0A=
    var runAll =3D function() {=0A=
        // getConfigs: boolean true: get global config for widget, =
false, don't get global config=0A=
        // writes concatenated widget js and css files, loops through =
dependency dictionary and=0A=
        // calls all widgets. This is called when there are no meta tags =
on the page, or there=0A=
        // only parameter meta tags, since in these 2 cases we call all =
widgets in jig=0A=
=0A=
        // first write in the proper concatenated jig widget js file=0A=
        //console.log('write in concatenated files');=0A=
        var widgTag =3D (isMin) ? 'jquery.ui.widgets.min.js' : =
'jquery.ui.widgets.js';=0A=
        addJs('widgets');=0A=
=0A=
        // now the proper concatenated jig widget css file=0A=
        var widgCSSTag =3D (isMin) ? 'jig.min.css' : 'jig.css';=0A=
        addCss('widgets');=0A=
=0A=
        // on document ready, call all jig widgets=0A=
        //console.log('on document ready...');=0A=
        $(document).ready( function() {=0A=
            jig.scan();=0A=
        });=0A=
    };=0A=
    // end helper functions=0A=
=0A=
    // always write in ui theme css files, debug or minimized=0A=
    document.write('<link rel=3D"stylesheet" type=3D"text/css" href=3D"' =
+ baseURL + 'css/jig.core.theme' + cssExt + '"/>');=0A=
=0A=
    /**=0A=
    3 options for how widgets load:=0A=
=0A=
   a) no metas, jig scans page for all widgets=0A=
   b) Set name =3D widget, content=3D config ex,=0A=
    <meta name=3D"toggler" content=3D"rememberState: false"/>=0A=
    <meta name=3D"grid" content=3D"isZebra:false"/>=0A=
=0A=
    Loads everything, only toggle and grid set specific configs=0A=
=0A=
    c)=0A=
    <meta name=3D"jig" content=3D"toggler grid"/>=0A=
    <meta name=3D"toggle" content=3D"rembeState:true"/>=0A=
    loads only toggler and grid, sets toggler config=0A=
    */=0A=
=0A=
    // parse meta tags=0A=
    // get meta tags. jigMeta is the meta tag that restricts widgets to =
load,=0A=
    // paramMeta is meta tag that sets global parameters=0A=
    // interactMeta is meta tag of interactions to load if restricting =
loaded widgets=0A=
    var jigMeta =3D null, paramMetas =3D [], interactMeta =3D null;=0A=
=0A=
    // get meta tags when doc is ready, should reorganzize code...=0A=
    var metas =3D $('head').find('meta');=0A=
=0A=
    metas.each(function() {=0A=
      var name =3D $.trim($(this).attr('name'));=0A=
      if (name.search(/^jig$/) !=3D=3D -1 ) {=0A=
        jigMeta =3D this;=0A=
      }=0A=
=0A=
      // if parameter meta tag name attr is in the form =
"ncbi[widgetname]"=0A=
      if ($.inArray(name, jigWidgs) !=3D=3D -1) {=0A=
        paramMetas.push(this);=0A=
      }=0A=
=0A=
    });=0A=
=0A=
=0A=
    // fork code depending on presence of various meta tags=0A=
=0A=
    // if no meta tags at all, call all widgets=0A=
    var paramMetasLen =3D paramMetas.length;=0A=
=0A=
    if (jigMeta) {=0A=
        //console.log('There is a jig meta. There may or may not be =
parameter metas. Selectively call only those widgets set in ui meta and =
possibly set configs from parameter metas');=0A=
        var widgNames =3D jigMeta.getAttribute('content').split(/ +|, =
?|;/);=0A=
=0A=
        // Not everything in the jig meta tag is a widget, so need to =
create a=0A=
        // new list of widgets to scan.=0A=
        var scanlist =3D [];=0A=
=0A=
        for (var i =3D 0; i < widgNames.length; i++) {=0A=
            // access dict to insert dependencies, To Do: change first =
letter to caps=0A=
            var widgName =3D widgNames[i];=0A=
            var isWidget =3D $.inArray(widgName, jigWidgs) !=3D=3D -1 ? =
true: false;=0A=
            var isInteraction =3D $.inArray(widgName, interactions) =
!=3D=3D -1 ? true: false;=0A=
            if (!isWidget && !isInteraction) {=0A=
                var m =3D 'jig error: No widget with the name "' + =
widgName + '". Check documentation at http://iwebdev/core/jig for proper =
name, and set meta tag accordingly';=0A=
                if ( typeof window.console !=3D=3D 'undefined' && typeof =
console.warn !=3D=3D 'undefined' ) {=0A=
                    console.warn(m);=0A=
                } else {=0A=
                    alert(m);=0A=
                }=0A=
                continue; // try next widget=0A=
            }=0A=
            if (isWidget) {=0A=
                scanlist.push(widgName);=0A=
                // if the widget depends on another widget, we have to =
write them in here=0A=
                widgDict[widgName].addToPage();=0A=
            } // end if widget=0A=
            if (isInteraction){=0A=
                addJs(widgName);=0A=
            }=0A=
=0A=
        } // end for loop=0A=
=0A=
        $(function() {=0A=
            jig.scan(null, { widgets: scanlist} );=0A=
        });=0A=
    } else {=0A=
        //console.log('no jig meta, run all');=0A=
        runAll();=0A=
    }=0A=
})();=0A=

------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/portal/js/portal.js

=0A=
(function(){var =
names=3D["log","debug","info","warn","error","assert","dir","dirxml","gro=
up","groupEnd","time","timeEnd","count","trace","profile","profileEnd"];t=
ry{window.console=3D{};}=0A=
catch(e){}=0A=
for(var =
i=3D0;i<names.length;++i){try{window.console[names[i]]=3Dfunction(){};}=0A=
catch(e){}}})();var cssQuery=3Dfunction(){var version=3D"2.0.2";var =
$COMMA=3D/\s*,\s*/;var cssQuery=3Dfunction($selector,$$from){try{var =
$match=3D[];var $useCache=3Darguments.callee.caching&&!$$from;var =
$base=3D($$from)?($$from.constructor=3D=3DArray)?$$from:[$$from]:[documen=
t];var =
$$selectors=3DparseSelector($selector).split($COMMA),i;for(i=3D0;i<$$sele=
ctors.length;i++){$selector=3D_toStream($$selectors[i]);if(isMSIE&&$selec=
tor.slice(0,3).join("")=3D=3D" =
*#"){$selector=3D$selector.slice(2);$$from=3D_msie_selectById([],$base,$s=
elector[1]);}else $$from=3D$base;var =
j=3D0,$token,$filter,$arguments,$cacheSelector=3D"";while(j<$selector.len=
gth){$token=3D$selector[j++];$filter=3D$selector[j++];$cacheSelector+=3D$=
token+$filter;$arguments=3D"";if($selector[j]=3D=3D"("){while($selector[j=
++]!=3D")"&&j<$selector.length){$arguments+=3D$selector[j];}=0A=
$arguments=3D$arguments.slice(0,-1);$cacheSelector+=3D"("+$arguments+")";=
}=0A=
$$from=3D($useCache&&cache[$cacheSelector])?cache[$cacheSelector]:select(=
$$from,$token,$filter,$arguments);if($useCache)cache[$cacheSelector]=3D$$=
from;}=0A=
$match=3D$match.concat($$from);}=0A=
delete cssQuery.error;return =
$match;}catch($error){cssQuery.error=3D$error;return[];}};cssQuery.toStri=
ng=3Dfunction(){return"function cssQuery() {\n  [version =
"+version+"]\n}";};var =
cache=3D{};cssQuery.caching=3Dfalse;cssQuery.clearCache=3Dfunction($selec=
tor){if($selector){$selector=3D_toStream($selector).join("");delete =
cache[$selector];}else cache=3D{};};var modules=3D{};var =
loaded=3Dfalse;cssQuery.addModule=3Dfunction($name,$script){if(loaded)eva=
l("$script=3D"+String($script));modules[$name]=3Dnew =
$script();;};cssQuery.valueOf=3Dfunction($code){return =
$code?eval($code):this;};var selectors=3D{};var pseudoClasses=3D{};var =
AttributeSelector=3D{match:/\[([\w-]+(\|[\w-]+)?)\s*(\W?=3D)?\s*([^\]]*)\=
]/};var attributeSelectors=3D[];selectors[" =
"]=3Dfunction($results,$from,$tagName,$namespace){var =
$element,i,j;for(i=3D0;i<$from.length;i++){var =
$subset=3DgetElementsByTagName($from[i],$tagName,$namespace);for(j=3D0;($=
element=3D$subset[j]);j++){if(thisElement($element)&&compareNamespace($el=
ement,$namespace))=0A=
$results.push($element);}}};selectors["#"]=3Dfunction($results,$from,$id)=
{var =
$element,j;for(j=3D0;($element=3D$from[j]);j++)if($element.id=3D=3D$id)$r=
esults.push($element);};selectors["."]=3Dfunction($results,$from,$classNa=
me){$className=3Dnew RegExp("(^|\\s)"+$className+"(\\s|$)");var =
$element,i;for(i=3D0;($element=3D$from[i]);i++)=0A=
if($className.test($element.className))$results.push($element);};selector=
s[":"]=3Dfunction($results,$from,$pseudoClass,$arguments){var =
$test=3DpseudoClasses[$pseudoClass],$element,i;if($test)for(i=3D0;($eleme=
nt=3D$from[i]);i++)=0A=
if($test($element,$arguments))$results.push($element);};pseudoClasses["li=
nk"]=3Dfunction($element){var =
$document=3DgetDocument($element);if($document.links)for(var =
i=3D0;i<$document.links.length;i++){if($document.links[i]=3D=3D$element)r=
eturn true;}};pseudoClasses["visited"]=3Dfunction($element){};var =
thisElement=3Dfunction($element){return($element&&$element.nodeType=3D=3D=
1&&$element.tagName!=3D"!")?$element:null;};var =
previousElementSibling=3Dfunction($element){while($element&&($element=3D$=
element.previousSibling)&&!thisElement($element))continue;return =
$element;};var =
nextElementSibling=3Dfunction($element){while($element&&($element=3D$elem=
ent.nextSibling)&&!thisElement($element))continue;return $element;};var =
firstElementChild=3Dfunction($element){return =
thisElement($element.firstChild)||nextElementSibling($element.firstChild)=
;};var lastElementChild=3Dfunction($element){return =
thisElement($element.lastChild)||previousElementSibling($element.lastChil=
d);};var childElements=3Dfunction($element){var =
$childElements=3D[];$element=3DfirstElementChild($element);while($element=
){$childElements.push($element);$element=3DnextElementSibling($element);}=0A=
return $childElements;};var isMSIE=3Dtrue;var =
isXML=3Dfunction($element){var =
$document=3DgetDocument($element);return(typeof =
$document.mimeType=3D=3D"unknown")?/\.xml$/i.test($document.URL):Boolean(=
$document.mimeType=3D=3D"XML Document");};var =
getDocument=3Dfunction($element){return =
$element.ownerDocument||$element.document;};var =
getElementsByTagName=3Dfunction($element,$tagName){return($tagName=3D=3D"=
*"&&$element.all)?$element.all:$element.getElementsByTagName($tagName);};=
var =
compareTagName=3Dfunction($element,$tagName,$namespace){if($tagName=3D=3D=
"*")return =
thisElement($element);if(!compareNamespace($element,$namespace))return =
false;if(!isXML($element))$tagName=3D$tagName.toUpperCase();return =
$element.tagName=3D=3D$tagName;};var =
compareNamespace=3Dfunction($element,$namespace){return!$namespace||($nam=
espace=3D=3D"*")||($element.scopeName=3D=3D$namespace);};var =
getTextContent=3Dfunction($element){return $element.innerText;};function =
_msie_selectById($results,$from,id){var =
$match,i,j;for(i=3D0;i<$from.length;i++){if($match=3D$from[i].all.item(id=
)){if($match.id=3D=3Did)$results.push($match);else =
if($match.length!=3Dnull){for(j=3D0;j<$match.length;j++){if($match[j].id=3D=
=3Did)$results.push($match[j]);}}}}=0A=
return $results;};if(![].push)Array.prototype.push=3Dfunction(){for(var =
i=3D0;i<arguments.length;i++){this[this.length]=3Darguments[i];}=0A=
return this.length;};var $NAMESPACE=3D/\|/;function =
select($$from,$token,$filter,$arguments){if($NAMESPACE.test($filter)){$fi=
lter=3D$filter.split($NAMESPACE);$arguments=3D$filter[0];$filter=3D$filte=
r[1];}=0A=
var =
$results=3D[];if(selectors[$token]){selectors[$token]($results,$$from,$fi=
lter,$arguments);}=0A=
return $results;};var $STANDARD_SELECT=3D/^[^\s>+~]/;var =
$$STREAM=3D/[\s#.:>+~()@]|[^\s#.:>+~()@]+/g;function =
_toStream($selector){if($STANDARD_SELECT.test($selector))$selector=3D" =
"+$selector;return $selector.match($$STREAM)||[];};var =
$WHITESPACE=3D/\s*([\s>+~(),]|^|$)\s*/g;var =
$IMPLIED_ALL=3D/([\s>+~,]|[^(]\+|^)([#.:@])/g;var =
parseSelector=3Dfunction($selector){return =
$selector.replace($WHITESPACE,"$1").replace($IMPLIED_ALL,"$1*$2");};var =
Quote=3D{toString:function(){return"'"},match:/^('[^']*')|("[^"]*")$/,tes=
t:function($string){return =
this.match.test($string);},add:function($string){return =
this.test($string)?$string:this+$string+this;},remove:function($string){r=
eturn this.test($string)?$string.slice(1,-1):$string;}};var =
getText=3Dfunction($text){return Quote.remove($text);};var =
$ESCAPE=3D/([\/()[\]?{}|*+-])/g;function regEscape($string){return =
$string.replace($ESCAPE,"\\$1");};loaded=3Dtrue;return =
cssQuery;}();function =
RemoteDataProvider(sUrl){this.sUrl=3DsUrl;this.bAsync=3Dtrue;this.iTimeou=
t=3D0;}=0A=
RemoteDataProvider.prototype.x_GetHttpObj=3Dfunction(){var =
oHttpObj=3Dnull;try{oHttpObj=3Dnew =
ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{oHttpObj=3Dnew =
ActiveXObject("Microsoft.XMLHTTP");}catch(oc){oHttpObj=3Dnull;}}=0A=
if(!oHttpObj&&typeof XMLHttpRequest!=3D"undefined"){oHttpObj=3Dnew =
XMLHttpRequest();}=0A=
this.oHttpObj=3DoHttpObj;return =
oHttpObj;};RemoteDataProvider.prototype.x_onChange=3Dfunction(oHttpObj,oT=
imer){if(oTimer.bTimeout){return;}=0A=
if(oHttpObj.readyState=3D=3D4&&oHttpObj.status=3D=3D200){if(oTimer.oTimer=
){clearTimeout(oTimer.oTimer);}=0A=
this.onSuccess(oHttpObj);this.onStop();}else =
if(oHttpObj.readyState=3D=3D4&&oHttpObj.status!=3D200){if(oTimer.oTimer){=
clearTimeout(oTimer.oTimer);}=0A=
this.onError(oHttpObj);this.onStop();}};RemoteDataProvider.prototype.x_In=
it=3Dfunction(oTimer){var =
oHttpObj=3Dthis.x_GetHttpObj();if(null=3D=3DoHttpObj){return null;}=0A=
if(oHttpObj.readyState!=3D=3D0){oHttpObj.abort();}=0A=
var =
oThis=3Dthis;if(this.bAsync){oHttpObj.onreadystatechange=3Dfunction(){oTh=
is.x_onChange(oHttpObj,oTimer);};}=0A=
this.iActiveRequests++;this.onStart();if(this.iTimeout>0){oTimer.bTimeout=
=3Dfalse;oTimer.oTimer=3DsetTimeout(function(){oTimer.bTimeout=3Dtrue;oHt=
tpObj.abort();oThis.onTimeout(oThis.iTimeout);},this.iTimeout);}=0A=
return =
oHttpObj;};RemoteDataProvider.prototype.Get=3Dfunction(sRequest){var =
sUrl=3Dthis.sUrl+(sRequest?sRequest:"");var oTimer=3D{};var =
oHttpObj=3Dthis.x_Init(oTimer);if(oHttpObj){oHttpObj.open("get",sUrl,this=
.bAsync);oHttpObj.send(null);if(!this.bAsync){this.x_onChange(oHttpObj,oT=
imer);}}};RemoteDataProvider.prototype.Post=3Dfunction(sRequest){this.Req=
uest(null,sRequest);};RemoteDataProvider.prototype.Request=3Dfunction(sGe=
tRequest,sPostRequest){var =
sUrl=3Dthis.sUrl+(sGetRequest?sGetRequest:"");var oTimer=3D{};var =
oHttpObj=3Dthis.x_Init(oTimer);if(oHttpObj){if(typeof =
sPostRequest!=3D"string"||sPostRequest=3D=3D=3D""){sPostRequest=3D"";}=0A=
oHttpObj.open("post",sUrl,this.bAsync);oHttpObj.setRequestHeader("Content=
-type","application/x-www-form-urlencoded");oHttpObj.setRequestHeader("Co=
ntent-length",sPostRequest.length);oHttpObj.send(sPostRequest);if(!this.b=
Async){this.x_onChange(oHttpObj,oTimer);}}};RemoteDataProvider.prototype.=
onSuccess=3Dfunction(obj){alert(["succes:",obj.responseText]);};RemoteDat=
aProvider.prototype.onStart=3Dfunction(){};RemoteDataProvider.prototype.o=
nStop=3Dfunction(){};RemoteDataProvider.prototype.onError=3Dfunction(obj)=
{alert(["error:",obj.status]);};RemoteDataProvider.prototype.onTimeout=3D=
function(iTime){alert(["timeout:",iTime+" =
ms"]);};RemoteDataProvider.prototype.Abort=3Dfunction(){this.oHttpObj.abo=
rt();}=0A=
xmlHttpCall=3Dfunction(siteName,portletPath,actionName,args,callback,user=
Args,oThis){var =
xhrArgs=3D{'p$site':siteName,'p$rq':portletPath+":"+actionName};for(var =
arg in args){xhrArgs[arg]=3Dargs[arg];}=0A=
var query_string=3D"";var hasValue=3Dfalse;for(var arg in xhrArgs){var =
sep=3D(hasValue)?"&":"";query_string+=3Dsep+encodeURIComponent(arg);if(xh=
rArgs[arg]!=3Dnull){query_string+=3D"=3D"+encodeURIComponent(xhrArgs[arg]=
);}=0A=
hasValue=3Dtrue;}=0A=
var rdp=3Dnew =
RemoteDataProvider(window.location.href.replace(/\?.*/,''));rdp.bAsync=3D=
(callback!=3Dnull);if(rdp.bAsync){xmlHttpCall._addCall(rdp);}=0A=
rdp.iTimeout=3D10000;rdp.onSuccess=3Drdp.onError=3Dfunction(obj){xmlHttpC=
all._removeCall(rdp);if(callback&&typeof(callback)=3D=3D'function'){if(oT=
his!=3Dnull){callback.call(oThis,obj,userArgs);}else{callback(obj,userArg=
s);}}else{throw"xmlHttpCall: callback not defined or not a =
function";}};rdp.onTimeout=3Dfunction(obj){xmlHttpCall._removeCall(rdp);v=
ar =
fakeHttpResponse=3D{'iTimeout':obj,'responseText':null,'responseXML':null=
,'status':408,'statusText':'Request =
Timeout'};if(oThis!=3Dnull){if(callback&&typeof(callback)=3D=3D'function'=
){if(oThis!=3Dnull){callback.call(oThis,fakeHttpResponse,userArgs);}else{=
callback(fakeHttpResponse,userArgs);}}else{throw"xmlHttpCall: callback =
not defined or not a function =
(timeout)";}}};rdp.Post(query_string);};xmlHttpCall._activeCalls=3D[];xml=
HttpCall._addCall=3Dfunction(xhrObj){xmlHttpCall._activeCalls.push(xhrObj=
);};xmlHttpCall._removeCall=3Dfunction(xhrObj){for(var =
i=3D0;i<xmlHttpCall._activeCalls.length;i++){if(xmlHttpCall._activeCalls[=
i]=3D=3D=3DxhrObj){xmlHttpCall._activeCalls.splice(i,1);break;}}};xmlHttp=
Call.abortCalls=3Dfunction(){for(var =
i=3DxmlHttpCall._activeCalls.length;i--;){try{xmlHttpCall._activeCalls[i]=
.abort();}=0A=
catch(e){}}=0A=
xmlHttpCall._activeCalls=3D[];};function =
Base(){};Base.version=3D"1.0.2";Base.prototype=3D{extend:function(s,v){va=
r e=3DBase.prototype.extend;if(arguments.length=3D=3D2){var =
a=3Dthis[s];if((a instanceof Function)&&(v instanceof =
Function)&&a.valueOf()!=3Dv.valueOf()&&/\bbase\b/.test(v)){var =
m=3Dv;v=3Dfunction(){var p=3Dthis.base;this.base=3Da;var =
r=3Dm.apply(this,arguments);this.base=3Dp;return =
r};v.valueOf=3Dfunction(){return m};v.toString=3Dfunction(){return =
String(m)}}return this[s]=3Dv}else if(s){var p=3D{toSource:null};var =
x=3D["toString","valueOf"];if(Base._)x[2]=3D"constructor";for(var =
i=3D0;(n=3Dx[i]);i++){if(s[n]!=3Dp[n]){e.call(this,n,s[n])}}for(var n in =
s){if(!p[n]){e.call(this,n,s[n])}}}return =
this},base:function(){}};Base.extend=3Dfunction(i,s){var =
e=3DBase.prototype.extend;if(!i)i=3D{};Base._=3D1;var p=3Dnew =
this;e.call(p,i);var =
constructor=3Dp.constructor;p.constructor=3Dthis;delete Base._;var =
k=3Dfunction(){if(!Base._)constructor.apply(this,arguments);this.construc=
tor=3Dk};k.prototype=3Dp;k.extend=3Dthis.extend;k.toString=3Dfunction(){r=
eturn String(constructor)};e.call(k,s);var o=3Dconstructor?k:p;if(o.init =
instanceof Function)o.init();return o};var =
utils=3D{KeyCode_TAB:9,KeyCode_DELETE:46,KeyCode_BACKSPACE:8,KeyCode_LEFT=
_ARROW:37,KeyCode_RIGHT_ARROW:39,KeyCode_HOME:36,KeyCode_END:35,KeyCode_P=
AGE_UP:33,KeyCode_PAGE_DOWN:34,KeyCode_UP_ARROW:38,KeyCode_DOWN_ARROW:40,=
KeyCode_ESC:27,KeyCode_ENTER:13,KeyCode_SPACE:32,KeyCode_SHIFT_KEY:16,Key=
Code_CTRL_KEY:17,KeyCode_ALT_KEY:18,KeyCode_LEFT_MS_WINDOWS_KEY:91,KeyCod=
e_RIGHT_MS_WINDOWS_KEY:92,KeyCode_MS_MENU_KEY:93,bIsIe:false,isArray:func=
tion(oObj){return =
this.isObject(oObj)&&oObj.constructor=3D=3DArray;},isObject:function(oObj=
){return(oObj&&typeof =
oObj=3D=3D'object');},hasClass:function(oEl,className){var regexp=3Dnew =
RegExp("(^|\\s)"+className+"(\\s|$)");return =
regexp.test(oEl.className);},addClass:function(oEl,className){if(!this.ha=
sClass(oEl,className)){if(oEl.className)oEl.className+=3D" =
"+className;else =
oEl.className=3DclassName;}},removeClass:function(oEl,className){var =
regexp=3Dnew RegExp("(^|\\s)"+className+"(\\s|$)");var =
b=3Dregexp.test(oEl.className);oEl.className=3DoEl.className.replace(rege=
xp,"$2");return =
b;},toggleClass:function(oEl,className){if(this.hasClass(oEl,className))t=
his.removeClass(oEl,className);else =
this.addClass(oEl,className);},createCookie:function(name,value,days,path=
){if(days){var date=3Dnew =
Date();date.setTime(date.getTime()+(days*24*60*60*1000));var =
expires=3D'; expires=3D'+date.toGMTString();}else =
expires=3D'';document.cookie=3Dname+'=3D'+value+expires+'; =
path=3D'+(path?path:"/");},readCookie:function(name){var =
nameEQ=3Dname+'=3D';var ca=3Ddocument.cookie.split(';');for(var =
i=3D0;i<ca.length;i++){var c=3Dca[i];while(c.charAt(0)=3D=3D' =
')c=3Dc.substring(1,c.length);if(c.indexOf(nameEQ)=3D=3D0)return =
c.substring(nameEQ.length,c.length);}=0A=
return"";},eraseCookie:function(sName,bOnlyInMyDomain){if(bOnlyInMyDomain=
){this.createCookie(sName,"",-1);}else{var x=3DsName+"=3D; =
expires=3DThu, 01-Jan-1970 00:00:01 GMT; path=3D/; =
domain=3D";document.cookie=3Dx+"ncbi.nlm.nih.gov";document.cookie=3Dx+"nl=
m.nih.gov";document.cookie=3Dx+"nih.gov";}},addEvent_guid:1,addEvent:func=
tion(oEl,sType,fHandler){if(!fHandler.$$guid)fHandler.$$guid=3Dthis.addEv=
ent_guid++;if(!oEl.events)oEl.events=3D{};var =
handlers=3DoEl.events[sType];if(!handlers){handlers=3DoEl.events[sType]=3D=
{};if(oEl["on"+sType]){handlers[0]=3DoEl["on"+sType];}}=0A=
handlers[fHandler.$$guid]=3DfHandler;oEl["on"+sType]=3DhandleEvent;functi=
on handleEvent(e){var =
returnValue=3Dtrue;e=3De||fixEvent(window.event);var =
handlers=3Dthis.events[e.type];for(var i in =
handlers){this.$$handleEvent=3Dhandlers[i];if(this.$$handleEvent(e)=3D=3D=
=3Dfalse){returnValue=3Dfalse;}}=0A=
return returnValue;};function =
fixEvent(e){e.preventDefault=3DfixEvent.preventDefault;e.stopPropagation=3D=
fixEvent.stopPropagation;return =
e;};fixEvent.preventDefault=3Dfunction(){this.returnValue=3Dfalse;};fixEv=
ent.stopPropagation=3Dfunction(){this.cancelBubble=3Dtrue;};try{}finally{=
element=3Dnull;}=0A=
return =
fHandler.$$guid;},removeEvent:function(oEl,sType,fHandler){if(oEl.events&=
&oEl.events[sType]){delete oEl.events[sType][fHandler.$$guid];return =
fHandler.$$guid;}=0A=
return =
null;},preventDefault:function(e){if(e.preventDefault)e.preventDefault();=
else =
window.event.returnValue=3Dfalse;},getRelatedTarget:function(e){if(!e)var=
 e=3Dwindow.event;if(e.relatedTarget)return e.relatedTarget;else =
if(e.toElement)return e.toElement;},getTargetObj:function(e){var =
oTarget;e=3De||window.event;if(e=3D=3Dnull)return =
null;if(e.srcElement=3D=3Dnull)oTarget=3De.target;else =
oTarget=3De.srcElement;while(oTarget&&oTarget.nodeType!=3D1)oTarget=3DoTa=
rget.parentNode;return oTarget;},getPageDim:function(oEl){var =
dim=3D{w:0,h:0};var test1,test2;var =
x;if(undefined=3D=3DoEl){x=3Ddocument.body;}else{x=3DoEl;}=0A=
var test1=3DparseInt(x.scrollHeight);var =
test2=3DparseInt(x.offsetHeight);if(test1>test2){dim.w=3DparseInt(x.scrol=
lWidth);dim.h=3Dtest1;}else{dim.w=3DparseInt(x.offsetWidth);dim.h=3Dtest2=
;}=0A=
return dim;},getWindowDim:function(){var =
dim=3D{w:0,h:0};if(self.innerHeight){dim.w=3Dself.innerWidth;dim.h=3Dself=
.innerHeight;}else =
if(document.documentElement&&document.documentElement.clientHeight){dim.w=
=3Ddocument.documentElement.clientWidth;dim.h=3Ddocument.documentElement.=
clientHeight;}else =
if(document.body){dim.w=3Ddocument.body.clientWidth;dim.h=3Ddocument.body=
.clientHeight;}=0A=
dim.w=3DparseInt(dim.w);dim.h=3DparseInt(dim.h);return =
dim;},getXY:function(oEl,oParent){var =
dim=3D{x:0,y:0,w:oEl.offsetWidth,h:oEl.offsetHeight};if(oEl.offsetParent)=
{while(oEl&&oEl!=3DoParent){dim.x+=3DoEl.offsetLeft;dim.y+=3DoEl.offsetTo=
p;oEl=3DoEl.offsetParent;}}else if(oEl.x){dim.x=3DoEl.x;dim.y=3DoEl.y;}=0A=
return dim;},getBorders:function(oEl){var =
res=3D{t:0,b:0,l:0,r:0,isInner:false};res.t=3Dthis.getStyle(oEl,"borderTo=
pWidth");if(typeof(res.t)=3D=3D"string"&&res.t!=3D""){res.b=3Dthis.getSty=
le(oEl,"borderBottomWidth");res.l=3Dthis.getStyle(oEl,"borderLeftWidth");=
res.r=3Dthis.getStyle(oEl,"borderRightWidth");}else{res.t=3Dthis.getStyle=
(oEl,"border-top-width");res.b=3Dthis.getStyle(oEl,"border-bottom-width")=
;res.l=3Dthis.getStyle(oEl,"border-left-width");res.r=3Dthis.getStyle(oEl=
,"border-right-width");}=0A=
if(oEl.currentStyle){res.isInner=3Dtrue;}=0A=
res.b=3DparseInt(res.b);if(isNaN(res.b))res.b=3D0;res.t=3DparseInt(res.t)=
;if(isNaN(res.t))res.t=3D0;res.l=3DparseInt(res.l);if(isNaN(res.l))res.l=3D=
0;res.r=3DparseInt(res.r);if(isNaN(res.r))res.r=3D0;return =
res;},getPaddings:function(oEl){var =
res=3D{t:0,b:0,l:0,r:0};res.t=3Dthis.getStyle(oEl,"paddingTop");if(typeof=
(res.t)=3D=3D"string"&&res.t!=3D""){res.b=3Dthis.getStyle(oEl,"paddingBot=
tom");res.l=3Dthis.getStyle(oEl,"paddingLeft");res.r=3Dthis.getStyle(oEl,=
"paddingRight");}else{res.t=3Dthis.getStyle(oEl,"padding-top");res.b=3Dth=
is.getStyle(oEl,"padding-bottom");res.l=3Dthis.getStyle(oEl,"padding-left=
");res.r=3Dthis.getStyle(oEl,"padding-right");}=0A=
res.b=3DparseInt(res.b);if(isNaN(res.b))res.b=3D0;res.t=3DparseInt(res.t)=
;if(isNaN(res.t))res.t=3D0;res.l=3DparseInt(res.l);if(isNaN(res.l))res.l=3D=
0;res.r=3DparseInt(res.r);if(isNaN(res.r))res.r=3D0;return =
res;},getMargins:function(oEl){var =
res=3D{t:0,b:0,l:0,r:0};res.t=3Dthis.getStyle(oEl,"marginTop");if(typeof(=
res.t)=3D=3D"string"&&res.t!=3D""){res.b=3Dthis.getStyle(oEl,"marginBotto=
m");res.l=3Dthis.getStyle(oEl,"marginLeft");res.r=3Dthis.getStyle(oEl,"ma=
rginRight");}else{res.t=3Dthis.getStyle(oEl,"margin-top");res.b=3Dthis.ge=
tStyle(oEl,"margin-bottom");res.l=3Dthis.getStyle(oEl,"margin-left");res.=
r=3Dthis.getStyle(oEl,"margin-right");}=0A=
res.b=3DparseInt(res.b);if(isNaN(res.b))res.b=3D0;res.t=3DparseInt(res.t)=
;if(isNaN(res.t))res.t=3D0;res.l=3DparseInt(res.l);if(isNaN(res.l))res.l=3D=
0;res.r=3DparseInt(res.r);if(isNaN(res.r))res.r=3D0;return =
res;},getScrolls:function(){var =
dim=3D{x:0,y:0};if(self.pageYOffset){dim.x=3Dself.pageXOffset;dim.y=3Dsel=
f.pageYOffset;}else =
if(document.documentElement){dim.x=3Ddocument.documentElement.scrollLeft;=
dim.y=3Ddocument.documentElement.scrollTop;}else =
if(document.body){dim.x=3Ddocument.body.scrollLeft;dim.y=3Ddocument.body.=
scrollTop;}=0A=
dim.x=3DparseInt(dim.x);dim.y=3DparseInt(dim.y);return =
dim;},insertAfter:function(parent,node,referenceNode){parent.insertBefore=
(node,referenceNode.nextSibling);},moveAfter:function(item1,item2){var =
parent=3Ditem1.parentNode;parent.removeChild(item1);parent.insertBefore(i=
tem1,item2?item2.nextSibling:null);},moveBefore:function(item1,item2){var=
 =
parent=3Ditem1.parentNode;parent.removeChild(item1);parent.insertBefore(i=
tem1,item2);},removeChildren:function(oObj){if(!oObj||typeof =
oObj!=3D"object")return;while(oObj&&oObj.hasChildNodes()){oObj.removeChil=
d(oObj.firstChild);}},removeAllChildren:function(oObj){this.removeChildre=
n(oObj);},getParent:function(oEl){if(oEl){var =
result=3DoEl.parentNode;while(result&&result.nodeType!=3D1)result=3Dresul=
t.nextSibling;if(result)return result;}=0A=
return null;},getFirstChild:function(oEl){if(oEl){var =
result=3DoEl.firstChild;while(result&&result.nodeType!=3D1)result=3Dresul=
t.nextSibling;if(result)return result;}=0A=
return null;},getNextSibling:function(oEl,sTagName){if(oEl){var =
result=3DoEl.nextSibling;if(sTagName){var =
tn=3DsTagName.toUpperCase();while(result&&result.tagName!=3Dtn)result=3Dr=
esult.nextSibling;}else{while(result&&result.nodeType!=3D1)result=3Dresul=
t.nextSibling;}=0A=
return result;}=0A=
return null;},getPreviousSibling:function(oEl,sTagName){if(oEl){var =
result=3DoEl.previousSibling;if(sTagName){var =
tn=3DsTagName.toUpperCase();while(result&&result.tagName!=3Dtn)result=3Dr=
esult.previousSibling;}else{while(result&&result.nodeType!=3D1)result=3Dr=
esult.previousSibling;}=0A=
return result;}=0A=
return null;},nextItem:function(oEl,sNodeName){if(oEl=3D=3Dnull)return =
null;var =
next=3DoEl.nextSibling;while(next!=3Dnull){if(next.nodeName=3D=3DsNodeNam=
e)return next;next=3Dnext.nextSibling;}=0A=
return null;},previousItem:function(oEl,sNodeName){var =
previous=3DoEl.previousSibling;while(previous!=3Dnull){if(previous.nodeNa=
me=3D=3DsNodeName)return previous;previous=3Dprevious.previousSibling;}=0A=
return null},containsNode:function(oEl,oContainer){if(oEl=3D=3Dnull)=0A=
return false;if(oEl=3D=3DoContainer)=0A=
return true;else=0A=
return =
this.containsNode(this.getParent(oEl));},getStyle:function(oEl,sStyleProp=
){if(oEl.currentStyle){return oEl.currentStyle[sStyleProp];}else =
if(document.defaultView&&document.defaultView.getComputedStyle){return =
document.defaultView.getComputedStyle(oEl,'').getPropertyValue(sStyleProp=
);}},getSelection:function(){var =
text=3D"";if(window.getSelection){text+=3Dwindow.getSelection();}else =
if(document.getSelection){text+=3Ddocument.getSelection();}else =
if(document.selection){text+=3Ddocument.selection.createRange().text;}=0A=
return =
text;},selectRange:function(oEl,iStart,iLength){if(!(oEl&&oEl.value))retu=
rn;if(oEl.createTextRange){var =
oRange=3DoEl.createTextRange();oRange.moveStart("character",iStart);oRang=
e.moveEnd("character",iLength-oEl.value.length);oRange.select();}else =
if(oEl.setSelectionRange){oEl.setSelectionRange(iStart,iLength);}=0A=
oEl.focus();},getTextContent:function(oEl){return =
oEl.textContent;},getPlural:function(iN,sSuffix){if(undefined=3D=3DsSuffi=
x){return(iN>1?"s":"");}else =
if("y"=3D=3DsSuffix){return(iN>1?"ies":"y");}else{return(iN>1?sSuffix+"s"=
:sSuffix);}},getPeriodToString:function(iDelta){var x=3D"Error, cannot =
convert '"+iDelta+"'";var =
sDir;iDelta=3DparseInt(iDelta);if(iDelta<0){sDir=3D" =
before";iDelta=3D-iDelta;}else=0A=
sDir=3D" ago";var iS=3DparseInt(iDelta/1000);var =
iM,iH,iD;if(iS<60){x=3DiS+" =
second"+this.getPlural(iS);}else{iM=3DparseInt(iS/60);if(iM<60){x=3DiM+" =
minute"+this.getPlural(iM);}else{iH=3DparseInt(iM/60);if(iH<24){iM=3DiM-i=
H*60;x=3DiH+" hour"+this.getPlural(iH)+" and "+iM+" =
minute"+this.getPlural(iM);}else{iD=3DparseInt(iH/24);iH-=3DiD*24;x=3DiD+=
" day"+this.getPlural(iD)+" and "+iH+" hour"+this.getPlural(iH);}}}=0A=
return x+sDir;},isEmail:function(sAddress){var =
filter=3D/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6=
}(?:\.[a-z]{2})?)$/i;return(filter.test(sAddress))},getParams:function(sS=
tr,sDelim){var res=3D{};if(undefined=3D=3DsStr)return res;var =
a;if(sDelim){a=3DsStr.split(sDelim);}else{if(sStr.indexOf("&amp;")=3D=3D-=
1){a=3DsStr.split("&");}else{a=3DsStr.split("&amp;");}}=0A=
for(var i=3D0;i<a.length;i++){var =
b=3Da[i].split("=3D");if(b[0]=3D=3D"")continue;if(b[1]=3D=3D""){res[b[0]]=
=3Dtrue;}else{res[b[0]]=3Dunescape(b[1]);}}=0A=
return =
res;},Dump:function(oObj,iDepth){if(iDepth=3D=3Dnull)iDepth=3D1;var =
s=3D'';if(typeof(oObj)=3D=3D"object"){s+=3Dtypeof(oObj)+" {\n";for(var k =
in oObj){for(var i=3D0;i<iDepth;i++)s+=3D"  ";s+=3Dk+": =
"+this.Dump(oObj[k],iDepth+1);}=0A=
for(var i=3D0;i<iDepth-1;i++)s+=3D"  =
";s+=3D"}\n"}else{s+=3D""+oObj+"\n";}=0A=
return s;},jsLoader:{load:function(aScripts){var =
oS=3Ddocument.getElementsByTagName("script");for(var =
j=3D0;j<oS.length;j++){if(oS[j].src=3D=3D"")continue;this.oLoaded.push(oS=
[j].src);}=0A=
var =
sHost=3Ddocument.location.protocol+"/"+"/"+document.location.host;var =
sPath=3Ddocument.location.pathname;sPath=3DsPath.substring(0,sPath.lastIn=
dexOf("/"))+"/";var =
oHead=3Ddocument.getElementsByTagName("head")[0];for(var =
i=3D0;i<aScripts.length;i++){var =
sNewSrc=3Dthis.sBase+aScripts[i];if(sNewSrc.indexOf(":/"+"/")=3D=3D-1){if=
(sNewSrc.indexOf("/")=3D=3D0){sNewSrc=3DsHost+sNewSrc;}else{sNewSrc=3DsHo=
st+sPath+sNewSrc;}}=0A=
var oS=3Ddocument.getElementsByTagName("script");var b=3Dtrue;for(var =
j=3D0;j<this.oLoaded.length;j++){if(sNewSrc=3D=3Dthis.oLoaded[j]){b=3Dfal=
se;}}=0A=
if(b){document.write("<script src=3D'"+sNewSrc+"' =
type=3D'text/javascript'></script>");this.oLoaded.push(sNewSrc);}}},sBase=
:"",oLoaded:[]},insertInHtml:function(text,obj){if(document.all){obj.inne=
rHTML+=3Dtext;}else{var =
range=3Ddocument.createRange();range.setStartAfter(obj);var =
docFrag=3Drange.createContextualFragment(text);obj.appendChild(docFrag);}=
},replaceInHtml:function(text,obj){if(document.all){obj.innerHTML=3Dtext;=
}else{while(obj.hasChildNodes())obj.removeChild(obj.firstChild);var =
range=3Ddocument.createRange();range.setStartAfter(obj);var =
docFrag=3Drange.createContextualFragment(text);obj.appendChild(docFrag);}=
},drawText:function(sText,sId,add){if(!sId)sId=3D"debug";var =
obj=3Ddocument.getElementById(sId);if(obj){if(add)=0A=
obj.innerHTML=3D"<br/>"+sText;else=0A=
obj.innerHTML+=3DsText;}},createNewId:function(){var =
newid=3Dnull;while(!newid||document.getElementById(newid)){newid=3D"XID"+=
Math.round(Math.random()*65536).toString(16);}=0A=
return newid;}};String.prototype.trimSpaces=3Dfunction(trimMode){var =
targetString=3Dthis;var =
iPos=3D0;if(!trimMode)trimMode=3D0;if(trimMode=3D=3D0||trimMode=3D=3D1){i=
f(targetString.charAt(iPos)=3D=3D" =
"){while(targetString.charAt(iPos)=3D=3D" =
")iPos++;targetString=3DtargetString.substr(iPos);}}=0A=
iPos=3DtargetString.length-1;if(trimMode=3D=3D0||trimMode=3D=3D2){if(targ=
etString.charAt(iPos)=3D=3D" "){while(targetString.charAt(iPos)=3D=3D" =
")iPos--;targetString=3DtargetString.substr(0,iPos+1);}}=0A=
return targetString;}=0A=
function $(){var elements=3Dnew Array();for(var =
i=3D0;i<arguments.length;i++){var element=3Darguments[i];if(typeof =
element=3D=3D'string')=0A=
element=3Ddocument.getElementById(element);if(arguments.length=3D=3D1)=0A=
return element;elements.push(element);}=0A=
return elements;}=0A=
function $C(attrValue,attrName,node,tag){if("*"=3D=3DattrValue){return =
$AN(attrName,node,tag);}=0A=
var oElements=3Dnew =
Array();if(!node)node=3Ddocument;if(!tag)tag=3D'*';if(!attrName)attrName=3D=
'class';var els=3Dnode.getElementsByTagName(tag);var =
elsLen=3Dels.length;var pattern=3Dnew =
RegExp("(^|\\s)"+attrValue+"(\\s|$)");var =
j=3D0;for(i=3D0;i<elsLen;i++){if(attrName=3D=3D"class"&&pattern.test(els[=
i].className)){oElements[j++]=3Dels[i];}else =
if(pattern.test(els[i].getAttribute(attrName))){oElements[j++]=3Dels[i];}=
}=0A=
return oElements;}=0A=
function $AN(attrName,node,tag){var oElements=3Dnew =
Array();if(node=3D=3Dnull)node=3Ddocument;if(tag=3D=3Dnull)tag=3D'*';var =
els=3Dnode.getElementsByTagName(tag);for(i=3D0;i<els.length;i++){if(els[i=
].getAttribute(attrName)>""){oElements[oElements.length]=3Dels[i];}}=0A=
return oElements;}=0A=
function $N(name,node){var =
oElements=3D[];if(node=3D=3Dnull)node=3Ddocument;var =
els=3Dnode.getElementsByName(name);for(i=3D0;i<els.length;i++){oElements[=
oElements.length]=3Dels[i];}=0A=
return oElements;}=0A=
debug=3Dfunction(){};debug.prototype=3D{constructor:function(){},enable:f=
unction(){},disable:function(){}};function Notifier(){this.oQuee=3D{};}=0A=
Notifier.prototype.setListener=3Dfunction(oListener,sMessage,fFunction,oN=
otifier){function =
x_setListener(oListener,sMessage,fFunction,oNotifier){for(var j in =
oThis.oQuee[sMessage]){if(oThis.oQuee[sMessage][j]=3D=3D=3DoListener){ret=
urn false;}}=0A=
if(!oThis.oQuee[sMessage]){oThis.oQuee[sMessage]=3D[];}=0A=
j=3DoThis.oQuee[sMessage].length;oThis.oQuee[sMessage][j++]=3D({obj:oList=
ener,fun:fFunction,ntf:oNotifier});return true;}=0A=
var oThis=3Dthis;if(utils.isArray(oListener)){for(var i in =
oListener){x_setListener(oListener[i],sMessage,fFunction,oNotifier);}}els=
e{return =
x_setListener(oListener,sMessage,fFunction,oNotifier);}};Notifier.prototy=
pe.Notify=3Dfunction(oNotifier,sMessage,oComment,oListener){var =
sAnyMessage=3D"*";for(var i in =
this.oQuee[sAnyMessage]){if(null=3D=3DoListener||this.oQuee[sAnyMessage][=
i].obj=3D=3DoListener){if(this.oQuee[sAnyMessage][i].ntf=3D=3Dnull||this.=
oQuee[sAnyMessage][i].ntf=3D=3D=3DoNotifier){if("function"=3D=3Dtypeof =
this.oQuee[sAnyMessage][i].fun){var =
fun=3Dthis.oQuee[sAnyMessage][i].fun;fun(this.oQuee[sAnyMessage][i].obj,o=
Comment,sMessage,oNotifier);}}}}=0A=
for(i in =
this.oQuee[sMessage]){if(null=3D=3DoListener||this.oQuee[sMessage][i].obj=
=3D=3DoListener){if(this.oQuee[sMessage][i].ntf=3D=3Dnull||this.oQuee[sMe=
ssage][i].ntf=3D=3D=3DoNotifier){if("function"=3D=3Dtypeof =
this.oQuee[sMessage][i].fun){if(this.oQuee[sMessage][i].fun(this.oQuee[sM=
essage][i].obj,oComment,sMessage,oNotifier)){return;}}}}}};Notifier.getIn=
stance=3Dfunction(){if(!Notifier.instance){Notifier.instance=3Dnew =
Notifier();}=0A=
return =
Notifier.instance;};Dispatcher=3DBase.extend({constructor:function(oRules=
,oHierarchy){this.init();},init:function(){this.oNotifier=3Dnew =
Notifier();this.submitOK=3Dtrue;this.submitter=3Dfalse;this.submitRequest=
ed=3Dfalse;this.submitChecking=3Dfalse;this._rules=3D{};},initDataExchang=
e:function(oRules){var oThis=3Dthis;var activenames=3DActiveNames;var =
i,j;var =
rulehash=3D{};activenames=3DActiveNames;this.submitOK=3Dtrue;this.submitR=
equested=3Dfalse;this.submitter=3Dnull;this.oRules=3DoRules;for(i=3D0;i<o=
Rules.length;i++){var =
name=3DoRules[i].ename;rulehash[name]=3D(rulehash[name]||[]);rulehash[nam=
e][rulehash[name].length]=3DoRules[i];}=0A=
var =
links=3Ddocument.links;for(i=3D0;i<links.length;i++){initializeControl(li=
nks[i]);}=0A=
for(name in ActiveNames){var ctrl;var =
elems=3Ddocument.getElementsByName(name);for(i=3D0;i<elems.length;i++){in=
itializeControl(elems[i]);}}=0A=
for(var fname in =
this.dataExchangeFunctions){this.setListener(this,fname,this.dataExchange=
Functions[fname],null);}=0A=
function initializeControl(domCtrl){var thisName=3DdomCtrl.name;var =
j,oRule;if(!(thisName&&typeof =
activenames[thisName]!=3D=3D'undefined')){return;}=0A=
try{var =
sActionEvent=3DoThis.actionEventName(domCtrl);if(sActionEvent>""){if(rule=
hash[thisName]){oThis.addRule(oThis,sActionEvent,thisName,oThis.doDataExc=
hange,rulehash[thisName]);}=0A=
if(activenames[thisName]){oThis.addRule(oThis,sActionEvent,thisName,oThis=
.doSubmitAttribute,null);}=0A=
oThis.listenForEvents(domCtrl,sActionEvent);}}finally{}};},addRule:functi=
on(oThis,sEvent,sName,fFunc,oArg){var rules=3Dthis._rules;var =
ename=3DsName+"$"+sEvent;var =
i;if(typeof(rules[ename])!=3D'undefined'){for(i=3D0;i<rules[ename].length=
;i++){if(rules[ename][i].func=3D=3DfFunc){return;}}}else{rules[ename]=3D[=
];}=0A=
rules[ename][rules[ename].length]=3D{'thisptr':oThis,'func':fFunc,'arg':o=
Arg};},getRulesFor:function(sName,sEvent){return =
this._rules[sName+"$"+sEvent];},listenForEvents:function(domCtrl,sEventNa=
me){domCtrl._i_=3D(domCtrl._i_||[]);if(!domCtrl._i_[sEventName]){domCtrl.=
_i_[sEventName]=3D1;utils.addEvent(domCtrl,sEventName,this.handleAction);=
}},doDataExchange:function(eEvent,domTarget,oArg){var =
d=3DDispatcher.getInstance();var rules=3DoArg;if(!rules){return;}=0A=
for(var =
k=3D0;k<rules.length;k++){d.notify(domTarget,rules[k].m,rules[k]);}},doSu=
bmitAttribute:function(eEvent,domTarget,oArg){eEvent.preventDefault();eEv=
ent.stopPropagation();console&&console.info("Submitting request because =
submit attribute set");var =
realname=3DdomTarget.getAttributeNode("realname");realname=3Drealname?rea=
lname.value:null;if(domTarget.name||realname){this.setSubmitSource(realna=
me||domTarget.name);}=0A=
if(domTarget.name=3D=3D"p$ExL"){el=3Ddocument.getElementsByName('p$el');i=
f((typeof(el)!=3D'undefined')&&(el.length>0)){el[0].value=3DdomTarget.get=
Attribute("href");}}=0A=
Dispatcher.getInstance().requestSubmit();},handleAction:function(e){var =
d=3DDispatcher.getInstance();var t=3Dthis;var =
i;if(t.tagName&&t.tagName.toLowerCase()=3D=3D'a'){e.preventDefault();e.st=
opPropagation();}=0A=
var =
realname=3Dthis.getAttributeNode("realname");realname=3Drealname?realname=
.value:null;if(this.name||realname){d.setSubmitSource(realname||this.name=
);}=0A=
d.submitCheckBegin();try{console&&console.info("Executing rule =
"+t.name+"."+e.type);var =
rules=3Dd.getRulesFor(t.name,e.type);for(i=3D0;rules&&(i<rules.length);i+=
+){var =
rule=3Drules[i];try{rule.func.call(rule.thisptr,e,t,rule.arg);}catch(err)=
{console&&console.error("Dispatcher.handleAction: rule failed: =
"+t.name+"$"+e.type+": =
"+err);}}}catch(err){console&&console.error("Error: handleAction: =
"+err);}finally{d.submitCheckEnd();}},actionEventName:function(t){var =
ttype=3D(t.getAttribute("type")||'').toLowerCase();switch(t.tagName.toLow=
erCase()){case'select':case'textarea':return'change';case'form':return'';=
case'input':if(ttype=3D=3D'text'){return'change';}}=0A=
return'click';},initHierarchy:function(oTree){if(!oTree||!oTree.name){ret=
urn;}=0A=
var =
sname=3DoTree.shortname||oTree.name.substring(1+oTree.name.lastIndexOf(".=
"));try{var =
c=3DPortal.Component.create(oTree.type,oTree.name,sname,this.oNotifier);c=
.realname=3DoTree.realname;}catch(e){console&&console.group&&console.grou=
p("Exception creating portlet =
"+oTree.name);console&&console.info("Message: =
"+e.toString());if(typeof(e)!=3D'string'){console&&console.group&&console=
.group("Details");console&&console.dir&&console.dir(e);console&&console.g=
roupEnd&&console.groupEnd();}=0A=
console&&console.group&&console.group("Trace")=0A=
console&&console.trace&&console.trace();console&&console.groupEnd&&consol=
e.groupEnd();console&&console.groupEnd&&console.groupEnd();}=0A=
if(oTree.children){for(var =
i=3D0;i<oTree.children.length;i++){this.initHierarchy(oTree.children[i]);=
}}},submit:function(){if(this.submitCheck()){if(xmlHttpCall&&xmlHttpCall.=
abortCalls){xmlHttpCall.abortCalls();}=0A=
document.forms[0]._submit();}},submitCheck:function(){var =
oThis=3Dthis;var =
thisForm=3Ddocument.forms[0];this.submitOK=3Dtrue;this.vetoWhy=3Dnull;thi=
s.notify(this,"portal$beforesubmit",{form:thisForm},null);return =
this.submitOK;},veto:function(whydata){this.submitOK=3Dfalse;this.vetoWhy=
=3Dwhydata;},isVetoed:function(){return!this.submitOK;},setSubmitSource:f=
unction(sourceName){var =
el=3Ddocument.getElementsByName('p$a');if((typeof(el)!=3D'undefined')&&(e=
l.length>0)){if(typeof(sourceName)=3D=3D'undefined'){console&&console.war=
n("Warning: Can't identify submitter: using =
p$a=3D''");}else{el[0].value=3DsourceName;}}},getSrcDst:function(oRule,oN=
otifierObj){function x_FindObj(name,sid){var oResult=3D[];var =
oControls=3D$N(name);for(var =
i=3D0;i<oControls.length;i++){if("*"=3D=3Dsid||oControls[i].getAttribute(=
"sid")=3D=3Dsid){oResult[oResult.length]=3DoControls[i];}}=0A=
return oResult;}=0A=
var oThis=3Dthis;var name=3DoRule.sname;var =
sid=3DoRule.ssid;if("#"=3D=3Dname){name=3DoRule.ename;}=0A=
if("#"=3D=3Dsid){sid=3DoRule.esid;sid=3DoNotifierObj.getAttribute("sid");=
}=0A=
var =
oSrc=3Dx_FindObj(name,sid);name=3DoRule.dname;sid=3DoRule.dsid;if("#"=3D=3D=
name){name=3DoRule.ename;}=0A=
if("#"=3D=3Dsid){sid=3DoRule.esid;sid=3DoNotifierObj.getAttribute("sid");=
}=0A=
var =
oDst=3Dx_FindObj(name,sid);return{src:oSrc,dst:oDst};},setListener:functi=
on(oListener,sMessage,fFunction,oNotifier){return =
this.oNotifier.setListener(oListener,sMessage,fFunction,oNotifier);},noti=
fy:function(oNotifier,sMessage,oComment,oListener){return =
this.oNotifier.Notify(oNotifier,sMessage,oComment,oListener);},dataExchan=
geFunctions:{CopyValue:function(oListener,oRule,sMessage,oNotifierObj){va=
r dispatcher=3DoListener;var =
oSrcDst=3Ddispatcher.getSrcDst(oRule,oNotifierObj);for(var =
j=3D0;j<oSrcDst.dst.length;j++){for(var =
i=3D0;i<oSrcDst.src.length;i++){oSrcDst.dst[j].value=3DoSrcDst.src[i].val=
ue;}}},AddValue:function(oListener,oRule,sMessage,oNotifierObj){var =
dispatcher=3DoListener;var =
oSrcDst=3Ddispatcher.getSrcDst(oRule,oNotifierObj);for(var =
j=3D0;j<oSrcDst.dst.length;j++){for(var =
i=3D0;i<oSrcDst.src.length;i++){oSrcDst.dst[j].value+=3D(oSrcDst.dst[j].v=
alue>""?", =
":"")+oSrcDst.src[i].value;}}},SetValue:function(oListener,oRule,sMessage=
,oNotifierObj){var dispatcher=3DoListener;var =
oSrcDst=3Ddispatcher.getSrcDst(oRule,oNotifierObj);for(var =
j=3D0;j<oSrcDst.dst.length;j++){var =
dst=3DoSrcDst.dst[j];if(Dispatcher.isCheckable(dst)){dst.checked=3DoRule.=
p[0];}else{dst.value=3DoRule.p[0];}}},ItemToList:function(oListener,oRule=
,sMessage,oNotifierObj){var dispatcher=3DoListener;var =
oSrcDst=3Ddispatcher.getSrcDst(oRule,oNotifierObj);for(var =
j=3D0;j<oSrcDst.dst.length;j++){var dst=3DoSrcDst.dst[j];var =
dstval=3Ddst.value.replace(/^\s+/,"").replace(/\s+$/,"");var =
dstItems=3Ddstval.split(/\s*,\s*/).filter(function(s){return =
s!=3D=3D"";});for(var i=3D0;i<oSrcDst.src.length;i++){var =
src=3DoSrcDst.src[i];var sc=3DDispatcher.isCheckable(src);var =
checked=3D(sc?src.checked:(src.value!=3D=3D""));var =
position=3DdstItems.indexOf(src.value);if(checked&&position<0){dstItems[d=
stItems.length]=3Dsrc.value;}=0A=
if(!checked&&position>=3D0){dstItems.splice(position,1);}}=0A=
dst.value=3DdstItems.join(", =
");}},PropertyToValue:function(oListener,oRule,sMessage,oNotifierObj){var=
 dispatcher=3DoListener;var =
oSrcDst=3Ddispatcher.getSrcDst(oRule,oNotifierObj);for(var =
j=3D0;j<oSrcDst.dst.length;j++){for(var =
i=3D0;i<oSrcDst.src.length;i++){oSrcDst.dst[j].value=3DoSrcDst.src[i].get=
Attribute(oRule.p[0]);}}},PropertyToList:function(oListener,oRule,sMessag=
e,oNotifierObj){var dispatcher=3DoListener;var =
oSrcDst=3Ddispatcher.getSrcDst(oRule,oNotifierObj);for(var =
j=3D0;j<oSrcDst.dst.length;j++){var dst=3DoSrcDst.dst[j];var o=3D{};var =
values=3D[];var propname=3DoRule.p[0];for(var =
i=3D0;i<oSrcDst.src.length;i++){var src=3DoSrcDst.src[i];var =
prop=3Dsrc.getAttribute(propname);if(!prop){continue;}=0A=
var =
sc=3DDispatcher.isCheckable(src);if(sc?src.checked:(prop&&prop!=3D=3D""))=
{if(!o[prop]){values[values.length]=3Dprop;}=0A=
o[prop]=3D1;}}=0A=
dst.value=3Dvalues.join(", =
");}}},requestSubmit:function(src){console&&console.info("Request =
submitted");this.submitter=3Dsrc;this.submitRequested=3Dtrue;},submitChec=
kBegin:function(){if(this.submitChecking){throw"ERRINTERNAL: recursive =
submit check";}=0A=
this.submitChecking=3Dtrue;this.submitter=3Dnull;this.submitRequested=3Df=
alse;},submitCheckEnd:function(){if(this.submitRequested){this.submit();}=0A=
this.submitChecking=3Dfalse;this.submitter=3Dnull;this.submitRequested=3D=
false;}},{_instance:null,getInstance:function(){return =
Dispatcher._instance||(Dispatcher._instance=3Dnew =
Dispatcher());},onload:function(){var sc=3D"Create components";var =
si=3D"Initialize components";var =
d=3DDispatcher.getInstance();d.initHierarchy(objHierarchy);d.initDataExch=
ange(ObjectLinks);d.setListener(d,'portal$vetosubmit',function(dst,data,m=
essage,src){d.veto(data);},null);var =
theForm=3Ddocument.forms[0];if(theForm&&!theForm._submit){theForm._submit=
=3DtheForm.submit;theForm.submit=3Dfunction(){Dispatcher.getInstance().re=
questSubmit();};}},isCheckbox:function(node){var =
t=3Dnode.getAttribute("type");return =
t&&(t.toLowerCase()=3D=3D"checkbox");},isRadio:function(node){var =
t=3Dnode.getAttribute("type");return =
t&&(t.toLowerCase()=3D=3D"radio");},isCheckable:function(node){return =
this.isRadio(node)||this.isCheckbox(node);}});utils.addEvent(window,"load=
",Dispatcher.onload,false);Portal=3DBase.extend({constructor:function(){t=
his.init();},init:function(){}},{_instance:null,getInstance:function(){re=
turn Portal._instance||(Portal._instance=3Dnew =
Portal());},requestSubmit:function(){Dispatcher.getInstance().requestSubm=
it();},$send:function(sMessage,oData,oDst){var =
d=3DDispatcher.getInstance();d.submitCheckBegin();d.notify(null,sMessage,=
oData,oDst);d.submitCheckEnd();}});Portal.Component=3DBase.extend({constr=
uctor:function(path,name,notifier){this.init(path,name,notifier);},init:f=
unction(path,name,notifier){this.name=3Dname;this.path=3Dpath;this.notifi=
er=3Dnotifier;if(this.listen){var msg;var isEvent=3Dnew =
RegExp(/^([^<]+)<([^>]+)>/);var m;var =
d=3DDispatcher.getInstance();for(msg in =
this.listen){m=3DisEvent.exec(msg);if(m){this.addEvent(m[1],m[2],this.lis=
ten[msg],false);}else{this._listen(msg,this.listen[msg],null);}}}=0A=
if(this.send){for(msg in =
this.send){if(this.send[msg]=3D=3Dnull){this.send[msg]=3Dthis.makeSender(=
this,msg);}}}},makeSender:function(sender,msg){return =
function(obj){return =
sender._send(msg,obj,null);};},getValue:function(attr){var =
prop=3Dnull;var ix;if(typeof =
attr=3D=3D=3D"object"){prop=3Dattr.prop;attr=3Dattr.attr;}=0A=
else =
if((ix=3Dattr.indexOf(":"))>=3D0){prop=3Dattr.substring(ix+1);attr=3Dattr=
.substring(0,ix);}=0A=
var inp=3Dthis.getInputs(attr);if(!inp){return null;}=0A=
if(inp.length=3D=3D1){inp=3Dinp[0];return(prop&&prop.toLowerCase()!=3D=3D=
"value")?inp.getAttribute(prop):htmlutils.getValue(inp);}=0A=
var result=3D[];for(var =
i=3D0;i<inp.length;i++){if(prop&&prop.toLowerCase()!=3D=3D"value"){if(typ=
eof(inp[i][prop])!=3D'undefined'){result[result.length]=3Dinp[i][prop];}e=
lse{result[result.length]=3Dinp[i].getAttribute(prop);}}else{result[resul=
t.length]=3Dhtmlutils.getValue(inp[i]);}}=0A=
return result;},getList:function(attr){var ix;var =
prop=3Dnull;if((ix=3Dattr.indexOf(":"))>=3D0){prop=3Dattr.substring(ix+1)=
;attr=3Dattr.substring(0,ix);}=0A=
if(prop){throw"UNIMPLEMENTED: Component.getList: Getting list by =
property";}=0A=
var inp=3Dthis.getInputs(attr);if(!inp){return null;}=0A=
if(inp.length=3D=3D1){inp=3Dinp[0];return htmlutils.getList(inp);}=0A=
var result=3D[];for(var =
i=3D0;i<inp.length;i++){result[result.length]=3Dhtmlutils.getList(inp[i])=
;}=0A=
return result;},setValue:function(attr,value){var prop=3Dnull;var =
ix;if((ix=3Dattr.indexOf(":"))>=3D0){prop=3Dattr.substring(ix+1);attr=3Da=
ttr.substring(0,ix);}=0A=
var =
inp=3Dthis.getInputs(attr);if(inp.length=3D=3D1){inp=3Dinp[0];if(prop){if=
(typeof(inp[prop])!=3D'undefined'){inp[prop]=3Dvalue;}else{inp.setAttribu=
te(prop,value);}}else{inp.value=3Dvalue;}}else{throw"UNIMPLEMENTED: =
Cannot (yet) set vector values from =
scalar";}},getInputs:function(name){var =
inp=3Ddocument.getElementsByName(this.path+"."+name);if(!inp||inp.length=3D=
=3D=3D0){inp=3Dnull;}=0A=
return inp;},getInput:function(name){var =
inp=3Dthis.getInputs(name);return((inp&&inp.length>0)?inp[0]:null);},has:=
function(attrname){var =
inp=3Ddocument.getElementsByName(this.path+"."+attrname);return(inp&&(inp=
.length>0));},addEvent:function(inputName,eventName,f,flag){var =
inputs;var =
oThis=3Dthis;if(typeof(inputName)=3D=3D'string'){inputs=3Dthis.getInputs(=
inputName);}else =
if(utils.isArray(inputName)){inputs=3DinputName;}else{inputs=3D[inputName=
];}=0A=
if(!inputs){console&&console.warn("Can't find: "+inputName);return;}=0A=
var =
d=3DDispatcher.getInstance();for(i=3D0;i<inputs.length;i++){d.addRule(oTh=
is,eventName,inputs[i].name,f,null);d.listenForEvents(inputs[i],eventName=
);}=0A=
return;},removeEvent:function(inputName,eventName,f,flag){var =
inputs=3Dthis.getInputs(inputName);for(var =
i=3D0;inputs&&(i<inputs.length);i++){utils.removeEvent(inputs[i],eventNam=
e,f,flag);}},iListen:0,iNextListen:function(){return"L$"+this.iListen++;}=
,_listen:function(sMessage,fFunction,sSource){var oThis=3Dthis;var =
fName=3Dthis.iNextListen()+"$"+sMessage;this[fName]=3DfFunction;var =
d=3DDispatcher.getInstance();d.setListener(oThis,sMessage,function(dst,da=
ta,message,src){oThis[fName](message,data,src);},sSource);},_send:functio=
n(sMessage,oData,oDst){var =
d=3DDispatcher.getInstance();d.notify(this,sMessage,oData,oDst);},getMeta=
Data:function(){var =
result=3D{};result.listensFor=3D[];if(this.listen){for(var msg in =
this.listen){result.listensFor[result.listensFor.length]=3Dmsg;}}=0A=
result.sends=3D[];if(this.send){for(msg in =
this.send){result.sends[result.sends.length]=3Dmsg;}}=0A=
result.attributes=3D[];for(var attr in =
this.getAttributes()){result.attributes[result.attributes.length]=3Dattr;=
}=0A=
return =
result;}},{$i:{},$$i:{},create:function(type,path,cname,notifier){var =
p=3DPortal.Component.$i;var pelem=3Dpath.split(".");for(var =
i=3D0;i<pelem.length-1;i++){p=3Dp[pelem[i]];}=0A=
var =
sname=3Dpath.substring(1+path.lastIndexOf("."));if(typeof(Portal[type])=3D=
=3D'undefined'){throw("No such portlet type: "+type);}=0A=
if(typeof(Portal[type][sname])=3D=3D'undefined'){p[sname]=3Dnew =
Portal[type](path,cname,notifier);}else{try{p[sname]=3Dnew =
Portal[type][sname](path,cname,notifier);}catch(e){console&&console.error=
("Creating Portlet."+type+"."+sname+": "+e.message);throw e;}}=0A=
var =
l;if(!(l=3DPortal.Component.$$i[sname])){l=3DPortal.Component.$$i[sname]=3D=
[];}=0A=
l[l.length]=3Dp[cname];if(p[cname].beforesubmit){var =
d=3DDispatcher.getInstance();var =
oThis=3Dthis;d.setListener(oThis,"portal$beforesubmit",function(dst,data,=
message,src){var =
whydata=3Dp[cname].beforesubmit();if(typeof(whydata)=3D=3D'boolean'){retu=
rn whydata;}else =
if(typeof(whydata)=3D=3D'object'){d.notify(this,'portal$vetosubmit',whyda=
ta,null);return true;}=0A=
throw cname+".beforesubmit: returned "+typeof(whydata);},null);}=0A=
return p[cname];},get:function(path){return =
eval("Portal.Component.$i."+path);},getByShortName:function(name){return =
eval("Portal.Component.$$i."+name);},classExists:function(name){return(ty=
peof(Portal.Component[name])!=3D"undefined");},instanceExists:function(pa=
th){try{eval("Portal.Component.$i"+path);return true;}catch(e){}=0A=
return =
false;}});Portal.Layout=3DPortal.Component.extend({constructor:function(p=
ath,name,notifier){this.base(path,name,notifier);}});Portal.Cluster=3DPor=
tal.Component.extend({constructor:function(path,name,notifier){this.base(=
path,name,notifier);}});Portal.Portlet=3DPortal.Component.extend({getAttr=
ibutes:function(){var t=3Ddocument.getElementsByTagName("input");var =
result=3D{};var pathlen=3Dthis.path.length;for(var =
i=3D0;i<t.length;i++){var it=3Dt[i];var =
itn=3Dit.getAttribute("name");if(!itn){continue;}=0A=
var prefixlen=3Ditn.lastIndexOf(".");var =
samePrefix=3D(itn.substring(0,this.path.length)=3D=3Dthis.path);if((prefi=
xlen=3D=3Dpathlen)&&samePrefix){result[itn.substring(1+prefixlen)]=3Dit.v=
alue;}}=0A=
return result;}});$PI=3Dfunction(path){return =
Portal.Component.get(path);};$PN=3Dfunction(name){var =
c=3DPortal.Component.getByShortName(name);if(typeof(c)=3D=3D"undefined"){=
return null;}=0A=
return(c.length=3D=3D1)?c[0]:c;};htmlutils=3D{accessors:{select:{getValue=
:function(node){return this.getList(node).join(", =
");},getList:function(node){var opts=3Dnode.options;var r=3D[];for(var =
i=3D0;i<opts.length;i++){if(opts[i].selected){r[r.length]=3Dopts[i].value=
;}}=0A=
return r;}},button:{getValue:function(node){var =
attrNode=3Dnode.getAttributeNode('value');return(attrNode!=3D=3Dnull)?att=
rNode.nodeValue:null;}}},getValue:function(elem){var =
v=3Dthis.accessors[elem.tagName.toLowerCase()];return =
v&&v.getValue?v.getValue(elem):elem.value;},getList:function(elem){var =
v=3Dthis.accessors[elem.tagName.toLowerCase()];return =
v&&v.getList?v.getList(elem):(elem.value?[elem.value]:[]);}};utils.addEve=
nt(window,"load",function(){Portal.getInstance();},false);
------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/1035669/js/14385/94974/13034/14476/32470.js

function getFeedback(app, page) {
   function d2(n) { return (n > 10) ? n: "0"+n; }
   var dt =3D (function(d) { return d.getFullYear() + "-" + =
d2(d.getMonth()) + "-" + d2(d.getDay()) + "T" + d2(d.getHours()) + ":" + =
d2(d.getMinutes()) + ":" + d2(d.getSeconds());=20
   })(new Date());
   =
window.open('/sites/ehelp/feedback?Ncbi_App=3D'+app+'&amp;Page=3D'+page+'=
&amp;Time=3D'+dt,'Feedback','resizable=3Dno,scrollbars=3Dyes,location=3Dn=
o,status=3Dyes,menubar=3Dno,top=3D50,left=3D200,width=3D620,height=3D395'=
);
   return false;
}
=0A=
/* =0A=
* this code toggles the news item description text =0A=
* between truncated and full =0A=
*/=0A=
(function($) {=0A=
    $(document).ready(function(){=0A=
        // get the news item list=0A=
        $('ul.rss_items li').each(function(){=0A=
            // grab the height of each item before it is shrunk by css.=0A=
            var full_height =3D $(this).children('p.desc').height();=0A=
 =0A=
            // tmid needs to be global relative to the hover functions.=0A=
            var tmid =3D null;=0A=
            =0A=
            $(this).children('p.desc').attr('class','short desc');=0A=
            short_height =3D $(this).children('p.desc').height();=0A=
            =0A=
            // if full height <=3D collapsed height then don't bother=0A=
            if (full_height <=3D short_height) {=0A=
                //add a simple underline and stop=0A=
                $(this).css('border-bottom','1px solid #ccc');=0A=
                return;=0A=
            }=0A=
            =0A=
            =0A=
            // add onhover event=0A=
            $(this).hover( function(){=0A=
               $(this).children('.arrow.').addClass('hover');=0A=
               var height =3D full_height;=0A=
               var item   =3D this;=0A=
                function grow() {=0A=
                    if =
($(item).children('p.desc').attr('class').match(/short/)) {=0A=
                        $(item).children('p.desc').animate({'height': =
height}).attr('class','desc');=0A=
                        =
$(item).children('.arrow.').children().attr('class','up');=0A=
                        =
$(item).children('.arrow.').removeClass('down').addClass('up');=0A=
                    }=0A=
                };=0A=
                //wait for a while and see if mouse is still over p.desc;=0A=
                tmid =3D setTimeout(grow,500);=0A=
            },=0A=
            function(){ // if mouse moves out of p.desc before timeout =
then cancel the event.=0A=
                $(this).children('.arrow.').removeClass('hover');=0A=
                clearTimeout(tmid);=0A=
                if =
($(this).children('p.desc').attr('class').match(/short/) =3D=3D null) {=0A=
                    $(this).children('p.desc').animate({'height': =
short_height}).attr('class','desc short');=0A=
                    =
$(this).children('.arrow.').children().attr('class','down');=0A=
                    =
$(this).children('.arrow.').removeClass('up').addClass('down');=0A=
                }=0A=
                    =0A=
            });=0A=
            // add onlcick event that cancels the hover event and =
expands immediately.=0A=
            $(this).children('p.desc').click(function(){=0A=
                clearTimeout(tmid);=0A=
                var height =3D full_height;=0A=
                var item   =3D this;=0A=
                if ($(item).attr('class').match(/short/) =3D=3D null) {=0A=
                    $(item).animate({'height': =
short_height}).attr('class','desc short');=0A=
                    =
$(item).siblings('.arrow').children().attr('class','down');=0A=
                    =
$(item).siblings('.arrow').removeClass('up').addClass('down');=0A=
                }=0A=
                else {=0A=
                    $(item).animate({'height': =
height}).attr('class','desc');=0A=
                    =
$(item).siblings('.arrow').children().attr('class','up');=0A=
                     =
$(item).siblings('.arrow').removeClass('down').addClass('up');=0A=
                }=0A=
            });=0A=
            // create arrow=0A=
            var arrow =3D $('<div class=3D"arrow down"><div =
class=3D"down"></div></div>').click(function() {=0A=
                clearTimeout(tmid);=0A=
                var height =3D full_height;=0A=
                if =
($(this).siblings('p.desc').attr('class').match(/short/) =3D=3D null) {=0A=
                    $(this).siblings('p.desc').animate({'height': =
short_height}).attr('class','desc short');=0A=
                    $(this).children().attr('class','down');=0A=
                    $(this).removeClass('up').addClass('down');=0A=
                }=0A=
                else {=0A=
                    $(this).siblings('p.desc').animate({'height': =
height}).attr('class','desc');=0A=
                    $(this).children().attr('class','up');=0A=
                    $(this).removeClass('down').addClass('up');=0A=
                }=0A=
            });=0A=
            //add arrow to the dom=0A=
            $(this).append(arrow);     =0A=
        });=0A=
    });=0A=
})(jQuery)=0A=
//=0A=
// NCBISearchBar: JavaScript behavior for SearchBar.=0A=
// This class used to do something, but not anymore.=0A=
//=0A=
Portal.Portlet.NCBISearchBar =3D Portal.Portlet.extend({=0A=
=0A=
   init: function(path, name, notifier) {=0A=
      var oThis =3D this;  // Use <oThis> instead of <this> for =
registering callbacks=0A=
      this.base(path, name, notifier);  // Call superclass constructor=0A=
   },=0A=
=0A=
   send: {=0A=
   },=0A=
=0A=
   listen: {=0A=
   }=0A=
});=0A=
=0A=
//=0A=
//		 PAFAppResources: Initialize client side of Portlet Application =
Framework=0A=
//=0A=
=0A=
Portal.Portlet.PAFAppResources =3D Portal.Portlet.extend({=0A=
=0A=
   // In PAF, the form always posts to itself. It should update and =
interpret data, and=0A=
   // then *redirect* to another page if necessary.=0A=
   =0A=
   // This code fixes up the EntrezForm in PAF templates to =
automatically post=0A=
   // to the current window pathname.=0A=
   =0A=
   // If the programmer specifies a hidden input with =
id=3D"entrez-action",=0A=
   // that action (instead of POST) is used for the form.=0A=
   =0A=
   // If the programmer specifies a hidden input with =
id=3D"entrez-method",=0A=
   // that method is used for the form. =0A=
       =0A=
   // FIXME: This is a hack. EntrezForm should default to posting to =
same page,=0A=
   // and there should be some way of indicating how to post (or get) =
elsewhere.=0A=
   // The problem here is that we've mixed Entrez into PAF. This should =
be refactored.=0A=
   =0A=
   init: function(path, name, notifier) {=0A=
      var oThis =3D this;  // Use <oThis> instead of <this> for =
registering callbacks=0A=
      this.base(path, name, notifier);  // Call superclass constructor=0A=
      =0A=
      if (!document.forms[0]) return; // Do nothing if no form.=0A=
      =0A=
      var getNodeValue =3D function(id, dfl) {=0A=
         var node =3D $(id);=0A=
         return node ? node.value : dfl;=0A=
      };=0A=
      =0A=
      var entrezAction =3D getNodeValue('entrez-action', =
window.location.pathname);=0A=
      var entrezMethod =3D getNodeValue('entrez-method', null);=0A=
      var entrezSubmit =3D getNodeValue('entrez-submit', false);=0A=
      =0A=
      document.forms[0].action =3D entrezAction;=0A=
      =0A=
      // FIXME: We need to include query string here, too, I think... At =
least for POST...      =0A=
      if (entrezMethod) {=0A=
         document.forms[0].method =3D entrezMethod;=0A=
      }=0A=
=0A=
      // By default, entrez form ignores submits. Setting "entrezSubmit" =
to "true" means let Entrez form=0A=
      // actually process the submit. This probably will only work =
correctly for action=3D"get"       =0A=
      if (entrezSubmit) {=0A=
         document.forms[0].onsubmit=3D"return true;"=0A=
      }=0A=
   }=0A=
});=0A=
=0A=
=0A=
Portal.Portlet.NCBIHomePageAppResources =3D =
Portal.Portlet.PAFAppResources.extend({=0A=
   init: function(path, name, notifier) {=0A=
      var oThis =3D this;  // Use <oThis> instead of <this> for =
registering callbacks=0A=
      this.base(path, name, notifier);  // Call superclass constructor=0A=
=0A=
	  var cc =3D utils.readCookie('dev_base_uri');=0A=
	  if (cc !=3D "") {=0A=
         jQuery('.sysmessages').html("<p =
style=3D'padding:0;margin:0;padding: 0.25em 1em; font-size: 1.5em;" +=0A=
            "background-color: #ffc'>Note: Viewing content at "+ =
unescape(cc) +=0A=
            " <a href=3D'/guide/cms-admin/set-data-source/' =
style=3D'text-decoration:underline'>change</a></p>");=0A=
      }=0A=
   },=0A=
   send: {},=0A=
   listen: {}=0A=
});
------=_NextPart_000_0000_01CBB62E.4C2F4BF0
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.ncbi.nlm.nih.gov/portal/portal3rc.fcgi/rlib/js/InstrumentOmnitureBaseJS/InstrumentNCBIBaseJS/InstrumentPageStarterJS.js


if(typeof =
ncbi=3D=3D"undefined"){ncbi=3D{};}ncbi.sg=3Dfunction(){};ncbi.sg.getInsta=
nce=3Dfunction(){if(!ncbi.sg._instance){ncbi.sg._instance=3Dnew =
ncbi.sg();}return =
ncbi.sg._instance;};ncbi.sg._instance=3Dnull;ncbi.sg._version=3D'10';(fun=
ction(){var =
logRandNum=3DMath.random();ncbi.sg.timeDelay=3D(logRandNum<.25)?10:(logRa=
ndNum<.50)?50:(logRandNum<.75)?100:200;var =
cookieEnabled=3D(navigator.cookieEnabled)?true:false;if(typeof =
navigator.cookieEnabled=3D=3D"undefined"&&!cookieEnabled){document.cookie=
=3D"testcookie";cookieEnabled=3D(document.cookie.indexOf("testcookie")!=3D=
-1)?true:false;}ncbi.sg.isCookieEnabled=3DcookieEnabled;})();ncbi.sg.isSa=
fari=3D(navigator&&navigator.vendor)?(navigator.vendor.indexOf("Apple")!=3D=
=3D-1):false;ncbi.sg.appLogIgnore=3D["ncbi_sessionid","ncbi_clickdisabled=
"];ncbi.sg.prototype=3D{init:function(){this.isDebugMode=3D((this.getCook=
ie("debugger").length>0)&&console&&console.info);this.isProcessRunning=3D=
true;this._setUpOmnValues();this._setUpPathParts();this._setUpCustomProps=
();this._addOnScrollListeners();this.send("init");this._sendPrev();},_val=
s:{},_cachedVals:{},_hasInitRun:false,_pathParts:{"part1":"","part2":"","=
part3":"","part4":""},_setUpOmnValues:function(){var =
mTags=3Ddocument.getElementsByTagName("meta");for(var =
i=3D0;i<mTags.length;i++){var =
mName=3DmTags[i].name;if(mName.indexOf("ncbi_")=3D=3D=3D0){var =
mContent=3DmTags[i].content;this.addEntry(mName,mContent);}}},_setUpSubse=
tOmnValues:function(subsetData){for(var =
i=3D0;i<subsetData.length;i++){var =
mData=3Dthis._cachedVals[subsetData[i]];if(mData){this.addEntry(subsetDat=
a[i],mData.value);}}},cachedNames:["ncbi_app","ncbi_db","ncbi_pcid","ncbi=
_pdid","ncbi_phid","ncbi_sessionid"],ignoreLengthRestrictions:["jserror",=
"jserrortype"],addEntry:function(mName,mContent){if(mContent=3D=3D=3Dunde=
fined||mContent.length=3D=3D=3D0){return;}else =
if(mContent.length>100&&this.ignoreLengthRestrictions.indexOf(mName)=3D=3D=
=3D-1){mContent=3DmContent.substr(0,100);}this._cachedVals[mName]=3D{sPro=
p:mName,value:mContent};},removeAllEntries:function(){var =
tempCache=3D{};var cnt=3Dthis.cachedNames.length;for(var =
i=3D0;i<cnt;i++){var name=3Dthis.cachedNames[i];var =
data=3Dthis._cachedVals[name];if(data){tempCache[name]=3Ddata;}}this._cac=
hedVals=3DtempCache;for(var p in =
this._pathParts){this._pathParts[p]=3D"";}},_setUpCustomProps:function(){=
var a=3Dthis._pathParts.part1;var =
b=3D(this._pathParts.part2.length>0)?":"+this._pathParts.part2:"";var =
c=3D(this._pathParts.part3.length>0)?":"+this._pathParts.part3:"";var =
d=3D(this._pathParts.part4.length>0)?":"+this._pathParts.part4:"";var =
custData=3D{"pagename":a+b+c,"server":window.location.hostname,"sitesect2=
":a+b,"subsect3":a+b+c,"subsect4":a+b+c+d,"heir1":(a+b+c+d).replace(/:/g,=
"|")};for(var prop in =
custData){this.addEntry(prop,custData[prop]);}this._sessionIdCheck();this=
._staticPageCheck();this._reloadCheck();this._prevHitCheck();this._config=
Check();this._hashCheck();},_staticPageCheck:function(){if(!(this._cached=
Vals["ncbi_app"]&&this._cachedVals["ncbi_app"].value.length>0)){this.addE=
ntry("ncbi_app","static");}if(!(this._cachedVals["ncbi_pdid"]&&this._cach=
edVals["ncbi_pdid"].value.length>0)){var =
title=3D(document.title||"unknown").replace(/\s+/g,"");this.addEntry("ncb=
i_pdid",title);}},_sessionIdCheck:function(){if(!(this._cachedVals["ncbi_=
sessionid"]&&this._cachedVals["ncbi_sessionid"].value.length>0)){var =
sessID=3D"";if(sessID.length=3D=3D=3D0){var =
webEnv=3Dthis.getCookie("WebCubbyUser")||this.getCookie("WebEnv");if(webE=
nv.length>0){webEnv=3Dunescape(webEnv).split("@");if(webEnv.length>1){ses=
sID=3DwebEnv[webEnv.length-1];}}}if(sessID.length=3D=3D=3D0){sessID=3D"NO=
SESSIONID";}this.addEntry("ncbi_sessionid",sessID);}},_reloadCheck:functi=
on(){var rlCount=3Dthis.getCookie("ncbi_reload");var =
rlReport=3D"null";if(rlCount.length>0){rlCount=3DparseInt(rlCount,10)+1;r=
lReport=3D(rlCount>1)?"true":"false";this.setCookie("ncbi_reload",rlCount=
);}this.addEntry("ncbi_reload",rlReport);},_configCheck:function(){var =
bWidth=3Dwindow.innerWidth?window.innerWidth:document.documentElement&&do=
cument.documentElement.clientWidth?document.documentElement.clientWidth:d=
ocument.body!=3D=3Dnull?document.body.clientWidth:"NA";var =
bHeight=3Dwindow.innerHeight?window.innerHeight:document.documentElement&=
&document.documentElement.clientHeight?document.documentElement.clientHei=
ght:document.body!=3D=3Dnull?document.body.clientHeight:"NA";this.addEntr=
y("browserwidth",bWidth);this.addEntry("browserheight",bHeight);this.addE=
ntry("screenwidth",screen.width);this.addEntry("screenheight",screen.heig=
ht);this.addEntry("screenavailwidth",screen.availWidth);this.addEntry("sc=
reenavailheight",screen.availHeight);if(document&&document.body){var =
canScroll_x=3D(document.body.scrollWidth>bWidth)?"true":"false";var =
canScroll_y=3Ddocument.body.scrollHeight>bHeight?"true":"false";this.addE=
ntry("canscroll_x",canScroll_x);this.addEntry("canscroll_y",canScroll_y);=
}if(screen.colorDepth){this.addEntry("colorDepth",screen.colorDepth);}els=
e =
if(screen.pixelDepth){this.addEntry("colorDepth",screen.pixelDepth);}},_h=
ashCheck:function(){var =
hash=3Dwindow.location.hash;if(hash){hash=3Dhash.replace("#","");this.add=
Entry("urlhash",hash);}},_createPHID:function(){var =
sess=3Dthis._cachedVals["ncbi_sessionid"];var sessVal=3Dsess.value;var =
calcPHID=3DsessVal.substr(0,15)+"9"+new Date().getTime().toString();var =
left=3D32-calcPHID.length;var =
sessLen=3DsessVal.length;calcPHID+=3DsessVal.substr(sessLen-left,sessLen)=
;var =
currPHID=3D{value:calcPHID};this.addEntry("ncbi_phid",calcPHID);return =
currPHID;},currentPageHitId:null,_prevHitCheck:function(){var =
prevPHID=3Dthis.getCookie("ncbi_prevPHID");var =
currPHID=3Dthis._cachedVals["ncbi_phid"];if(prevPHID.length>0){this.addEn=
try("prev_phid",prevPHID);}if(!currPHID||!currPHID.value||currPHID.value.=
length=3D=3D=3D0){currPHID=3Dthis._createPHID();}this.currentPageHitId=3D=
currPHID.value;var =
that=3Dthis;if(ncbi.sg._hasFocus){that.setCookie("ncbi_prevPHID",currPHID=
.value);}var =
oFoc=3Dwindow.onfocus;window.onfocus=3Dfunction(e){if(that.getCookie("ncb=
i_prevPHID")!=3D=3DcurrPHID.value){that.setCookie("ncbi_prevPHID",currPHI=
D.value);}if(typeof =
oFoc=3D=3D=3D"function"){oFoc(e);}};},_setUpPathParts:function(){var =
ncbi_app=3Dthis._cachedVals["ncbi_app"];var =
ncbi_db=3Dthis._cachedVals["ncbi_db"];var =
ncbi_pdid=3Dthis._cachedVals["ncbi_pdid"];var =
ncbi_pcid=3Dthis._cachedVals["ncbi_pcid"];this._pathParts.part1=3D(ncbi_a=
pp!=3D=3Dundefined)?ncbi_app.value:"";this._pathParts.part2=3D(ncbi_db!=3D=
=3Dundefined)?ncbi_db.value:"";this._pathParts.part3=3D(ncbi_pdid!=3D=3Du=
ndefined)?ncbi_pdid.value:"";this._pathParts.part4=3D(ncbi_pcid!=3D=3Dund=
efined)?ncbi_pcid.value:"";},send:function(method,callbackFnc){var =
al=3D[];if(method=3D=3D=3D"init"){al.push("jsevent=3Drender");ncbi.sg.ren=
derTime=3Dnew Date();if(typeof ncbi_startTime!=3D=3D"undefined"){var =
dtRenderTime=3Dncbi.sg.renderTime-ncbi_startTime;al.push("jsrendertime=3D=
"+dtRenderTime);if(ncbi.sg.loadTime){var =
dtLoadTime=3Dncbi.sg.loadTime-ncbi_startTime;al.push("jsloadtime=3D"+dtLo=
adTime);}}var =
isCookieEnabled=3Dncbi.sg.isCookieEnabled?"true":"false";al.push("cookiee=
nabled=3D"+isCookieEnabled);if(!ncbi.sg.isSafari){al.push("timeDelay=3D"+=
ncbi.sg.timeDelay);}}for(var prop in =
this._cachedVals){if(ncbi.sg.appLogIgnore.indexOf(prop)!=3D=3D-1){continu=
e;}var =
val=3Dthis._cachedVals[prop].value;al.push(prop+"=3D"+encodeURIComponent(=
val));}var appStr=3Dal.join("&");if(this.isDebugMode){console.info("sg =
Data:\n\n"+al.join("\n"));}this.sendAl(appStr,callbackFnc,true);this._has=
InitRun=3Dtrue;var =
ref=3Dthis;setTimeout(function(){ref.isProcessRunning=3Dfalse;ref.runSGPr=
ocess();},300);},_sendPrev:function(){var sg=3Dncbi.sg.getInstance();var =
val=3Dsg.getCookie("prevevt");if(val){ncbi.sg.ping(val);sg.setCookie("pre=
vevt","");}},sendAl:function(data,callbackFnc,isAsync){data+=3D"&sgVersio=
n=3D"+ncbi.sg._version;if(this.isDebugMode){console.info("al Sent: =
\n"+data);}var ref=3Dthis;var =
port=3D(window.location.port.length>0)?":"+window.location.port:"";var =
reqURL=3Dwindow.location.protocol+"//"+window.location.hostname+port+"/st=
at?"+data;this.makeAjaxCall(reqURL,function(){if(ref.isDebugMode){console=
.info("al: done");}if(typeof =
callbackFnc=3D=3D=3D"function"){callbackFnc();}},isAsync);},_processingQu=
eue:[],isProcessRunning:false,addSGProcess:function(data){this._processin=
gQueue.push(data);},getSGProcess:function(data){return =
this._processingQueue.shift(data);},runSGProcess:function(){if(this.isPro=
cessRunning||this._processingQueue.length=3D=3D=3D0||!this._hasInitRun){r=
eturn false;}this.isProcessRunning=3Dtrue;this.removeAllEntries();var =
nextSet=3Dthis.getSGProcess();this._setUpSubsetOmnValues(nextSet.metadata=
);if(this.isDebugMode){console.info("Now sg "+nextSet.eventName+" to the =
server");}this.addEntry("jsevent",nextSet.eventName);for(var entry in =
nextSet.props){this.addEntry(entry,nextSet.props[entry]);}this.send(nextS=
et.eventName,nextSet.callbackFnc);var =
ref=3Dthis;setTimeout(function(){ref.isProcessRunning=3Dfalse;ref.runSGPr=
ocess();},300);},noteEventData:function(jsEventName,custprops,metaData,ca=
llbackFnc){if(this.isDebugMode){console.info("Adding "+jsEventName+" to =
the =
queue");}this.addSGProcess({"eventName":jsEventName,"props":custprops,"me=
tadata":metaData,"callback":callbackFnc});this.runSGProcess();},setCookie=
:function(c_name,value,expiredays){var exdate=3Dnew =
Date();if(expiredays!=3D=3Dnull){exdate.setDate(exdate.getDate()+expireda=
ys);}document.cookie=3Dc_name+"=3D"+escape(value)+((expiredays=3D=3D=3Dnu=
ll)?"":"; expires=3D"+exdate.toGMTString())+"; =
domain=3D"+escape(".nih.gov")+"; =
path=3D/";},getCookie:function(c_name){if(document.cookie.length>0){var =
c_start=3Ddocument.cookie.indexOf(c_name+"=3D");if(c_start!=3D-1){c_start=
=3Dc_start+c_name.length+1;var =
c_end=3Ddocument.cookie.indexOf(";",c_start);if(c_end=3D=3D-1){c_end=3Ddo=
cument.cookie.length;}return =
unescape(document.cookie.substring(c_start,c_end));}}return"";},getTransp=
ort:function(){var req=3Dnull;if(window.XMLHttpRequest){try{req=3Dnew =
XMLHttpRequest();this.getTransport=3Dfunction(){return new =
XMLHttpRequest();};}catch(e0){req=3Dnull;}}if(window.ActiveXObject&&req=3D=
=3D=3Dnull){try{req=3Dnew =
ActiveXObject("Msxml2.XMLHTTP");this.getTransport=3Dfunction(){return =
new ActiveXObject("Msxml2.XMLHTTP");};}catch(e1){try{req=3Dnew =
ActiveXObject("Microsoft.XMLHTTP");this.getTransport=3Dfunction(){return =
new =
ActiveXObject("Microsoft.XMLHTTP");};}catch(e2){req=3Dfalse;}}}if(req=3D=3D=
=3Dnull){this.getTransport=3Dfunction(){return null;};}return =
this.getTransport();},makeAjaxCall:function(url,callback,isAsync){var =
xhr=3Dthis.getTransport();xhr.open("GET",url,isAsync);if(isAsync){xhr.onr=
eadystatechange=3Dfunction(){if(xhr.readyState=3D=3D=3D4){callback(xhr);}=
};}ncbi.sg.lastPing=3Dxhr;xhr.send(null);},scrollDetails:{maxScroll_x:0,m=
axScroll_y:0,currScroll_x:0,currScroll_y:0,hasScrolled:false},_addOnScrol=
lListeners:function(){var osc=3Dwindow.onscroll;var =
scrollDetails=3Dthis.scrollDetails;window.onscroll=3Dfunction(){scrollDet=
ails.currScroll_y=3Dwindow.pageYOffset||document.documentElement.scrollTo=
p||document.body.scrollTop||0;scrollDetails.currScroll_x=3Dwindow.pageXOf=
fset||document.documentElement.scrollLeft||document.body.scrollLeft||0;if=
(scrollDetails.maxScroll_y<scrollDetails.currScroll_y){scrollDetails.maxS=
croll_y=3DscrollDetails.currScroll_y;}if(scrollDetails.maxScroll_x<scroll=
Details.currScroll_x){scrollDetails.maxScroll_x=3DscrollDetails.currScrol=
l_x;}scrollDetails.hasScrolled=3Dtrue;if(typeof =
osc=3D=3D=3D"function"){return =
osc(a,b,c);}};},getScrollDetails:function(obj){var =
sd=3Dthis.scrollDetails;sd.currScroll_y=3Dwindow.pageYOffset||document.do=
cumentElement.scrollTop||document.body.scrollTop||0;sd.currScroll_x=3Dwin=
dow.pageXOffset||document.documentElement.scrollLeft||document.body.scrol=
lLeft||0;if(!obj)obj=3D{};obj.maxScroll_x=3Dsd.maxScroll_x;obj.maxScroll_=
y=3Dsd.maxScroll_y;obj.currScroll_x=3Dsd.currScroll_x;obj.currScroll_y=3D=
sd.currScroll_y;obj.hasScrolled=3Dsd.hasScrolled;return =
obj;}};ncbi.sg.lastPing=3Dnull;ncbi.sg.hasNotedErrorEvent=3Dfalse;(functi=
on(){var =
oe=3Dwindow.onerror;window.onerror=3Dfunction(a,b,c){if(this.isDebugMode&=
&console.warn){console.warn("sg error to server to be investigated: =
\n"+a+"\n"+b+"\n"+c);}if(ncbi.sg.hasNotedErrorEvent){if(this.isDebugMode)=
{console.info("Already found one error for this page, not sending =
another error =
report");}return;}ncbi.sg.getInstance().noteEventData("jserror",{"jserror=
":c+": =
"+a,"jserrortype":b},["ncbi_sessionid","ncbi_phid"]);ncbi.sg.hasNotedErro=
rEvent=3Dtrue;if(typeof oe=3D=3D=3D"function"){return oe(a,b,c);}};var =
obul=3Dwindow.onbeforeunload;window.onbeforeunload=3Dfunction(e){pingHit(=
);var ts=3Dnew Date().getTime()+ncbi.sg.timeDelay;var endTime=3Dnew =
Date(ts);if(ncbi.sg.lastPing&&ncbi.sg.lastPing.readyState<4){while(new =
Date()<endTime&&ncbi.sg.lastPing.readyState<4){}}if(typeof =
obul=3D=3D=3D"function"){return obul(e);}};var hits=3D[];var =
loggedHits=3D[];var processedHits=3D[];function addHit(hitObj){var =
queLen=3Dhits.length;var histLen=3DprocessedHits.length;var =
lastHit=3DqueLen>0?hits[queLen-1]:histLen>0?processedHits[histLen-1]:null=
;if(lastHit!=3D=3Dnull){if(hitObj.elem=3D=3DlastHit.elem){if((lastHit.flo=
odTstamp&&hitObj.floodTstamp-lastHit.tstamp<=3D400)||(hitObj.tstamp-lastH=
it.tstamp<=3D400)){lastHit.floodTstamp=3Dnew Date().getTime();return =
false;}}lastHit.floodTstamp=3Dnew =
Date().getTime();}hits.push(hitObj);return true;}var =
hasUnloadHappened=3Dfalse;function =
pingHit(){ncbi.sg.getInstance().setCookie("ncbi_prevPHID",ncbi.sg.getInst=
ance().currentPageHitId);if(hits.length>0){while(hits.length>0){sendClick=
(hits.pop());}}var =
details=3D{"jsevent":"unload","ncbi_pingaction":"unload"};ncbi.sg.getInst=
ance().getScrollDetails(details);if(!hasUnloadHappened){ncbi.sg.ping(deta=
ils);}hasUnloadHappened=3Dtrue;}function =
reassignOnclick(elem){if(!elem){return;}if(elem.onclick){elem.onclick_=3D=
elem.onclick;}if(elem.oncontextmenu){elem.oncontextmenu_=3Delem.oncontext=
menu;}}function noteClick(detail){for(var =
i=3Dhits.length-1;i>=3D-1;i--){if(hits[i]=3D=3Ddetail){hits.slice(i,1);br=
eak;}}sendClick(detail);}function =
sendClick(detail,additionalData){if(loggedHits.indexOf(detail.tstamp)!=3D=
=3D-1){return;}loggedHits.push(detail.tstamp);processedHits.push(detail);=
sendElementEvent("click",detail,additionalData);}function =
sendElementEvent(jsEventName,detail,additionalData){var =
parmId=3D(jsEventName=3D=3D=3D"click")?"link":"elem";var =
linkObj=3Ddetail.link;var evt=3Ddetail.evt;var =
link_id=3DlinkObj.id||"";var link_name=3DlinkObj.name||"";var =
link_sid=3DlinkObj.sid||"";var link_href=3DlinkObj.href||"";var =
link_text=3DlinkObj.innerText||linkObj.textContent||"";if(link_text.lengt=
h>50){link_text=3Dlink_text.substr(0,50);}var =
link_ref=3DlinkObj.getAttribute("ref")||linkObj.ref||"";var =
link_class=3DlinkObj.className.replace(/^\s?/,"").replace(/\s?$/,"").spli=
t(/\s/g).join(",")||"";var ancestorId=3D[];var =
ancestorClassName=3D[];var =
parObj=3DlinkObj.parentNode;if(parObj){for(var =
i=3D0;i<6&&parObj!=3D=3Dnull;i++){parId=3DparObj.id;if(parId){ancestorId.=
push(parId);}parClassName=3DparObj.className;if(parClassName){ancestorCla=
ssName=3DancestorClassName.concat(parClassName.split(/\s/));}parObj=3Dpar=
Obj.parentNode;}}var =
phid=3Dncbi.sg.getInstance().currentPageHitId||"";var =
data=3D[];if(link_id.length>0){data.push(parmId+"_id=3D"+encodeURICompone=
nt(link_id));}if(link_name.length>0){data.push(parmId+"_name=3D"+encodeUR=
IComponent(link_name));}if(link_sid.length>0){data.push(parmId+"_sid=3D"+=
encodeURIComponent(link_sid));}if(link_href.length>0){data.push(parmId+"_=
href=3D"+encodeURIComponent(link_href));}if(link_text.length>0){data.push=
(parmId+"_text=3D"+encodeURIComponent(link_text));}if(link_class.length>0=
){data.push(parmId+"_class=3D"+encodeURIComponent(link_class));}for(var =
itm in evt){var =
val=3Devt[itm];if(val!=3D=3Dundefined){data.push(itm.toLowerCase()+"=3D"+=
val.toString());}}data.push("jsevent=3D"+jsEventName);if(link_ref.length>=
0){data.push(link_ref);}if(typeof jQuery!=3D=3D"undefined"){var =
linkSG=3DjQuery(linkObj).attr("sg");if(linkSG){var =
sgData=3DlinkSG.split(/\}\s*,\s*\{/);for(var =
i=3D0;i<sgData.length;i++){var =
matchedData=3DsgData[i].match(/name\s*:\s*'(.+)',\s*selector\s*:\s*'(.+)'=
/);if(matchedData.length!=3D=3D3){continue;}var =
propName=3D"cust_"+matchedData[1];var =
propVal=3DjQuery(matchedData[2]).val();data.push(propName+"=3D"+encodeURI=
Component(propVal));}}}if(additionalData&&additionalData.length>0){while(=
additionalData.length>0){data.push(additionalData.shift());}}if(ancestorI=
d.length>0){data.push("ancestorId=3D"+ancestorId.join(","));}if(ancestorC=
lassName.length>0){data.push("ancestorClassName=3D"+ancestorClassName.joi=
n(","));}var =
isAsynchronous=3D!ncbi.sg.isSafari;ncbi.sg.ping(data,isAsynchronous);if(j=
sEventName=3D=3D=3D"click"){var =
strRec=3Ddata.join("&").replace("jsevent=3Dclick","jsevent=3Dclicknext");=
;ncbi.sg.getInstance().setCookie("prevevt",strRec);}}ncbi.sg.sendElementE=
vent=3DsendElementEvent;function getCommonEventDetails(evt){var =
eventDetails=3D{};ncbi.sg.getInstance().getScrollDetails(eventDetails);if=
(evt){if(evt.clientX||evt.clientY){eventDetails.evt_coor_x=3Devt.clientX+=
eventDetails.currScroll_x;eventDetails.evt_coor_y=3Devt.clientY+eventDeta=
ils.currScroll_y;}else =
if(evt.pageX||evt.pageY){eventDetails.evt_coor_x=3Devt.pageX;eventDetails=
.evt_coor_y=3Devt.pageY;}}return =
eventDetails;}ncbi.sg.clickTimers=3D[];function =
linkLoop(links,linkCurr,linkLen){function =
_clicky(evt,elem,args,method){ncbi.sg.getInstance().setCookie("ncbi_prevP=
HID",ncbi.sg.getInstance().currentPageHitId);var =
eventDetails=3DgetCommonEventDetails(evt);eventDetails.iscontextmenu=3D(m=
ethod=3D=3D=3D"contextmenu")?"true":"false";var =
clickDetails=3D{"evt":eventDetails,"link":elem,tstamp:new =
Date().getTime(),floodTstamp:new =
Date().getTime()};noteClick(clickDetails);if(ncbi.sg.clickTimers){window.=
clearTimeout(ncbi.sg.clickTimers);}ncbi.sg.clickTimers=3Dwindow.setTimeou=
t(function(){ncbi.sg.clickTimers=3Dnull;},300);var =
returnData=3Dnull;function runDefault(meth){var =
fixEvent=3Dfunction(e){if(typeof =
e.preventDefault=3D=3D=3D"undefined")e.preventDefault=3Dfunction(){this.r=
eturnValue=3Dfalse;};if(typeof =
e.stopPropagation=3D=3D=3D"undefined")e.stopPropagation=3Dfunction(){this=
.cancelBubble=3Dtrue;};return e;};var fixedEvt=3DfixEvent(evt);var =
argsAdj=3D[fixedEvt];for(var =
i=3D0;i<args.length;i++){argsAdj.push(args[i]);}returnData=3Delem[meth].a=
pply(elem,argsAdj);}if(method=3D=3D=3D"click"&&typeof =
elem.onclick_=3D=3D=3D"function"){runDefault("onclick_");}else =
if(method=3D=3D=3D"contextmenu"&&typeof =
elem.oncontextmenu_=3D=3D=3D"function"){runDefault("oncontextmenu_");}if(=
returnData!=3D=3Dnull||returnData!=3D=3Dundefined){return =
returnData;}}for(var i=3D0;i<10&&linkCurr<linkLen;i++){var =
elem=3Dlinks[linkCurr];if(elem&&!elem._sg){elem._sg=3Dtrue;reassignOnclic=
k(elem);elem.onclick=3Dfunction(e){var evt=3De||window.event;var =
returnData=3Dnull;returnData=3D_clicky(evt,this,arguments,"click");if(ret=
urnData!=3D=3Dnull||returnData!=3D=3Dundefined){return =
returnData;}};elem.oncontextmenu=3Dfunction(e){var =
evt=3De||window.event;var =
returnData=3Dnull;returnData=3D_clicky(evt,this,arguments,"contextmenu");=
if(returnData!=3D=3Dnull||returnData!=3D=3Dundefined){return =
returnData;}};}linkCurr++;}if(linkCurr<linkLen){var =
nFnc=3Dfunction(){linkLoop(links,linkCurr,linkLen);};var =
t=3Dwindow.setTimeout(nFnc,0);}}if(typeof =
ncbi.sg.isClickEnabled=3D=3D=3D"undefined"){var =
metas=3Ddocument.getElementsByTagName("meta");var i=3Dmetas.length-1;var =
isClickEnabled=3Dtrue;while(i>=3D0){if(metas[i].name.toLowerCase()=3D=3D=3D=
"ncbi_clickdisabled"){isClickEnabled=3Dmetas[i].content.toLowerCase()=3D=3D=
=3D"false";break;}i--;}ncbi.sg.isClickEnabled=3DisClickEnabled;}function =
scanLinks(){if(ncbi.sg.isClickEnabled){var =
lnks=3Ddocument.links;linkLoop(lnks,0,lnks.length);var =
btns=3Ddocument.getElementsByTagName("button");linkLoop(btns,0,btns.lengt=
h);var btns2=3D[];if(typeof =
jQuery!=3D=3D"undefined"){btns2=3DjQuery("input[type=3Dbutton], =
input[type=3Dsubmit], input[type=3Dreset]").get();}else{var =
fInputs=3Ddocument.getElementsByTagName("input");btns2=3D[];var =
i=3DfInputs.length-1;while(i>=3D0){var inp=3DfInputs[i];var =
typ=3Dinp.type;if(typ=3D=3D=3D"button"||typ=3D=3D=3D"submit"||typ=3D=3D=3D=
"reset"){btns2.push(inp);}i--;}}if(btns2.length>0){linkLoop(btns2,0,btns2=
.length);}}}scanLinks();ncbi.sg.scanLinks=3Dfunction(linkObjs){if(linkObj=
s){if(typeof linkObjs=3D=3D=3D"object"&&!(linkObjs instanceof =
Array)){linkObjs=3D[linkObjs];}linkLoop(linkObjs,0,linkObjs.length);}else=
{scanLinks();}};function =
_pingWithElement(elemObj,eventObj,jsEvent,additionalData){var =
elem=3DelemObj;var evtProps=3D{};var evtName=3Dnull;var =
addData=3Dnull;if(typeof =
eventObj=3D=3D=3D"string"){evtName=3DeventObj;addData=3DjsEvent;}else{evt=
Props=3DgetCommonEventDetails(eventObj);evtName=3DjsEvent;addData=3Daddit=
ionalData;}if(addData){var addDataType=3Dtypeof =
addData;if(addDataType=3D=3D=3D"string"){addData=3D[addData];}else =
if(addDataType=3D=3D=3D"object"&&!(addData instanceof Array)){var =
temp=3D[];for(prop in =
addData){temp.push(prop+"=3D"+addData[prop]);}addData=3Dtemp;}}var =
detail=3D{link:elem,evt:evtProps};ncbi.sg.sendElementEvent(evtName,detail=
,addData);}function _pingWithData(obj,isAsync){var data=3D[];if(typeof =
isAsync=3D=3D=3D"undefined"){isAsync=3Dtrue;}if(typeof =
obj=3D=3D=3D"object"&&!(obj instanceof Array)){for(var prop in =
obj){data.push(prop+"=3D"+encodeURIComponent(obj[prop]));}}else =
if(typeof obj=3D=3D=3D"string"){data.push(obj);}else{data=3Dobj;}var =
phid=3Dncbi.sg.getInstance().currentPageHitId||"";if(data.join("&").index=
Of("jsevent=3Dclicknext")!=3D=3D-1){if(phid.length>0){data.push("next_phi=
d=3D"+encodeURIComponent(phid));}}else{if(phid.length>0){data.push("ncbi_=
phid=3D"+encodeURIComponent(phid));}if(typeof =
ncbi.sg.loadTime!=3D=3D"undefined"){data.push("ncbi_timesinceload=3D"+(ne=
w =
Date()-ncbi.sg.loadTime));}}ncbi.sg.getInstance().sendAl(data.join("&"),n=
ull,isAsync);}ncbi.sg.ping=3Dfunction(obj,isAsyncOrEventObj,jsEvent,addit=
ionalData){if(typeof =
obj=3D=3D=3D"undefined"||obj=3D=3D=3Dnull){return;}if(typeof =
obj=3D=3D=3D"object"&&obj.nodeName!=3D=3Dundefined){_pingWithElement(obj,=
isAsyncOrEventObj,jsEvent,additionalData);}else{_pingWithData(obj,isAsync=
OrEventObj);}};ncbi.sg.loadTime=3Dnew =
Date();})();if(!Array.prototype.indexOf){Array.prototype.indexOf=3Dfuncti=
on(elt){var len=3Dthis.length>>>0;var =
from=3DNumber(arguments[1])||0;from=3D(from<0)?Math.ceil(from):Math.floor=
(from);if(from<0){from+=3Dlen;}for(;from<len;from++){if(from in =
this&&this[from]=3D=3D=3Delt){return from;}}return-1;};}
=0A=
// This code creates window.console if it doesn't exist.
// It also creates stub functions for those functions that are missing =
in window.console.
// (Safari implements some but not all of the firebug window.console =
methods--this implements the rest.)
(function() {
    var names =3D [ "log", "debug", "info", "warn", "error", "assert", =
"dir", "dirxml", "group",
                  "groupEnd", "time", "timeEnd", "count", "trace", =
"profile", "profileEnd" ];

    if (typeof(console) =3D=3D=3D 'undefined' || typeof console =
=3D=3D=3D "function" ) {
      //"typeof function" is needed see PP-769=20
      console =3D {};
    }

    for (var i =3D 0; i < names.length; ++i) {
       if (typeof(console[names[i]]) =3D=3D=3D 'undefined') {
          console[names[i]] =3D function() { return false; };
       }
    }
    ncbi.sg.getInstance().init();                         =20
})();

------=_NextPart_000_0000_01CBB62E.4C2F4BF0--
