Update eclipse.org-common

Signed-off-by: Christopher Guindon <chris.guindon@eclipse-foundation.org>
Change-Id: Ice6987edad66f1eec7e8f07783aa8958b5c5e759
diff --git a/eclipse.org-common/classes/ads/adReports.class.php b/eclipse.org-common/classes/ads/adReports.class.php
index 259fb4b..feb773c 100644
--- a/eclipse.org-common/classes/ads/adReports.class.php
+++ b/eclipse.org-common/classes/ads/adReports.class.php
@@ -29,7 +29,7 @@
 
   private $state = "";
 
-  public function AdReports() {
+  public function __construct() {
 
     $this->App = new App();
 
diff --git a/eclipse.org-common/classes/ads/campaign.class.php b/eclipse.org-common/classes/ads/campaign.class.php
index b296303..9435e33 100644
--- a/eclipse.org-common/classes/ads/campaign.class.php
+++ b/eclipse.org-common/classes/ads/campaign.class.php
@@ -109,7 +109,7 @@
   private $campaign_new_clicks = "";
 
 
-  public function Campaign() {
+  public function __construct() {
     $this->App = new App();
     // Require login for this page.
     $Session = $this->App->useSession(true);
diff --git a/eclipse.org-common/classes/ads/campaignImpression.class.php b/eclipse.org-common/classes/ads/campaignImpression.class.php
index e4aa40f..0a72ea2 100644
--- a/eclipse.org-common/classes/ads/campaignImpression.class.php
+++ b/eclipse.org-common/classes/ads/campaignImpression.class.php
@@ -53,7 +53,7 @@
    * @param string $_source
    * @param string $_remote_addr
    */
-  function CampaignImpression($_campaign_key, $_source, $_remote_addr) {
+  function __construct($_campaign_key, $_source, $_remote_addr) {
     $this->campaign_key = $_campaign_key;
     $this->source = $_source;
     $this->remote_addr = $_remote_addr;
diff --git a/eclipse.org-common/classes/ads/campaignManager.class.php b/eclipse.org-common/classes/ads/campaignManager.class.php
index 5c4005f..83b60da 100644
--- a/eclipse.org-common/classes/ads/campaignManager.class.php
+++ b/eclipse.org-common/classes/ads/campaignManager.class.php
@@ -38,7 +38,7 @@
   private $page_header_html = '';
 
 
-  public function CampaignManager() {
+  public function __construct() {
     parent::__construct();
 
     $Session = $this->App->useSession(true);
diff --git a/eclipse.org-common/classes/ads/downloadsBannerAd.class.php b/eclipse.org-common/classes/ads/downloadsBannerAd.class.php
index b120c5d..1979360 100644
--- a/eclipse.org-common/classes/ads/downloadsBannerAd.class.php
+++ b/eclipse.org-common/classes/ads/downloadsBannerAd.class.php
@@ -1,44 +1,36 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2016 Eclipse Foundation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+/**
+ * Copyright (c) 2016, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
  *
  * Contributors:
- *    Eric Poirier(Eclipse Foundation)
- *******************************************************************************/
+ *   Eric Poirier (Eclipse Foundation) - initial API and implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
 require_once("eclipseAds.class.php");
 
 class DownloadsBannerAd extends EclipseAds {
 
   public function __construct() {
-    parent::__construct($source);
+    parent::__construct();
 
-    $campaign = "PROMO_FRANCE2017_DOWNLOADS_PAGE";
-
+    $campaign = "";
     $content['body'] ="";
     $content['banner_styles'] = "";
 
-    if (date("Y/m/d") >= "2017/04/21" && date("Y/m/d") < "2017/05/06") {
-      $content['body'] ="Early registration prices end May 5! EclipseCon France 2017, June 21 - 22, Toulouse";
-      $content['banner_styles'] = "background-color:#ce2227;";
+    if ((time() >= strtotime("2018/02/26") && time() < strtotime("2018/04/05")) || (time() >= strtotime("2018/04/30") && time() < strtotime("2018/05/11"))) {
+      $content['body'] ="Register now for FOSS4G NA 2018 ~ St. Louis, Missouri ~ May 14 - 17, 2018";
+      $campaign = "PROMO_F4G2018_DOWNLOADS_PAGE";
     }
 
-    if (date("Y/m/d") >= "2017/05/10" && date("Y/m/d") < "2017/05/24") {
-      $content['body'] ="Register now for EclipseCon France 2017, June 21-22, Toulouse";
-      $content['banner_styles'] = "background-color:#3a7939;";
-    }
-
-    if (date("Y/m/d") >= "2017/06/07" && date("Y/m/d") < "2017/06/14") {
-      $content['body'] ="EclipseCon France: Two weeks left to register! June 21-22, Toulouse";
-      $content['banner_styles'] = "background-color:#F68B1F;";
-    }
-
-    if (date("Y/m/d") >= "2017/06/14" && date("Y/m/d") < "2017/06/21") {
-      $content['body'] ="Last week left to register for EclipseCon France! June 21-22, Toulouse";
-      $content['banner_styles'] = "background-color:#F68B1F;";
+    if ((time() >= strtotime("2018/04/16") && time() < strtotime("2018/04/30")) || (time() >= strtotime("2018/05/14") && time() < strtotime("2018/06/13"))) {
+      $content['body'] ="Register now for EclipseCon France 2018 ~ Toulouse, France ~ June 13 - 14, 2018";
+      $campaign = "PROMO_ECF2018_DOWNLOADS_PAGE";
     }
 
     $content['button_text'] = "Register Today!";
@@ -65,10 +57,11 @@
   protected function _build($layout = "", $type = "") {
 
     // Check if the ad should be printed depending on the date
-    if ((date("Y/m/d") >= "2017/04/21" && date("Y/m/d") < "2017/05/06") ||
-        (date("Y/m/d") >= "2017/05/10" && date("Y/m/d") < "2017/05/24") ||
-        (date("Y/m/d") >= "2017/06/07" && date("Y/m/d") < "2017/06/14") ||
-        (date("Y/m/d") >= "2017/06/14" && date("Y/m/d") < "2017/06/21")) {
+    if ((time() >= strtotime("2018/02/26") && time() < strtotime("2018/04/05")) || (time() >= strtotime("2018/04/30") && time() < strtotime("2018/05/11"))) {
+      $this->output = $this->ad->getHtml();
+    }
+
+    if ((time() >= strtotime("2018/04/16") && time() < strtotime("2018/04/30")) || (time() >= strtotime("2018/05/14") && time() < strtotime("2018/06/13"))) {
       $this->output = $this->ad->getHtml();
     }
   }
diff --git a/eclipse.org-common/classes/ads/eclipseAds.class.php b/eclipse.org-common/classes/ads/eclipseAds.class.php
index 06fe4fe..a101063 100644
--- a/eclipse.org-common/classes/ads/eclipseAds.class.php
+++ b/eclipse.org-common/classes/ads/eclipseAds.class.php
@@ -61,7 +61,7 @@
    * Constructor
    * @param string $source
    */
-  public function EclipseAds($source = "") {
+  public function __construct($source = "") {
     if ($source != "") {
       $this->source =  $source;
     }
diff --git a/eclipse.org-common/classes/ads/promotedPlugin.class.php b/eclipse.org-common/classes/ads/promotedPlugin.class.php
index 751a80b..250ee92 100644
--- a/eclipse.org-common/classes/ads/promotedPlugin.class.php
+++ b/eclipse.org-common/classes/ads/promotedPlugin.class.php
@@ -26,12 +26,12 @@
    * @param string $source
    *   The description of the location of the ad.
    */
-  public function PromotedPlugin($source = "") {
+  public function __construct($source = "") {
     parent::__construct($source);
 
-    /* Note: Keeping the next block as a reference. 
+    /* Note: Keeping the next block as a reference.
              If we decide to add the promoted plugins back to display */
-    
+
     /*$Ad = new Ad();
     $Ad->setTitle('Java 9 Support (Beta)');
     $this->_setMarketplaceNodeId('2393593', $Ad);
@@ -47,7 +47,7 @@
    * Custom implementation of _build()
    * @see EclipseAds::_build()
    */
-  protected function _build() {
+  protected function _build($layout = "", $type = "") {
     ob_start();
     include("tpl/promotedPlugin.tpl.php");
     $this->output = ob_get_clean();
diff --git a/eclipse.org-common/classes/ads/tpl/downloadsBannerAd.tpl.php b/eclipse.org-common/classes/ads/tpl/downloadsBannerAd.tpl.php
index 47aab36..262253f 100644
--- a/eclipse.org-common/classes/ads/tpl/downloadsBannerAd.tpl.php
+++ b/eclipse.org-common/classes/ads/tpl/downloadsBannerAd.tpl.php
@@ -1,24 +1,26 @@
 <?php
-/*******************************************************************************
- * Copyright (c) 2016 Eclipse Foundation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
+/**
+ * Copyright (c) 2016, 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
  *
  * Contributors:
- *    Eric Poirier (Eclipse Foundation) - initial API and implementation
- *******************************************************************************/
+ *   Eric Poirier (Eclipse Foundation) - initial API and implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
 
-<div class="downloads-bar-ad" style="<?php print $variables['banner_styles']?>">
+<div class="downloads-bar-ad">
   <div class="container">
     <div class="row">
       <div class="col-lg-20 col-md-18 downloads-bar-ad-white-shape">
         <p><?php print $variables['body']; ?></p>
       </div>
       <div class="col-lg-4 col-md-6 downloads-bar-ad-white-content">
-        <a class="btn btn-default" href="/go/<?php print $variables['button_url']; ?>"><?php print $variables['button_text']; ?></a>
+        <a class="btn btn-primary" href="/go/<?php print $variables['button_url']; ?>"><?php print $variables['button_text']; ?></a>
       </div>
     </div>
   </div>
diff --git a/eclipse.org-common/classes/directors/directors.class.php b/eclipse.org-common/classes/directors/directors.class.php
index d88c980..af77dcb 100644
--- a/eclipse.org-common/classes/directors/directors.class.php
+++ b/eclipse.org-common/classes/directors/directors.class.php
@@ -47,10 +47,12 @@
       // Replace periods in name
       $formatted_name = str_replace('.', '', $formatted_name);
 
+      $content = "";
       if (file_exists($file = $_SERVER['DOCUMENT_ROOT'] . $this->path_to_boardbio . '/' . $formatted_name . '.php')) {
         $content = file_get_contents($file);
       }
 
+      $img = "";
       if (!empty($info['OrganizationID'])) {
         $img = "<img src='http://www.eclipse.org/membership/scripts/get_image.php?id=". $info['OrganizationID'] ."&size=small'>";
       }
diff --git a/eclipse.org-common/classes/downloads/downloads.class.php b/eclipse.org-common/classes/downloads/downloads.class.php
index b6aba0f..f8318aa 100644
--- a/eclipse.org-common/classes/downloads/downloads.class.php
+++ b/eclipse.org-common/classes/downloads/downloads.class.php
@@ -14,7 +14,7 @@
 if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])){exit();}
 
 require_once(dirname(__FILE__) . "/DownloadsProject.class.php");
-require_once(dirname(__FILE__) . "/../../../membership/promo/promos.php");
+require_once($_SERVER['DOCUMENT_ROOT'] . "/membership/promo/promos.php");
 require_once(dirname(__FILE__) . "/eclipseInstaller.php");
 require_once(dirname(__FILE__) . "/../ads/promotedDownloads.class.php");
 require_once(dirname(__FILE__) . "/../ads/downloadsBannerAd.class.php");
@@ -37,7 +37,7 @@
 
   public function __construct() {
 
-    $this->Installer = new EclipseInstaller('oxygen/R');
+    $this->Installer = new EclipseInstaller('oxygen/R2');
     $this->Installer->setInstallerLayout('layout_a');
 
     $this->PromotedDownloads = New PromotedDownloads();
@@ -77,7 +77,7 @@
     $Project->setProjectType($this->projects['runtime_platforms']['title']);
     $Project->setDownloadUrl64Bit('https://www.eclipse.org/jetty/download.html');
     $Project->setLearnMoreUrl('http://www.eclipse.org/jetty/');
-    $Project->setProjectsAttributes('container','style','margin-left:9.7%;');
+    $Project->setProjectsAttributes('container','class','jetty-spacing');
     $this->newProject($Project);
 
     // Runtime Platforms item
diff --git a/eclipse.org-common/classes/downloads/eclipseInstaller.php b/eclipse.org-common/classes/downloads/eclipseInstaller.php
index 8287684..49ba97b 100644
--- a/eclipse.org-common/classes/downloads/eclipseInstaller.php
+++ b/eclipse.org-common/classes/downloads/eclipseInstaller.php
@@ -31,7 +31,7 @@
   /**
    * Constructor
    */
-  function EclipseInstaller($release = NULL) {
+  function __construct($release = NULL) {
     parent::__construct();
     $this->_addPlaform('Mac OS X');
     $this->_addPlaform('Windows');
diff --git a/eclipse.org-common/classes/downloads/tpl/downloadsCategory.tpl.php b/eclipse.org-common/classes/downloads/tpl/downloadsCategory.tpl.php
index 08ed7c9..cc0334b 100644
--- a/eclipse.org-common/classes/downloads/tpl/downloadsCategory.tpl.php
+++ b/eclipse.org-common/classes/downloads/tpl/downloadsCategory.tpl.php
@@ -12,7 +12,7 @@
 ?>
 
 <!-- RUNTIMES PLATFORM -->
-<div id="runtime-platforms" class="downloads-section">
+<div id="<?php print strtolower(str_replace(" ", "-", $category['title'])); ?>" class="downloads-section">
   <div class="container">
     <h2><span class="downloads-title"><?php print $category['title']; ?></span></h2>
     <div class="row downloads-content-padding">
diff --git a/eclipse.org-common/classes/downloads/view/eclipseInstallerLayoutA.php b/eclipse.org-common/classes/downloads/view/eclipseInstallerLayoutA.php
index d16ce85..4819ea0 100644
--- a/eclipse.org-common/classes/downloads/view/eclipseInstallerLayoutA.php
+++ b/eclipse.org-common/classes/downloads/view/eclipseInstallerLayoutA.php
@@ -22,5 +22,5 @@
       <a class="<?php print $link['link_classes']; ?>" href="<?php print $link['url']; ?>" title="<?php print $link['text']; ?> Download"><?php print $link['text_prefix'] . ' ' . $link['text']; ?></a>
     <?php endforeach; ?>
   </p>
-  <p><a href="/downloads/eclipse-packages" class="grey-link">Download Packages</a></p>
+  <p><a href="/downloads/eclipse-packages" class="grey-link">Download Packages</a> | <a class="grey-link" href="/downloads/eclipse-packages/?show_instructions=TRUE#page-download" title="Instructions">Need Help?</a></p>
 </div>
\ No newline at end of file
diff --git a/eclipse.org-common/classes/friends/contribution.class.php b/eclipse.org-common/classes/friends/contribution.class.php
index 9cc3656..6903d8a 100644
--- a/eclipse.org-common/classes/friends/contribution.class.php
+++ b/eclipse.org-common/classes/friends/contribution.class.php
@@ -32,7 +32,7 @@
 
   private $table_prefix = '';
 
-  public function Contribution($testmode = FALSE) {
+  public function __construct($testmode = FALSE) {
     if ($testmode === TRUE){
       $this->table_prefix = 'testing_';
     }
@@ -137,7 +137,7 @@
           " . $App->returnQuotedString($App->sqlSanitize($this->getCurrency())) . ",
           " . $App->returnQuotedString($App->sqlSanitize($this->getProcessId())) .
           ")";
-      $App->eclipse_sql($sql);
+      return $App->eclipse_sql($sql);
     }
     return $result;
   }
@@ -156,7 +156,7 @@
           currency = " . $App->returnQuotedString($App->sqlSanitize($this->getCurrency())) . ",
           process_id = " . $App->returnQuotedString($App->sqlSanitize($this->getProcessId())) . "
           WHERE contribution_id = " . $App->returnQuotedString($App->sqlSanitize($this->getContributionID()));
-      $App->eclipse_sql($sql);
+      return $App->eclipse_sql($sql);
     }
     else {
       $result = -1;
diff --git a/eclipse.org-common/classes/friends/donation.class.php b/eclipse.org-common/classes/friends/donation.class.php
index 2bd6864..35b012f 100644
--- a/eclipse.org-common/classes/friends/donation.class.php
+++ b/eclipse.org-common/classes/friends/donation.class.php
@@ -101,7 +101,7 @@
 
   public $table_prefix = FALSE;
 
-  public function Donation($test_mode = FALSE)  {
+  public function __construct($test_mode = FALSE)  {
     if ($test_mode === TRUE){
       $this->table_prefix = 'testing_';
     }
diff --git a/eclipse.org-common/classes/friends/donationEmails.class.php b/eclipse.org-common/classes/friends/donationEmails.class.php
index 8a8d111..f8b0097 100644
--- a/eclipse.org-common/classes/friends/donationEmails.class.php
+++ b/eclipse.org-common/classes/friends/donationEmails.class.php
@@ -94,13 +94,13 @@
    *
    * @param stdClass $Donation
    */
-  public function DonationEmails($Donation) {
+  public function __construct($Donation) {
     $this->App = new App();
     $this->Donation = $Donation;
     if ($Donation->table_prefix == 'testing_') {
       $this->_set_test_mode(TRUE);
     }
-    $this->_set_email_headers('From: Eclipse Webmaster (automated) <webmaster@eclipse.org>'. PHP_EOL .'Bcc: donate@eclipse.org'. PHP_EOL .'Content-Type: text/plain; charset=UTF-8');
+    $this->_set_email_headers('From: Eclipse Webmaster (automated) <webmaster@eclipse.org>'. PHP_EOL .'Content-Type: text/plain; charset=UTF-8');
     $this->_set_email_foe_logo_link('https://dev.eclipse.org/site_login/myaccount.php');
     $this->_set_email_code('ECLIPSECON', 'FRIEND');
     $this->_set_email_code('OREILLY', 'PCBW');
@@ -129,29 +129,44 @@
       $this->_get_email_donor();
     }
 
-    // Check if the donation is at the friend, best_friend or webmaster_idol level
+    // Check if the donation is at the friend, best_friend or webmaster_idol
+    // level
     if ($level == 'friend' || $level == 'best_friend' || $level == 'webmaster_idol') {
       $this->_get_email_friend();
     }
 
     $EventLog = new EvtLog();
+    // Bug 519257 - Donations spam
+    $fields = array(
+      'LogAction' => "DONATION_EMAIL_SENT",
+      'PK1' => $this->_get_email_to(),
+      'uid' => $transaction_id
+    );
+    $evt_log_results = EvtLog::fetchLogRecord($fields);
     if (!empty($this->email_to) && !empty($this->email_content)) {
       if ($this->_get_test_mode()) {
-        $this->email_content .= PHP_EOL . PHP_EOL . '--TEST MODE--' .PHP_EOL . PHP_EOL;
+        $this->email_content .= PHP_EOL . PHP_EOL . '--TEST MODE--' . PHP_EOL . PHP_EOL;
         ob_start();
-        print 'This email is addressed to: ' . $this->_get_email_to() .PHP_EOL . PHP_EOL;
+        print 'This email is addressed to: ' . $this->_get_email_to() . PHP_EOL . PHP_EOL;
         print_r($this);
         $this->email_content .= ob_get_clean();
       }
-      mail($this->_get_email_to(),  "Thank You For Your Donation", $this->_get_email_content(), $this->_get_email_headers());
       $EventLog->setPK1($this->_get_email_to());
-      $EventLog->setLogAction("DONATION_EMAIL_SENT");
+      if (empty($evt_log_results)) {
+        mail($this->_get_email_to(), "Thank You For Your Donation", $this->_get_email_content(), $this->_get_email_headers());
+        $EventLog->setLogAction("DONATION_EMAIL_SENT");
+      }
+      else {
+        $EventLog->setLogAction("DONATION_EMAIL_ALREADY_SENT");
+      }
     }
     else {
       $EventLog->setPK1($level);
       $EventLog->setLogAction("DONATION_EMAIL_NOT_SENT");
     }
-    $EventLog->setLogTable("__paypal.class"); // To make browsing the log table easier
+
+    // To make browsing the log table easier
+    $EventLog->setLogTable("__paypal.class");
     $EventLog->setPK2($_SERVER['REMOTE_ADDR']);
     $EventLog->insertModLog($transaction_id);
     return $this->email_content;
@@ -246,7 +261,7 @@
    */
   private function _get_email_donor() {
     $email = $this->_get_email_greeting_string();
-    $email .= "Thank you for your donation. Your support is greatly appreciated and your donation will help make the Eclipse Platform even better for millions of developers around the world." . PHP_EOL . PHP_EOL;
+    $email .= "Thank you for your donation. Your support is greatly appreciated and your donation will help make the Eclipse Community even better for millions of developers and users around the world." . PHP_EOL . PHP_EOL;
     $email .= $this->_get_email_footer_string();
     $this->email_content = $email;
   }
@@ -264,9 +279,9 @@
     );
     $query_string = http_build_query($query);
     $email = $this->_get_email_greeting_string();
-    $email .= "Thank you for your donation. Your support is greatly appreciated and your donation will help make the Eclipse Platform even better for millions of developers around the world." . PHP_EOL . PHP_EOL;
+    $email .= "Thank you for your donation. Your support is greatly appreciated and your donation will help make the Eclipse Community even better for millions of developers and users around the world." . PHP_EOL . PHP_EOL;
     $email .= "You’ve donated more than 35 USD, which means that you are now a Friend of Eclipse (FoE)! You will now be identified as a FoE with a Friend badge for your Eclipse Account and Bugzilla. Use this personalized link to login into your Eclipse Account to get access to the badge: https://" . $domain['domain'] . "/donate/link-account.php?" . $query_string . PHP_EOL . PHP_EOL;
-    $email .= "Finally, as a Friend, you also get 40% off print & 50% off ebooks at oreilly.com using the discount code " . $this->_get_email_code('OREILLY') . PHP_EOL . PHP_EOL;
+    //$email .= "Finally, as a Friend, you also get 40% off print & 50% off ebooks at oreilly.com using the discount code " . $this->_get_email_code('OREILLY') . PHP_EOL . PHP_EOL;
     $email .= $this->_get_email_footer_string();
     $this->email_content = $email;
   }
diff --git a/eclipse.org-common/classes/friends/donationList.class.php b/eclipse.org-common/classes/friends/donationList.class.php
index 8914290..0fc4bb6 100644
--- a/eclipse.org-common/classes/friends/donationList.class.php
+++ b/eclipse.org-common/classes/friends/donationList.class.php
@@ -30,7 +30,7 @@
 
   private $test_mode = FALSE;
 
-  public function DonationList($test_mode = FALSE){
+  public function __construct($test_mode = FALSE){
     $this->App = new App();
     if ($test_mode == TRUE){
       $this->test_mode = TRUE;
@@ -149,13 +149,13 @@
           <td style="text-align:left">
         <?php
           if ($_start >= $_pageValue) {
-                      ?><a href="<?=$previous;?>"><< Previous Page</a><?php
+                      ?><a href="<?php print $previous;?>">&lt;&lt; Previous Page</a><?php
           }
         ?>&nbsp;</td>
           <td style="text-align:right">
         <?php
           if (($_start + $_pageValue) < $_pageCount) {
-                      ?><a href="<?=$next;?>">Next Page >></a><?php
+                      ?><a href="<?php print $next;?>">Next Page &gt;&gt;</a><?php
           }
         ?>
           </td>
@@ -245,7 +245,7 @@
       foreach ($friendsContributions as $contributions) {
         $result = array();
         $result['Friend'] = $contributions->getFriendObject();
-        $name = ucfirst(strtolower($result['Friend']->getFirstName())) . ' ' . ucfirst(strtolower($result['Friend']->getLastName()));
+        $name = ucwords(strtolower($result['Friend']->getFirstName())) . ' ' . ucwords(strtolower($result['Friend']->getLastName()));
         if ($name == " ") {
           $name = 'Anonymous';
         }
diff --git a/eclipse.org-common/classes/friends/donor.class.php b/eclipse.org-common/classes/friends/donor.class.php
index 6fb9bc1..fb69bce 100644
--- a/eclipse.org-common/classes/friends/donor.class.php
+++ b/eclipse.org-common/classes/friends/donor.class.php
@@ -75,7 +75,7 @@
    */
   public $Friend = NULL;
 
-  public function Donor($test_mode)  {
+  public function __construct($test_mode)  {
     $Session = New Session();
     $Friend = $Session->getFriend();
     $fid = $Friend->getFriendID();
@@ -130,7 +130,7 @@
    * Get donor first name
    */
   public function get_donor_first_name() {
-    return ucfirst(strtolower($this->donor_first_name));
+    return ucwords(strtolower($this->donor_first_name));
   }
 
   /**
@@ -147,7 +147,7 @@
    * Get donor last name
    */
   public function get_donor_last_name() {
-    return ucfirst(strtolower($this->donor_last_name));
+    return ucwords(strtolower($this->donor_last_name));
   }
 
   /**
@@ -203,7 +203,7 @@
    */
   public function set_donor_first_name($name) {
     $name = filter_var($name, FILTER_SANITIZE_STRING);
-    $name = ucfirst(strtolower($name));
+    $name = ucwords(strtolower($name));
     if ($name != "") {
       $this->donor_first_name = $name;
     }
@@ -221,7 +221,7 @@
    */
   public function set_donor_last_name($name) {
     $name = filter_var($name, FILTER_SANITIZE_STRING);
-    $name = ucfirst(strtolower($name));
+    $name = ucwords(strtolower($name));
     if ($name != "") {
       $this->donor_last_name = $name;
     }
diff --git a/eclipse.org-common/classes/friends/friend.class.php b/eclipse.org-common/classes/friends/friend.class.php
index 826f3fe..1f86ed2 100755
--- a/eclipse.org-common/classes/friends/friend.class.php
+++ b/eclipse.org-common/classes/friends/friend.class.php
@@ -40,7 +40,7 @@
 
   private $table_prefix = '';
 
-  public function Friend($testmode = FALSE) {
+  public function __construct($testmode = FALSE) {
     if ($testmode === TRUE){
       $this->table_prefix = 'testing_';
     }
diff --git a/eclipse.org-common/classes/friends/friendsContributions.class.php b/eclipse.org-common/classes/friends/friendsContributions.class.php
index 636c963..25545ad 100644
--- a/eclipse.org-common/classes/friends/friendsContributions.class.php
+++ b/eclipse.org-common/classes/friends/friendsContributions.class.php
@@ -23,7 +23,7 @@
   private $contributionObject;
 
   # default constructor
-  function FriendsContributions($testmode = FALSE) {
+  function __construct($testmode = FALSE) {
     $this->friend_id     = "";
     $this->contribution_id  = "";
     $this->friendObject  = new Friend($testmode);
diff --git a/eclipse.org-common/classes/friends/friendsContributionsList.class.php b/eclipse.org-common/classes/friends/friendsContributionsList.class.php
index e09c7b3..b271681 100644
--- a/eclipse.org-common/classes/friends/friendsContributionsList.class.php
+++ b/eclipse.org-common/classes/friends/friendsContributionsList.class.php
@@ -19,7 +19,7 @@
 
   private $table_prefix = "";
 
-  public function FriendsContributionsList($testmode = FALSE) {
+  public function __construct($testmode = FALSE) {
     if ($testmode === TRUE){
       $this->table_prefix = 'testing_';
     }
diff --git a/eclipse.org-common/classes/friends/payment.class.php b/eclipse.org-common/classes/friends/payment.class.php
index 4efeb56..a42c8fe 100644
--- a/eclipse.org-common/classes/friends/payment.class.php
+++ b/eclipse.org-common/classes/friends/payment.class.php
@@ -35,7 +35,7 @@
   /**
    * Constructor
    */
-  public function Payment() {
+  public function __construct() {
      parent::__construct();
   }
 
diff --git a/eclipse.org-common/classes/friends/paymentGateway.class.php b/eclipse.org-common/classes/friends/paymentGateway.class.php
index 8774d46..93378a7 100644
--- a/eclipse.org-common/classes/friends/paymentGateway.class.php
+++ b/eclipse.org-common/classes/friends/paymentGateway.class.php
@@ -48,6 +48,16 @@
   protected $gateway_notify_url = '';
 
   /**
+   * Location of the donation preprocess form for credit cards.
+   *
+   * This is the script that will redirect the user
+   * to the proper donation based off certain criteria.
+   *
+   * @var unknown
+   */
+  protected $gateway_credit_process_url = '';
+
+    /**
    * Location of the donation preprocess form.
    *
    * This is the script that will redirect the user
@@ -91,11 +101,13 @@
    */
   protected $gateway_url = '';
 
-  public function PaymentGateway()  {
+  public function __construct()  {
     parent::__construct();
     $this->Donation = new Donation($this->_get_debug_mode());
+    $domain = $this->getEclipseEnv();
     $this->_set_gateway_process_url('https://'. $this->_get_prefix_domain() . '/donate/process.php');
     $this->_set_gateway_return_url('https://'. $this->_get_prefix_domain() . '/donate/credit.php');
+    $this->_set_gateway_credit_process_url('https://'. $domain['accounts'] . '/donate/process');
   }
 
   /**
@@ -108,6 +120,14 @@
   }
 
   /**
+   * Get gateway process url
+   *
+   * @return unknown
+   */
+  public function get_gateway_credit_process_url() {
+    return $this->gateway_credit_process_url;
+  }
+  /**
    * Get gateway redirect value
    *
    * @return unknown
@@ -291,6 +311,17 @@
   }
 
   /**
+   * Set gateway process url
+   *
+   * @param string $url
+   */
+ protected function _set_gateway_credit_process_url($url = '') {
+   if (filter_var($url, FILTER_VALIDATE_URL)) {
+      $this->gateway_credit_process_url = $url;
+    }
+  }
+
+  /**
    * Set gateway redirect url
    *
    * @param string $url
diff --git a/eclipse.org-common/classes/membership/membership.class.php b/eclipse.org-common/classes/membership/membership.class.php
index 710980c..d63e6b1 100644
--- a/eclipse.org-common/classes/membership/membership.class.php
+++ b/eclipse.org-common/classes/membership/membership.class.php
@@ -229,7 +229,7 @@
       N.title,
       CTR.field_companyname_value as name,
       N.nid,
-      if(fv.field_version_value IS NULL ,'',MAX(fv.field_version_value)) as version,
+      CASE MAX(CAST(fv.field_version_value as INTEGER)) WHEN fv.field_version_value IS NULL THEN '' ELSE fv.field_version_value END as version,
       B.body_value as teaser
     FROM field_data_field_companyname as CTR
     INNER JOIN node as N on CTR.entity_id = N.nid
diff --git a/eclipse.org-common/classes/membership/membershipImage.class.php b/eclipse.org-common/classes/membership/membershipImage.class.php
index 244b43e..a441d44 100644
--- a/eclipse.org-common/classes/membership/membershipImage.class.php
+++ b/eclipse.org-common/classes/membership/membershipImage.class.php
@@ -34,7 +34,7 @@
 
 
 	# default constructor
-	function MemberImage() {
+	function __construct() {
 		$this->DEBUG = 0;
 	    $this->details[0] = -1;
 	    $this->details[1] = -1;
diff --git a/eclipse.org-common/classes/parser/feedparser.class.php b/eclipse.org-common/classes/parser/feedparser.class.php
index 2bf28c4..52e293c 100644
--- a/eclipse.org-common/classes/parser/feedparser.class.php
+++ b/eclipse.org-common/classes/parser/feedparser.class.php
@@ -1,5 +1,6 @@
 <?php
-/*******************************************************************************
+/**
+ * *****************************************************************************
  * Copyright (c) 2014 Eclipse Foundation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
@@ -7,135 +8,346 @@
  * http://eclipse.org/legal/epl-v10.html
  *
  * Contributors:
- *    Christopher Guindon (Eclipse Foundation) - Initial implementation
- *******************************************************************************/
+ * Christopher Guindon (Eclipse Foundation) - Initial implementation
+ * *****************************************************************************
+ */
 
 class FeedParser {
 
-	private $url = "";
+  /**
+   * List of rss paths
+   *
+   * @var string
+   */
+  private $path = array();
 
-	private $count = 4;
+  /**
+   * Default display count
+   *
+   * @var integer
+   */
+  private $count = 4;
 
-	private $description = TRUE;
+  /**
+   * Flag to only display press_releases
+   *
+   * @var string
+   */
+  private $press_release = FALSE;
 
-	private $press_release = FALSE;
+  /**
+   * Array of news item
+   *
+   * @var array
+   */
+  private $items = array();
 
-	private $items = array();
+  /**
+   * View more link values
+   *
+   * @var string
+   */
+  private $view_more = array();
 
-	private $more = "";
+  /**
+   * Link to feedburner feed
+   *
+   * @var string
+   */
+  private $rss_link = "";
 
-	private $rssLink = "";
+  /**
+   * Default date_format
+   *
+   * @var string
+   */
+  private $date_format = "Y/m/d";
 
-	private $date_format = "Y/m/d";
+  /**
+   * Default news item limit
+   *
+   * @var integer
+   */
+  private $limit = 200;
 
-	private $limit = 200;
+  /**
+   * Set date format
+   *
+   * @param string $format
+   */
+  public function setDateFormat($format = "Y/m/d") {
+    $this->date_format = $format;
+    return TRUE;
+  }
 
-	public function setUrl($url) {
-	  $this->url = $url;
-	}
+  /**
+   * Get date format
+   *
+   * @return string
+   */
+  public function getDateFormat() {
+    return $this->date_format;
+  }
 
-	public function setRssLink($url) {
-		$this->rssLink = '<a href="' . $url . '" class="link-rss-feed  orange" title="Subscribe to our RSS-feed"><i class="fa fa-rss"></i> <span>Subscribe to our RSS-feed</span></a>';
-	}
-
-	public function setPressReleaseFlag($flag = FALSE){
-    $this->press_release = $flag;
-	}
-
-	public function setCount($count) {
-		if (is_int($count)) {
-			$this->count = $count;
-		}
-	}
-
-	public function setLimit($limit) {
-		if (is_int($limit)) {
-			$this->limit = $limit;
-		}
-	}
-
-	public function setPressRelease($press_release = FALSE) {
-		$this->press_release = ($press_release) ? TRUE : FALSE;
-	}
-
-	public function setDescription($show = TRUE) {
-		$this->description = ($show) ? TRUE : FALSE;
-	}
-
-	public function setMore($url, $caption = 'View all', $prefix = '> ') {
-		$this->more = $prefix . '<a href="' . $url . '">' . $caption . '</a>';
-	}
-
-	private function parse_feed() {
-
-		if (empty($this->url)) {
-			return FALSE;
-		}
-
-
-		if (file_exists($this->url)) {
-		  $feed = simplexml_load_file($this->url);
-		}
-
-		$feed_array = array();
-		$count = 0;
-    if(isset($feed) && $feed != FALSE) {
-			foreach($feed->channel->item as $item){
-
-				if ($count >= $this->count) {
-					break;
-				}
-
-				if ($this->press_release && $item->pressrelease != 1) {
-	        continue;
-				}
-
-				$date = strtotime((string) $item->pubDate);
-				$date = date($this->date_format, $date);
-
-				$description = (string) $item->description;
-				if (strlen($description) > $this->limit) {
-					$description = substr(strip_tags($description, "<a>"), 0, $this->limit);
-					$description = strip_tags($description, "<a>");
-					$description .= "...";
-				}
-
-				$item_array = array (
-				  'title' => (string) $item->title,
-					'description' => $description,
-					'link' => (string) $item->link,
-					'date' => $date,
-				);
-
-				array_push($feed_array, $item_array);
-				$count++;
-			}
+  /**
+   * Set path for RSS feed
+   *
+   * @param string $url
+   */
+  public function addPath($path = "") {
+    if (is_string($path)) {
+      $this->path[] = $path;
+      return TRUE;
     }
-		$this->items = $feed_array;
-	}
+    return FALSE;
+  }
 
-	public function output() {
-		$this->parse_feed();
-		$output = '<div class="news_item_header">' . $this->rssLink . '</div>';
-		if (!empty($this->items)) {
-			foreach ($this->items as $item) {
-				$output .= '<div class="news_item">';
-				$output .= '<div class="news_item_date">' .$item['date'] . '</div>';
-				$output .= '<div class="news_item_title">';
-				$output .= '<h3><a href="' . $item['link'] . '">' . $item['title'] . '</a></h3>';
-				$output .= '</div>';
-				if ($this->description) {
-					$output .= '<div class="news_item_description">' .$item['description'] . '</div>';
-				}
-				$output .= '</div>';
-			}
-			if (!empty($this->more) || !empty($this->rssLink)) {
-				$output .= '<div class="news_view_all">' . $this->more . $this->rssLink . '</div>';
-			}
-		}
-		else {
-			$output = '<p>This news feed is currently empty. Please try again later.</p>';
-		}
-		print $output;
-	}
+  /**
+   * Get path for RSS feed
+   *
+   * @return string
+   */
+  public function getPath() {
+    return $this->path;
+  }
+
+  /**
+   * Set RSS link
+   *
+   * @param string $url
+   */
+  public function setRssLink($url = "") {
+    if (is_string($url)) {
+      $this->rss_link = $url;
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  /**
+   * Get RSS link
+   *
+   * @param string $html
+   *
+   * @return string
+   */
+  public function getRssLink() {
+    return $this->rss_link;
+  }
+
+  /**
+   * Get RSS link
+   *
+   * @param string $html
+   *
+   * @return string
+   */
+  public function getRssLinkHTML() {
+    $url = $this->getRssLink();
+    if (empty($url)) {
+      return "";
+    }
+    return '<a href="' . $url . '" class="link-rss-feed  orange" title="Subscribe to our RSS-feed"><i class="fa fa-rss"></i> <span>Subscribe to our RSS-feed</span></a>';
+  }
+
+  /**
+   * Set Press Release Flag
+   *
+   * @param string $flag
+   */
+  public function setPressRelease($flag = FALSE) {
+    if (is_bool($flag)) {
+      $this->press_release = $flag;
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  /**
+   * Get Press Release Flag
+   *
+   * @return string
+   */
+  public function getPressRelease() {
+    return $this->press_release;
+  }
+
+  /**
+   * Set item count
+   *
+   * @param number $count
+   */
+  public function setCount($count = 4) {
+    if (is_numeric($count)) {
+      $this->count = $count;
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  /**
+   * Get item count
+   *
+   * @return number $count
+   */
+  public function getCount() {
+    return $this->count;
+  }
+
+  /**
+   * Set description limit
+   *
+   * @param number $limit
+   */
+  public function setLimit($limit = 200) {
+    if (is_numeric($limit)) {
+      $this->limit = $limit;
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  /**
+   * Get description limit
+   *
+   * @return number $limit
+   */
+  public function getLimit() {
+    return $this->limit;
+  }
+
+  /**
+   * Set view_more link
+   *
+   * @param string $url
+   * @param string $caption
+   * @param string $prefix
+   */
+  public function setViewMoreLink($url = "", $caption = 'View all', $prefix = '> ') {
+    if (is_string($url) && is_string($caption) && is_string($prefix)) {
+      $this->view_more = array(
+        'url' => $url,
+        'caption' => $caption,
+        'prefix' => $prefix
+      );
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  /**
+   * Get ViewMore link
+   *
+   * @return string
+   */
+  public function getViewMoreLink() {
+    $view_more = $this->view_more;
+
+    if (empty($view_more['url']) || empty($view_more['caption'])) {
+      return array();
+    }
+
+    if (!isset($view_more['prefix'])) {
+      $view_more['prefix'] = "";
+    }
+
+    return $view_more;
+  }
+
+  /**
+   * Get view_more link (HTML)
+   *
+   * @return string
+   */
+  public function getViewMoreLinkHTML() {
+    $view_more = $this->getViewMoreLink();
+    if (empty($view_more)) {
+      return "";
+    }
+    return $view_more['prefix'] . '<a href="' . $view_more['url'] . '">' . $view_more['caption'] . '</a>';
+  }
+
+  /**
+   * Html Output
+   *
+   * @return string
+   */
+  public function output() {
+    if (!$this->_parseFeeds()) {
+      return '<p>This news feed is currently empty. Please try again later.</p>';
+    }
+
+    $output = '';
+    if (!empty($this->items)) {
+      $output = '<ul class="news-list-media list-unstyled">';
+      foreach ($this->items as $item) {
+        $output .= '<li><a href="' . $item['link'] . '" class="media media-link">';
+        $output .= '<p class="media-date">' . $item['date'] . '</p><h4 class="media-heading">' . $item['title'] . '</h4>';
+        if ($this->getLimit() > 0) {
+          $output .= '<p class="media-text">' . $item['description'] . '</p>';
+        }
+        $output .= ' </a></li>';
+      }
+      $output .= '</ul>';
+    }
+
+    return $output;
+  }
+
+  /**
+   * Parse the Feed
+   *
+   * @return boolean
+   */
+  private function _parseFeeds() {
+    $path = $this->getPath();
+    if (empty($path)) {
+      return FALSE;
+    }
+
+    $count = 0;
+    foreach ($path as $p) {
+      if (file_exists($p)) {
+        $feed = simplexml_load_file($p);
+      }
+
+      if (isset($feed) && $feed != FALSE) {
+        foreach ($feed->channel->item as $item) {
+          $feed_array = array();
+          if ($count >= $this->count) {
+            break;
+          }
+
+          if ($this->getPressRelease() && $item->pressrelease != 1) {
+            continue;
+          }
+
+          $date = strtotime((string) $item->pubDate);
+          $date = date($this->getDateFormat(), $date);
+
+          $description = (string) strip_tags($item->description);
+          if (strlen($description) > $this->getLimit()) {
+            $description = substr($description, 0, $this->limit);
+            $description .= "...";
+          }
+
+          $item_array = array(
+            'title' => (string) $item->title,
+            'description' => $description,
+            'link' => (string) $item->link,
+            'date' => $date
+          );
+
+          $this->items[] = $item_array;
+          $count++;
+        }
+      }
+    }
+
+    if (!empty($this->items)) {
+      return TRUE;
+    }
+    return FALSE;
+  }
+
 }
diff --git a/eclipse.org-common/classes/polls/poll.php b/eclipse.org-common/classes/polls/poll.php
index dd263a8..451d1b4 100644
--- a/eclipse.org-common/classes/polls/poll.php
+++ b/eclipse.org-common/classes/polls/poll.php
@@ -20,7 +20,7 @@
 # Author: 		Denis Roy
 # Date:			2006-02-02
 #
-# Description: Class to use polls  
+# Description: Class to use polls
 #
 #****************************************************************************
 
@@ -41,24 +41,24 @@
 	var $require_login	= false;
 	var $bugzilla_id	= 0;
 	var $error			= "";
-	
+
 	var $COOKIE_NAME = "ECLIPSE_INSTA_POLLS";
-	
+
 	# Initiate session
 	var $Session = 		null;
-	 	
-	var $poll_options	= array(); # Array of PollOption objects	
-	
-	
+
+	var $poll_options	= array(); # Array of PollOption objects
+
+
 	/**
 	 * Default constructor
 	 * @param int $poll_index  to identify the poll index on a page (for multiple polls)
 	 * @param string $poll_title
-	 * @param string $id optional static id to identify the poll, instead of the URL, so it can be used anywhere 
-	 * 
+	 * @param string $id optional static id to identify the poll, instead of the URL, so it can be used anywhere
+	 *
 	 */
-	function Poll($_poll_index, $_poll_title, $_id = null) {
-		
+	function __construct($_poll_index, $_poll_title, $_id = null) {
+
 		if($_id == null) {
 			$this->url			= $_SERVER['SCRIPT_NAME'];
 		}
@@ -68,26 +68,26 @@
 		$this->poll_index	= $_poll_index;
 		$this->poll_title	= $_poll_title;
 		$this->selectInsertPollID();  ## We need this before going on!
-		
-		
+
+
 		if(isset($_POST['poll_action' . $_poll_index])) {
 			$this->poll_action 	= $_POST['poll_action' . $_poll_index];
 		}
-		
+
 		$App = new App();
 		$this->Session = $App->useSession("optional");
-		
+
 		# Clean incoming
 		$this->url = str_replace("..", "", $this->url);
 		$this->url = str_replace(";", "", $this->url);
-		
+
 		if(!is_numeric($this->poll_index)) {
 			$this->poll_index = 1;
 		}
-			
+
 		# Determine the action to take.
 		if($this->poll_action == "vote" && $this->isVoteable()) {
-			
+
 			if($this->require_login && $this->Session->getBugzillaID() <= 0) {
 				# should not happen unless someone forces a post.
 				$this->error = "You must be logged in to vote.";
@@ -107,34 +107,34 @@
 
 	/**
 	 * fetch poll counts from the database
-	 * 
+	 *
 	 */
 	function selectPollCounts() {
 		# Get poll counts for poll id
-		
+
 		if($this->isValidPollID()) {
-		 
+
 			$App = new App();
-			
+
 			$this->total_votes = 0;
-			
-		    $sql = "SELECT 
+
+		    $sql = "SELECT
 						option_id,
 						answer_count
 		        	FROM
 						poll_options
 					WHERE poll_id = " . $this->poll_id;
-					
+
 		    $dbc = new DBConnectionPollsRW();
 		    $dbh = $dbc->connect();
-	
+
 		    $result = mysql_query($sql, $dbh);
-	
+
 			# find the right poll option, and increment the count
 		    while($myrow = mysql_fetch_array($result)) {
 				for($i = 0; $i < count($this->poll_options); $i++) {
 					$PollOption = $this->poll_options[$i];
-					
+
 					if($PollOption->option_id == $myrow['option_id']) {
 						$PollOption->answer_count 	= $myrow['answer_count'];
 						$this->total_votes 			+= $myrow['answer_count'];
@@ -143,13 +143,13 @@
 					}
 				}
 		    }
-	
+
 		    $dbc->disconnect();
 		    $dbh 	= null;
 		    $dbc 	= null;
 		    $result = null;
 		    $myrow	= null;
-		}		   
+		}
 	}
 
 
@@ -158,23 +158,23 @@
 	 * get poll id from db, or create if not found
 	 */
 	function selectInsertPollID() {
-		
+
 		if($this->isValidPollID()) {
 			# Get poll ID from the database, or create one if it doesn't exist.
 			$App = new App();
-			
-		    $sql = "SELECT 
+
+		    $sql = "SELECT
 						POL.poll_id, POL.require_login
 		        	FROM
 						polls AS POL
 					WHERE POL.url = " . $App->returnQuotedString($this->url) . "
 						AND POL.poll_index = " . $this->poll_index;
-					
+
 		    $dbc = new DBConnectionPollsRW();
 		    $dbh = $dbc->connect();
-	
+
 		    $result = mysql_query($sql, $dbh);
-	
+
 		    if($myrow = mysql_fetch_array($result)) {
 		            $this->poll_id  		= $myrow["poll_id"];
 		            $this->require_login	= $myrow['require_login'];
@@ -186,19 +186,19 @@
 							poll_index,
 							first_seen)
 						VALUES (
-							NULL,  
+							NULL,
 						" . $App->returnQuotedString($this->url) . ",
 						" . $this->poll_index . ",
 							CURDATE())";
-						
+
 				mysql_query($sql, $dbh);
 				$this->poll_id = mysql_insert_id($dbh);
-				
+
 				# Perform house cleaning when creating new polls
 				# Pass database handle to recycle the connection
 				$this->flushOldPolls($dbh);
 		    }
-	    	
+
 	    	$dbc->disconnect();
 	    	$dbh 	= null;
 	    	$dbc 	= null;
@@ -206,8 +206,8 @@
 	    	$myrow	= null;
 		}
 	}
-	
-	
+
+
 	/**
 	 * update poll count in db as a result of voting
 	 */
@@ -215,12 +215,12 @@
 
 		if($this->isValidPollID()) {
 			$App = new App();
-			
+
 			# if poll requires login, ensure client is logged in
 			$Session = $this->Session;
 			# echo "Session: " . $Session->getBugzillaID() . " Login req: " . $this->require_login; exit;
 			if( ($this->require_login && $Session->getBugzillaID() > 0) || !$this->require_login) {
-	    
+
 			    # we have the poll id, add a count
 			    $poll_option = $_POST['polloption'];
 				if(!is_numeric($poll_option)) {
@@ -229,47 +229,47 @@
 
 				$dbc = new DBConnectionPollsRW();
 			    $dbh = $dbc->connect();
-				
+
 				# Attempt to insert this user's vote in poll_login_votes.
 				# If it fails, the user has already voted and we must not continue
 				$error = false;
 				if($this->require_login && $Session->getBugzillaID() > 0) {
 					$sql = "INSERT INTO poll_login_votes (poll_id, bugzilla_id) VALUES (" . $this->poll_id . ", " . $Session->getBugzillaID() . ")";
 					mysql_query($sql, $dbh);
-				
+
 					if(mysql_affected_rows() <= 0) {
 						$error = true;
 					}
 				}
-				
+
 				if(!$error) {
-			    
+
 			    	$sql = "UPDATE poll_options SET
 								answer_count = answer_count + 1
 							WHERE
 								poll_id = " . $this->poll_id . "
-								AND option_id = " . $poll_option;  
-			
-			
+								AND option_id = " . $poll_option;
+
+
 					mysql_query($sql, $dbh);
-					
+
 					if(mysql_affected_rows() == 0) {
 						# Update failed.  Issue insert statement
 						$sql = "INSERT INTO poll_options (
 									poll_id,
-									option_id, 
+									option_id,
 									answer_count) VALUES (
 								" . $this->poll_id . ",
 								" . $poll_option . ",
-								1)";  
-									  
+								1)";
+
 						mysql_query($sql, $dbh);
 					}
-					
+
 					# put cookie on the browser to indicate user has voted
 					$this->setCookie();
-				} 
-		
+				}
+
 			    $dbc->disconnect();
 			    $dbh 	= null;
 			    $dbc 	= null;
@@ -278,8 +278,8 @@
 			}
 		}
 	}
-	
-	
+
+
 	/**
 	 * set cookie on the browser to avoid ballot stuffers
 	 */
@@ -288,18 +288,18 @@
 		 * Cookie is called ECLIPSE_INSTA_POLLS
 		 * We put a csv list of poll id's the user has voted on
 		 * all in one cookie.  Makes for fewer cookies on the browser
-		 * 
+		 *
 		 */
-		
+
 		$insta_polls = array();
 		if(isset($_COOKIE[$this->COOKIE_NAME])) {
 			$insta_polls = explode(",", $_COOKIE[$this->COOKIE_NAME]);
 		}
-		
+
 		if(!is_numeric(array_search($this->poll_id, $insta_polls))) {
 			$insta_polls[count($insta_polls)] = $this->poll_id;
-		} 
-		
+		}
+
 		setcookie($this->COOKIE_NAME, implode(",", $insta_polls), time()+604800, "/");
 	}
 
@@ -308,40 +308,40 @@
 	 * @return bool
 	 */
 	function isVoteable() {
-		
+
 		/*
 		 * isVoteable - used to determine if we display a form or just get the actual results
 		 */
-		
+
 		$rValue = false;
-				
+
 		$insta_polls = array();
 		if(isset($_COOKIE[$this->COOKIE_NAME])) {
 			$insta_polls = explode(",", $_COOKIE[$this->COOKIE_NAME]);
 		}
-		
+
 		if(!is_numeric(array_search($this->poll_id, $insta_polls))) {
 			$rValue = true;
 		}
 		return $rValue;
 	}
-	
-	
+
+
 	/**
 	 * Add a poll option to the object's array
 	 * @param string $option_id a 12-character alphanumeric key to represent the option
 	 * @param string $option_text
 	 */
-	function addOption($_option_id, $_option_text) {		
+	function addOption($_option_id, $_option_text) {
 		$PollOption = new PollOption();
 		$PollOption->poll_id = $this->poll_id;
 		$PollOption->option_id = $_option_id;
-		$PollOption->option_text = str_replace("\"", "'", $_option_text);	
-		
+		$PollOption->option_text = str_replace("\"", "'", $_option_text);
+
 		$this->poll_options[count($this->poll_options)] = $PollOption;
-		
+
 	}
-	
+
 	/**
 	 * disable graph display
 	 */
@@ -353,57 +353,57 @@
 	 * disable anonymous polls
 	 */
 	function requireLogin() {
-		
+
 		# the constructor should have read this state from the DB
 		# if we're setting requireLogin() and it's false in this object,
 		# then this is the first time we've set requireLogin
-		
+
 		if(!$this->require_login) {
-			
+
 			$this->require_login = true;
-		
+
 			$App = new App();
-				
+
 		    $dbc = new DBConnectionPollsRW();
 		    $dbh = $dbc->connect();
 			$sql = "UPDATE polls SET require_login = 1 WHERE poll_id = " . $this->poll_id;
-							
+
 			mysql_query($sql, $dbh);
-		    
-		    	
+
+
 	    	$dbc->disconnect();
 	    	$dbh 	= null;
 	    	$dbc 	= null;
 		}
 	}
-	
+
 	/**
 	 * generate HTML required for the poll
 	 * @return string
 	 */
 	function getHTML() {
-		
+
 		$rValue = "";
-		
+
 		if($this->poll_action == "" && $this->isVoteable()) {
-			
+
 			# display poll options
-		
+
 			$rValue = "<p><b>" . $this->poll_title . "</b><form method=\"post\">";
 			$rValue .= "<input type=\"hidden\" name=\"poll_index\" value=\"" . $this->poll_index . "\" />";
 			$rValue .= "<input type=\"hidden\" name=\"poll_action" . $this->poll_index . "\" value=\"vote\" />";
 			for($i = 0; $i < count($this->poll_options); $i++) {
 				$PollOption = $this->poll_options[$i];
-				
+
 				$rValue .= "<input type=\"radio\" name=\"polloption\" value=\"" . $PollOption->option_id . "\" />" . $PollOption->option_text . "<br />";
 			}
-			
+
 			if($this->error != "") {
 				$rValue .= "<font color='red'>Error: " . $this->error . "</font><br />";
 			}
-			
+
 			$Session = $this->Session;
-			
+
 			if($Session->getBugzillaID() <= 0 && $this->require_login) {
 				$rValue .= "You must be logged in to vote. Please login <a href='" . $Session->getLoginPageURL() . "'>here</a>.";
 			}
@@ -413,23 +413,23 @@
 		}
 
 		if($this->poll_action == "vote" || !($this->isVoteable())) {
-			
+
 			# display poll options
-			
+
 			$this->selectPollCounts();
-		
+
 			$rValue = "<p><b>Results: " . $this->poll_title . "</b></p>";
-			
+
 			for($i = 0; $i < count($this->poll_options); $i++) {
 				$PollOption = $this->poll_options[$i];
-				
+
 				$thisPercent = 0;
-				
+
 				if($this->total_votes > 0) {
 					$thisPercent = round($PollOption->answer_count / $this->total_votes * 100);
-				}				
+				}
 				$rValue .= $PollOption->option_text . ": " . $thisPercent . " %<br />";
-				
+
 				if($thisPercent > 0 && $this->show_graph) {
 					$rValue .= "<table height=\"9\" cellpadding=\"0\" cellspacing=\"0\"><td class=\"poll_start\" width=\"3\"></td><td width=\"$thisPercent\" class=\"poll_bar\"></td><td width=\"3\" class=\"poll_end\" style=\"font-size: 2pt;\">&nbsp;</td></tr></table><br />";
 				}
@@ -438,15 +438,15 @@
 				}
 
 			}
-			
-			
+
+
 			$rValue .= "<p><b>Total votes: </b>" . $this->total_votes . "</p>";
 		}
 
 		return $rValue;
 	}
-	
-	
+
+
 	/**
 	 * determine if poll_id is valid
 	 * @return bool
@@ -459,23 +459,23 @@
 			return false;
 		}
 	}
-	
+
 	/**
 	 * flush old polls and results.  Polls can still be used, this is simply for house cleaning.
 	 * This code should be run automatically when a new poll is created.
 	 * @param dbh $_dbh a writable database connection
-	 * 
+	 *
 	 */
 	function flushOldPolls($_dbh) {
 
-		# a Foreign Key constraint will enforce deletion of poll_options 
-		$sql = "DELETE FROM 
-					polls 
-				WHERE 
+		# a Foreign Key constraint will enforce deletion of poll_options
+		$sql = "DELETE FROM
+					polls
+				WHERE
 					first_seen <=  DATE_SUB(CURDATE(), INTERVAL 3 MONTH)";
 
 		mysql_query($sql, $_dbh);
-	
+
 	    $_dbh 	= null;
 	}
 }
diff --git a/eclipse.org-common/classes/projects/forge.class.php b/eclipse.org-common/classes/projects/forge.class.php
index 2426f74..8cd5924 100644
--- a/eclipse.org-common/classes/projects/forge.class.php
+++ b/eclipse.org-common/classes/projects/forge.class.php
@@ -212,4 +212,60 @@
     return $this->getId() == 'eclipse';
   }
 
+  /**
+   * Validate if url is a valid CI url
+   *
+   * @param string $url
+   * @return boolean
+   */
+  public function isValidCIUrl($url = "") {
+    // Verify the syntax of the given URL
+    if (!filter_var($url, FILTER_VALIDATE_URL)) {
+      return FALSE;
+    }
+
+    // get forge class from eclipse.org-common
+    $parsed_url = parse_url(strtolower($url));
+    if (!isset($parsed_url['path'])) {
+      // no path specified
+      return FALSE;
+    }
+    $host_parts = explode('.', $parsed_url['host']);
+
+    // main domain name should be 2nd from last
+    if (count($host_parts) < 2) {
+      // the build link url is very unlikely to be valid
+      return FALSE;
+    }
+
+    // check host is in the list of accepted domains
+    $hudson_domain = $this->getHudsonDomain();
+    if (!in_array($parsed_url['host'], $hudson_domain)) {
+      return FALSE;
+    }
+
+    // break the path into parts
+    $path_parts = explode('/', trim($parsed_url['path'], '/'));
+    if (empty($path_parts[0])) {
+      // first part is empty, parsed path had only contained '/'
+      return FALSE;
+    }
+
+    // check path size, should be 1 or 3 parts
+    if (count($path_parts) < 1 || count($path_parts) > 3) {
+      // path longer than expected
+      return FALSE;
+    }
+
+    if (count($path_parts) === 3) {
+      // some projects have hudson for first path part - should be project name
+      // 2nd part should be job if job specified (3rd part is build job name)
+      if ($path_parts[0] === 'hudson' || $path_parts[1] !== 'job') {
+        return FALSE;
+      }
+    }
+
+    return TRUE;
+  }
+
 }
\ No newline at end of file
diff --git a/eclipse.org-common/classes/projects/hipp.class.php b/eclipse.org-common/classes/projects/hipp.class.php
index 95b6dea..a45ab7e 100644
--- a/eclipse.org-common/classes/projects/hipp.class.php
+++ b/eclipse.org-common/classes/projects/hipp.class.php
@@ -73,13 +73,10 @@
    */
   public function getControlLink($id, $shortname){
     $state = $this->getState();
-    $str = "<span id='" . $shortname . "_state' class='" . $state . "'>" . ucfirst($state) . " (" . $this->getServiceVersion() . ")</span> &#160; <span id='" . $shortname . "_instance'>";
+    $str = "<span id='" . $shortname . "_state' class='" . $state . "'>" . ucfirst($state) . "</span> &#160; <span id='" . $shortname . "_instance'>";
 
     # Examine Service status to determine control knobs to place
     if ($state == "running") {
-      # Add STOP button
-      $str .= '<a title="stop" href="#ct" data-action="stop" data-projectid="' . $id . '" data-shortname="' . $shortname . '" class="hipp-control-action-link" ><i class="fa fa-power-off"></i></a> &#160; ';
-
       # Add RESTART button
       $str .= '<a title="restart" href="#ct" data-action="restart" data-projectid="' . $id . '" data-shortname="' . $shortname . '" class="hipp-control-action-link" ><i class="fa fa-refresh"></i></a>';
     }
@@ -89,16 +86,6 @@
       $str .= '<a title="start"  href="#ct" data-action="start" data-projectid="' . $id . '" data-shortname="' . $shortname . '" class="hipp-control-action-link" ><i class="fa fa-power-off"></i></a>';
     }
 
-    # Upgrade available?
-    if($this->getServiceLatestVersion("hipp") != $this->getServiceVersion() && $this->getServiceLatestVersion("hipp") != "" && $this->getServiceVersion() != "") {
-
-      $str .= '<br /><a title="upgrade"  href="#ct" data-action="upgrade" data-projectid="' . $id . '" data-shortname="' . $shortname . '" class="hipp-control-action-link" ><i class="fa fa-download"></i> Upgrade to ' . $this->getServiceLatestVersion("hipp") . '</a>';
-      $readme = $this->getReadmeContents("hipp", $this->getServiceLatestVersion("hipp"));
-      if($readme != "") {
-        $str .= "<br /><span id='" . $shortname . "_readme'><a title='readme'  href='#ct' data-action='readme' data-projectid='" . $id . "' data-shortname='" . $shortname . "' class='hipp-control-action-link'><i class='fa fa-file-o'></i> README for " . $this->getServiceLatestVersion("hipp") . '</a></span>';
-      }
-    }
-
     return $str . "</span>";
   }
 
@@ -196,7 +183,7 @@
 
     if ($_ProjectID != "") {
       $WHERE .= " WHERE SRV.ProjectID = " . $App->returnQuotedString($App->sqlSanitize($_ProjectID)) . "
-                  AND SRV.ServiceType = 'hipp'";
+                  AND SRV.ServiceType LIKE '_ipp'";
       $sql = "SELECT /*  hipp.class.php */
           SRV.ID,
           SRV.ProjectID,
@@ -246,22 +233,4 @@
     }
   }
 
-  /**
-   * getReadmeContents - Fetch README contents for a version
-   * @param string - Servicetype (HIPP), string Version (3.2.2)
-   * @return String
-   * @since 2015-02-26
-   * @author droy
-   */
-  function getReadmeContents($_ServiceType="hipp", $_version) {
-    $rValue = "";
-    if($_version != "") {
-      $_version = preg_replace($this->VersionRegexp, '', $_version);
-      $filename = $this->HIPPImagePath . "/hudson-" . $_version . ".README";
-      if(is_readable($filename)) {
-        $rValue = file_get_contents($filename);
-      }
-    }
-    return $rValue;
-  }
 }
\ No newline at end of file
diff --git a/eclipse.org-common/classes/projects/projectCategory.class.php b/eclipse.org-common/classes/projects/projectCategory.class.php
index 157e81e..58f0ffe 100644
--- a/eclipse.org-common/classes/projects/projectCategory.class.php
+++ b/eclipse.org-common/classes/projects/projectCategory.class.php
@@ -39,7 +39,7 @@
 
 
 	# default constructor
-	function projectCategory() {
+	function __construct() {
 		$this->project_id 		= "";
 		$this->category_id		= "";
 		$this->description 		= "";
diff --git a/eclipse.org-common/classes/projects/projectInfoData.class.php b/eclipse.org-common/classes/projects/projectInfoData.class.php
index 448ad30..984ac01 100644
--- a/eclipse.org-common/classes/projects/projectInfoData.class.php
+++ b/eclipse.org-common/classes/projects/projectInfoData.class.php
@@ -27,7 +27,7 @@
 	private $projectshortname; // Same reason as $projectname
 	private $inherited = false;
 
-	function ProjectInfoData( $projectid )
+	function __construct( $projectid )
 	{
 		$App = new App();
 		$this->original_projectid = $projectid;
@@ -181,7 +181,7 @@
 
 class ProjectInfoValues implements Countable {
 	private $rows;
-	function ProjectInfoValues( $projectinfo, $subrows ) {
+	function __construct( $projectinfo, $subrows ) {
 		$this->rows = $subrows;
 	}
 	function __get( $varname )
diff --git a/eclipse.org-common/classes/rest/committerpaperwork.class.php b/eclipse.org-common/classes/rest/committerpaperwork.class.php
index 43857c1..e754a28 100644
--- a/eclipse.org-common/classes/rest/committerpaperwork.class.php
+++ b/eclipse.org-common/classes/rest/committerpaperwork.class.php
@@ -152,6 +152,16 @@
   }
 
   /**
+   * Retire a committer from a specific project. (GET)
+   *
+   * @param string $username
+   * @param int $id
+   */
+  public function targetedActionRetireCommitter($username = NULL, $body = array()) {
+    return $this->post('committer/paperwork/' . $username . '/retire', json_encode($body));
+  }
+
+  /**
    * Validate a username
    *
    * @param string $username
diff --git a/eclipse.org-common/classes/rest/lib/eclipseussblob.class.php b/eclipse.org-common/classes/rest/lib/eclipseussblob.class.php
index 8eb66c5..43affa1 100644
--- a/eclipse.org-common/classes/rest/lib/eclipseussblob.class.php
+++ b/eclipse.org-common/classes/rest/lib/eclipseussblob.class.php
@@ -38,7 +38,7 @@
 
     switch ($this->getEnvShortName()) {
       case 'local':
-        $this->setBaseUrl('https://api.eclipse.local:51243');
+        $this->setBaseUrl('https://api.php53.dev.docker');
         break;
       case 'staging':
         $this->setBaseUrl('https://api-staging.eclipse.org');
diff --git a/eclipse.org-common/classes/rest/lib/restclient.class.php b/eclipse.org-common/classes/rest/lib/restclient.class.php
index 1bd33ea..b65d8ac 100644
--- a/eclipse.org-common/classes/rest/lib/restclient.class.php
+++ b/eclipse.org-common/classes/rest/lib/restclient.class.php
@@ -375,7 +375,7 @@
    * @return Response $return
    */
   public function _getNextPage($data) {
-    if (!isset($data->error) && !empty($data->body) && $data) {
+    if ($data && isset($data->headers['Link']) && !isset($data->error) && !empty($data->body)) {
       $pages = $this->_getHeaderLink($data->headers['Link']);
       if (($pages['self'] !== $pages['last']) && !empty($pages['next'])){
         if ($data = $this->get($pages['next'])) {
diff --git a/eclipse.org-common/classes/rest/userinformation.class.php b/eclipse.org-common/classes/rest/userinformation.class.php
index 267a94d..2ecf0f9 100644
--- a/eclipse.org-common/classes/rest/userinformation.class.php
+++ b/eclipse.org-common/classes/rest/userinformation.class.php
@@ -42,6 +42,42 @@
   }
 
   /**
+   * Retrieve a user's information by mail
+   *
+   * @param string $identifier
+   *
+   * @return array
+   */
+  public function retrieveUserByMail($identifier = "") {
+    if (empty($identifier)) {
+      return array();
+    }
+
+    $query = http_build_query(array('mail' => $identifier));
+    $response = $this->get("account/profile/?" . $query);
+    $this->unsetHeader('If-Match');
+    return $response;
+  }
+
+  /**
+   * Retrieve a user's information by UID
+   *
+   * @param string $identifier
+   *
+   * @return array
+   */
+  public function retrieveUserByUID($identifier = "") {
+    if (empty($identifier)) {
+      return array();
+    }
+
+    $query = http_build_query(array('uid' => $identifier));
+    $response = $this->get("account/profile/?" . $query);
+    $this->unsetHeader('If-Match');
+    return $response;
+  }
+
+  /**
    * Retrieve a user's projects
    *
    * @param string $identifier
diff --git a/eclipse.org-common/classes/themes/baseTheme.class.php b/eclipse.org-common/classes/themes/baseTheme.class.php
index 2554ebd..a9811f3 100644
--- a/eclipse.org-common/classes/themes/baseTheme.class.php
+++ b/eclipse.org-common/classes/themes/baseTheme.class.php
@@ -57,6 +57,13 @@
   protected $display_header_right = TRUE;
 
   /**
+   * Display header title
+   *
+   * @var bool
+   */
+  protected $display_header_title = FALSE;
+
+  /**
    * More menu flag
    *
    * @var bool
@@ -86,11 +93,9 @@
   protected $extra_headers = "";
 
   /**
-   * Google analytics code
-   *
-   * @var string
+   * Extra header html for #header-wrapper element
    */
-  protected $ga_code = "";
+  protected $extra_header_html = "";
 
   /**
    * Page HTML content
@@ -126,6 +131,41 @@
    */
   protected $metatags = array();
 
+    /**
+   * Open Graph Protocol title
+   *
+   * @var string
+   */
+  private $MetaTitle = "";
+
+  /**
+   * Open Graph Protocol description
+   *
+   * @var string
+   */
+  private $MetaDescription = "";
+
+  /**
+   * Open Graph Protocol image
+   *
+   * @var string
+   */
+  private $MetaImage = "";
+
+  /**
+   * Open Graph Protocol image width
+   *
+   * @var string
+   */
+  private $MetaImageWidth = "";
+
+  /**
+   * Open Graph Protocol image height
+   *
+   * @var string
+   */
+  private $MetaImageHeight = "";
+
   /**
    *
    * @var Nav()
@@ -154,13 +194,6 @@
   protected $page_title = "";
 
   /**
-   * Eclipse Promo HTML
-   *
-   * @var unknown
-   */
-  protected $promo_html = NULL;
-
-  /**
    *
    * @var Session()
    */
@@ -190,6 +223,15 @@
   protected $theme_variables = array();
 
   /**
+   * Text for <title> tag
+   *
+   * @var string
+   */
+  protected $title = "";
+
+  protected $toolbar_left_content = "";
+
+  /**
    * Constructor
    */
   function __construct($App = NULL) {
@@ -197,19 +239,19 @@
     $image_path = '//www.eclipse.org' . $this->getThemeUrl('solstice') . 'public/images/logo/';
 
     // Set default images
-    $this->setAttributes('img_logo_default', $image_path . 'eclipse-426x100.png', 'src');
+    $this->setAttributes('img_logo_default', $image_path . 'eclipse-foundation-grey-orange.svg', 'src');
     $this->setAttributes('img_logo_default', 'Eclipse.org logo', 'alt');
     $this->setAttributes('img_logo_default', 'logo-eclipse-default img-responsive hidden-xs', 'class');
 
-    $this->setAttributes('img_logo_eclipse_default', $image_path . 'eclipse-426x100.png', 'src');
+    $this->setAttributes('img_logo_eclipse_default', $image_path . 'eclipse-foundation-grey-orange.svg', 'src');
     $this->setAttributes('img_logo_eclipse_default', 'Eclipse.org logo', 'alt');
     $this->setAttributes('img_logo_eclipse_default', 'img-responsive hidden-xs', 'class');
 
-    $this->setAttributes('img_logo_eclipse_white', $image_path . 'eclipse-logo-bw-332x78.png', 'src');
+    $this->setAttributes('img_logo_eclipse_white', $image_path . 'eclipse-foundation-white.svg', 'src');
     $this->setAttributes('img_logo_eclipse_white', 'Eclipse.org black and white logo', 'alt');
     $this->setAttributes('img_logo_eclipse_white', 'logo-eclipse-white img-responsive');
 
-    $this->setAttributes('img_logo_mobile', $image_path . 'eclipse-800x188.png', 'src');
+    $this->setAttributes('img_logo_mobile', $image_path . 'eclipse-foundation-grey-orange.svg', 'src');
     $this->setAttributes('img_logo_mobile', 'Eclipse.org logo', 'alt');
     $this->setAttributes('img_logo_mobile', 'logo-eclipse-default-mobile img-responsive', 'class');
 
@@ -227,6 +269,7 @@
 
     // Set attributes for header
     $this->setAttributes('header-wrapper', 'header-wrapper', 'id');
+    $this->setAttributes('header-wrapper', 'header-wrapper');
     $this->setAttributes('header-container', 'container');
     $this->setAttributes('header-row', 'header-row', 'id');
     $this->setAttributes('header-row', 'row');
@@ -242,10 +285,14 @@
     $this->setAttributes('main-menu', 'main-menu', 'id');
     $this->setAttributes('main-menu', 'navbar yamm');
     $this->setAttributes('main-menu-ul-navbar', 'nav navbar-nav');
+    $this->setAttributes('navbar-main-menu', 'navbar-main-menu', 'id');
+    $this->setAttributes('navbar-main-menu', 'navbar-collapse collapse reset');
 
     // Set attributes on breadcrumbs
+    $this->setAttributes('breadcrumbs', 'default-breadcrumbs');
     $this->setAttributes('breadcrumbs', 'breadcrumb', 'id');
     $this->setAttributes('breadcrumbs', 'hidden-print');
+    $this->setAttributes('breadcrumbs-container', 'container');
 
     // Set attributes on main content
     $this->setAttributes('main', 'main', 'role');
@@ -253,12 +300,73 @@
     $this->setAttributes('main-container', 'novaContent');
     $this->setAttributes('main-container', 'novaContent', 'id');
 
+    // Set attributes on main sidebar
+    $this->setAttributes('main-sidebar', 'main-sidebar','id');
+    $this->setAttributes('main-sidebar-html-block', 'main-sidebar-html-block');
+
     // Set attributes on footer
+    $this->setAttributes('footer', 'solstice-footer', 'id');
+    $this->setAttributes('footer', 'contentinfo', 'role');
+    $this->setAttributes('footer-container', 'container');
+
     $this->setAttributes('footer1', 'footer-eclipse-foundation', 'id');
     $this->setAttributes('footer2', 'footer-legal', 'id');
     $this->setAttributes('footer3', 'footer-useful-links', 'id');
     $this->setAttributes('footer4', 'footer-other', 'id');
 
+    // Default theme js file
+    $this->setAttributes('script-theme-main-js', $this->getThemeUrl('solstice') . 'public/javascript/main.min.js?var=1.0', 'src');
+  }
+
+  /**
+   * Verify if consent was given to use cookies
+   *
+   * @return boolean
+   */
+  public function hasCookieConsent() {
+    if (isset($_COOKIE['eclipse_cookieconsent_status']) && $_COOKIE['eclipse_cookieconsent_status'] === 'allow') {
+      return TRUE;
+    }
+    return FALSE;
+  }
+
+  /**
+   * Get Google Tag Manager
+   *
+   * Insert this code as high in the <head> of the page as possible.
+   *
+   * @return string
+   */
+  public function getGoogleTagManager(){
+    return "<!-- Google Tag Manager -->
+<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+})(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
+<!-- End Google Tag Manager -->";
+  }
+
+  /**
+   * Get Google Tag Manager (noscript)
+   *
+   * Insert this code immediately after the opening <body> tag
+   *
+   * @return string
+   */
+  public function getGoogleTagManagerNoScript(){
+    return '<!-- Google Tag Manager (noscript) -->
+<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5WLCZXC"
+height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
+<!-- End Google Tag Manager (noscript) -->';
+  }
+
+
+  /**
+   * Set alternate layout
+   */
+  public function setAlternateLayout($enable = FALSE) {
+
   }
 
   /**
@@ -304,24 +412,51 @@
    * @return string
    */
   public function getShareButtonsHTML() {
-    $display_sharethis = $this->getThemeVariables('sharethis');
-    if ($display_sharethis) {
-      return '<div class="sharethis-inline-share-buttons"></div>';
+    $display_buttons = $this->getThemeVariables('sharethis');
+    $page_title = $this->getPageTitle();
+
+    if (!$display_buttons || empty($page_title)) {
+      return "";
     }
-    return "";
+
+    // Create Twitter button
+    $buttons['twitter'] = '<a class="share-button share-button-twitter" href="#" onclick="
+    window.open(
+      \'https://twitter.com/intent/tweet?text='. $this->getPageTitle() .' - '. $this->App->getCurrentURL() .'\',
+      \'twitter-share-dialog\',
+      \'width=626,height=436\');
+    return false;"><i class="fa fa-twitter"></i></a>';
+
+    // Create Facebook button
+    $buttons['facebook'] = '<a class="share-button share-button-facebook" href="#" onclick="
+    window.open(
+      \'https://www.facebook.com/sharer/sharer.php?u=\'+encodeURIComponent(location.href),
+      \'facebook-share-dialog\',
+      \'width=626,height=436\');
+    return false;"><i class="fa fa-facebook"></i></a>';
+
+    // Create Mail button
+    $buttons['mail'] = '<a class="share-button share-button-mail" href="mailto:?subject=' . str_replace(' ', '%20', $this->getPageTitle()) . '"><i class="fa fa-envelope"></i></a>';
+
+    $html = '<ul class="list-inline margin-bottom-0 text-right">';
+    foreach ($buttons as $button) {
+      $html .= "<li>" . $button . "</li>";
+    }
+    $html .= "</ul>";
+
+    return $html;
+
   }
 
   /**
    * Get the JS of the Share buttons
    * (This should go in the head of the html page)
    *
+   * @deprecated
+   *
    * @return string
    */
   public function getShareButtonsJS() {
-    $display_sharethis = $this->getThemeVariables('sharethis');
-    if ($display_sharethis) {
-      return '<script type="text/javascript" src="//platform-api.sharethis.com/js/sharethis.js#property=58af133aa168200011ff98fe&product=inline-share-buttons"></script>';
-    }
     return "";
   }
 
@@ -437,10 +572,61 @@
     return $this->attributes;
   }
 
+  /**
+   * Remove attributes
+   *
+   * @param string $element
+   * @param string $value
+   * @param string $type
+   */
+  public function removeAttributes($element = '', $value = "", $type = 'class') {
+
+    if (!is_string($element) || empty($element) || empty($value)) {
+      return FALSE;
+    }
+
+    $type = strtolower($type);
+
+    if ($type !== "class") {
+      $this->resetAttributes($element, $type);
+      return TRUE;
+    }
+
+    $number_value = count($value);
+    $value = explode(' ', $value);
+    $count = 0;
+    foreach ($value as $val) {
+      if (isset($this->attributes[$type][$element]) && in_array($val, $this->attributes[$type][$element])) {
+        $key = array_search ($val, $this->attributes['class'][$element]);
+        unset($this->attributes['class'][$element][$key]);
+        continue;
+      }
+      $count++;
+    }
+
+    // Remove element if now empty
+    if (empty($this->attributes['class'][$element])) {
+      unset($this->attributes['class'][$element]);
+    }
+
+    // Check if we removed the value from the array
+    if ($count !== $number_value) {
+      return TRUE;
+    }
+    // Nothing happened
+    return FALSE;
+  }
+
   function getBareboneAssets() {
     $url = $this->getEclipseUrl() . $this->getThemeUrl("solstice") . "public/stylesheets/";
     $current_theme = $this->getTheme();
-    if ($current_theme !== "solstice") {
+
+    $themes = array(
+      'locationtech',
+      'polarsys'
+    );
+
+    if (in_array($current_theme, $themes)) {
       $url .= $current_theme . '-';
     }
     $url .= 'barebone.min.css';
@@ -517,14 +703,6 @@
       return "";
     }
 
-    $theme_breadcrumbs_html = $this->getThemeVariables('breadcrumbs_html');
-    if (!empty($theme_breadcrumbs_html)) {
-      $this->setAttributes('breadcrumbs', 'large-breadcrumbs');
-    }
-    else {
-      $this->setAttributes('breadcrumbs', 'default-breadcrumbs');
-    }
-
     $Breadcrumb = $this->_getBreadcrumb();
     $crumb_list = $Breadcrumb->getCrumbList();
 
@@ -547,15 +725,20 @@
     }
     $breadcrumb_html .= "</ol>";
 
+    $content_html = '<div class="col-sm-24">' . $breadcrumb_html . '</div>';
+    $sharethis_html = $this->getShareButtonsHTML();
+    if (!empty($sharethis_html)) {
+      $content_html = '<div class="col-sm-16">' . $breadcrumb_html . '</div>';
+      $content_html .= '<div class="col-sm-8 padding-top-5">' . $sharethis_html . '</div>';
+    }
+
     return <<<EOHTML
     <section{$this->getAttributes('breadcrumbs')}>
-      <div class="container">
+      <div{$this->getAttributes('breadcrumbs-container')}>
         <h3 class="sr-only">Breadcrumbs</h3>
         <div class="row">
-          <div class="col-sm-16 padding-left-30">{$breadcrumb_html}</div>
-          <div class="col-sm-8 margin-top-15">{$this->getShareButtonsHTML()}</div>
+          {$content_html}
         </div>
-        {$theme_breadcrumbs_html}
       </div>
     </section> <!-- /#breadcrumb -->
 EOHTML;
@@ -611,6 +794,7 @@
         $btn['btn_cfa']['class'] = 'btn btn-huge btn-info';
         $theme_variables = $this->setThemeVariables($btn);
         $btn_cfa = $theme_variables['btn_cfa'];
+        $this->setAttributes('main-container', 'legacy-page');
       }
     }
 
@@ -661,7 +845,7 @@
    */
   protected function _getCfaButtonDefault() {
     $default['class'] = 'btn btn-huge btn-warning';
-    $default['href'] = '//www.eclipse.org/downloads/';
+    $default['href'] = '/downloads/';
     $default['text'] = '<i class="fa fa-download"></i> Download';
     return $default;
   }
@@ -672,7 +856,7 @@
    * @return string
    */
   public function getCopyrightNotice() {
-    return 'Copyright &copy; ' . date("Y") . ' The Eclipse Foundation. All Rights Reserved.';
+    return 'Copyright &copy; Eclipse Foundation, Inc. All Rights Reserved.';
   }
 
   /**
@@ -698,9 +882,9 @@
     $App = $this->_getApp();
     if ($App->getOutDated()) {
       $classes[] = "deprecated";
-      $deprecated = '<div class="col-md-24"><div class="alert alert-danger" role="alert">';
+      $deprecated = '<div class="alert alert-danger" role="alert">';
       $deprecated .= $App->getOutDatedMessage();
-      $deprecated .= '</div></div>';
+      $deprecated .= '</div>';
     }
     return $deprecated;
   }
@@ -764,6 +948,25 @@
   }
 
   /**
+   * Get $display_header_right
+   */
+  public function getDisplayHeaderTitle() {
+    return $this->display_header_title;
+  }
+
+  /**
+   * Set $display_header_title
+   *
+   * @param bool $display
+   */
+  public function setDisplayHeaderTitle($display = TRUE) {
+    if ($display !== FALSE) {
+      $display = TRUE;
+    }
+    $this->display_header_title = $display;
+  }
+
+  /**
    * Get $display_toolbar
    */
   public function getDisplayToolbar() {
@@ -851,7 +1054,7 @@
    */
   public function getExtraHeaders() {
     $App = $this->_getApp();
-    $App->setOGTitle($this->getPageTitle());
+    $this->setMetaTitle($this->getPageTitle() . ' | The Eclipse Foundation');
 
     $styles_name = 'styles';
     switch ($this->getTheme()) {
@@ -862,63 +1065,73 @@
       case 'polarsys':
         $styles_name = 'polarsys';
         break;
+
+      case 'quicksilver':
+        $styles_name = 'quicksilver';
+        break;
+
+      case 'jakarta':
+        $styles_name = 'jakarta';
+        break;
+
+      case 'eclipse_ide':
+        $styles_name = 'eclipse-ide';
+        break;
     }
 
-    $css = '<link rel="stylesheet" href="' . $this->getThemeUrl('solstice') . 'public/stylesheets/' . $styles_name . '.min.css"/>';
-
-    $return = $css . PHP_EOL;
+    $return = '<link rel="stylesheet" href="' . $this->getThemeUrl('solstice') . 'public/stylesheets/' . $styles_name . '.min.css?v1.0"/>' . PHP_EOL;
 
     // Add og:metatags if they haven't been set.
     // @todo: deprecated og functions in App().
     if (!$this->getMetatagByKey('og:description')) {
       $this->setMetatags('og:description', array(
         'property' => 'og:description',
-        'content' => $App->getOGDescription(),
+        'content' => $this->getMetaDescription(),
       ));
     }
 
     if (!$this->getMetatagByKey('og:image')) {
       $this->setMetatags('og:image', array(
         'property' => 'og:image',
-        'content' => $App->getOGImage(),
+        'content' => $this->getMetaImage(),
       ));
     }
 
     if (!$this->getMetatagByKey('og:title')) {
       $this->setMetatags('og:title', array(
         'property' => 'og:title',
-        'content' => $App->getOGTitle(),
+        'content' => $this->getMetaTitle(),
       ));
     }
 
     if (!$this->getMetatagByKey('og:image:width')) {
       $this->setMetatags('og:image:width', array(
         'property' => 'og:image:width',
-        'content' => $App->getOGImageWidth(),
+        'content' => $this->getMetaImageWidth(),
       ));
     }
 
     if (!$this->getMetatagByKey('og:image:height')) {
       $this->setMetatags('og:image:height', array(
         'property' => 'og:image:height',
-        'content' => $App->getOGImageHeight(),
+        'content' => $this->getMetaImageHeight(),
       ));
     }
 
-    $image = 'https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-400x400.png';
+    $image = 'https://www.eclipse.org/eclipse.org-common/themes/solstice/public/images/logo/eclipse-foundation-400x400.png';
 
     // Schema.org markup for Google+
     if (!$this->getMetatagByKey('itemprop:name')) {
       $this->setMetatags('itemprop:name', array(
         'itemprop' => 'name',
-        'content' => $App->getOGTitle(),
+        'content' => $this->getMetaTitle(),
       ));
     }
 
     if (!$this->getMetatagByKey('itemprop:description')) {
       $this->setMetatags('itemprop:description', array(
         'itemprop' => 'description',
-        'content' => $App->getOGDescription(),
+        'content' => $this->getMetaDescription(),
       ));
     }
 
@@ -947,7 +1160,7 @@
     if (!$this->getMetatagByKey('twitter:title')) {
       $this->setMetatags('twitter:title', array(
         'name' => 'twitter:title',
-        'content' => $App->getOGTitle(),
+        'content' => $this->getMetaTitle(),
       ));
     }
 
@@ -961,7 +1174,7 @@
     if (!$this->getMetatagByKey('twitter:description')) {
       $this->setMetatags('twitter:description', array(
         'name' => 'twitter:description',
-        'content' => $App->getOGDescription(),
+        'content' => $this->getMetaDescription(),
       ));
     }
 
@@ -972,7 +1185,6 @@
       ));
     }
 
-    $return .= $this->getShareButtonsJS();
     $return .= $this->getMetatagsHTML();
     $return .= $this->extra_headers;
     $return .= $App->ExtraHtmlHeaders;
@@ -982,7 +1194,18 @@
       if ($App->PageRSSTitle != "") {
         $App->PageRSSTitle = "Eclipse RSS Feed";
       }
-      $return .= '<link rel="alternate" title="' . $App->PageRSSTitle . '" href="' . $App->PageRSS . '" type="application/rss+xml"/>';
+      $return .= '<link rel="alternate" title="' . $App->PageRSSTitle . '" href="' . $App->PageRSS . '" type="application/rss+xml"/>' . PHP_EOL;
+    }
+
+    // Load proper font for each theme
+    switch ($this->getTheme()) {
+      case 'solstice':
+      case 'polarsys':
+      case 'locationtech':
+        $return .= '<link href="//fonts.googleapis.com/css?family=Open+Sans:400,700,300,600,100" rel="stylesheet" type="text/css"/>';
+        break;
+      default:
+        $return .= '<link href="//fonts.googleapis.com/css?family=Libre+Franklin:400,700,300,600,100" rel="stylesheet" type="text/css"/>';
     }
 
     return $return. PHP_EOL;
@@ -994,7 +1217,17 @@
    * @param string $headers
    */
   public function setExtraHeaders($headers = "") {
-    $this->extra_headers = $headers;
+    $this->extra_headers .= $headers;
+  }
+
+  /**
+   * Get Html of Footer prexix
+   *
+   * This is a way for sub-themes to inject
+   * html before the footer.
+   */
+  public function getFooterPrexfix() {
+    return "";
   }
 
   /**
@@ -1040,11 +1273,59 @@
   public function getExtraJsFooter() {
     $App = $this->_getApp();
     $return = $App->ExtraJSFooter . PHP_EOL;
-    $return .= $this->getGoogleAnalytics() . PHP_EOL;
     return $return;
   }
 
-  public function getHeaderRight(){
+  /**
+   * Get extra html for the #header-wrapper element
+   */
+  public function getExtraHeaderHtml() {
+    return $this->extra_header_html;
+  }
+
+  /**
+   * Set extra html for the #header-wrapper element
+   *
+   * @param string $html
+   */
+  public function setExtraHeaderHtml($html) {
+    if (!empty($html)) {
+      $this->extra_header_html .= $html;
+    }
+  }
+
+  /**
+   * Set title
+   *
+   * @param string $title
+   */
+  public function setTitle($title) {
+    if (!empty($title) && is_string($title)) {
+      $this->title = $title;
+    }
+  }
+
+  /**
+   * Get title
+   *
+   * @return string
+   */
+  public function getTitle() {
+    if (empty($this->title)) {
+      return $this->getPageTitle();
+    }
+    return $this->title;
+  }
+
+  /**
+   * Get HeaderRight
+   *
+   * This section is usually reserved for the google search (solstice),
+   * and our Call for Action link.
+   *
+   * @return string
+   */
+  public function getHeaderRight() {
     if (!$this->getDisplayHeaderRight()) {
       return "";
     }
@@ -1081,19 +1362,21 @@
     $html = "";
     $html .= '<div class="header_nav">';
     $html .= '<div class="col-xs-24 col-md-10 vcenter">';
-    $logo = '<img src="' . $header_nav['logo']['src'] . '" alt="' . $header_nav['logo']['alt'] . '" class="img-responsive  header_nav_logo"/>';
+    if (!empty($header_nav['logo']['src'])) {
+      $logo = '<img src="' . $header_nav['logo']['src'] . '" alt="' . $header_nav['logo']['alt'] . '" class="img-responsive  header_nav_logo"/>';
 
-    if (!empty($header_nav['logo']['url'])) {
-      $html .= '<a href="' . $header_nav['logo']['url'] . '" title="' . $header_nav['logo']['alt'] . '" target="' . $header_nav['logo']['target'] . '">';
-      $html .= $logo;
-      $html .= '</a>';
-    }
-    else {
-      $html .= $logo;
+      if (!empty($header_nav['logo']['url'])) {
+        $html .= '<a href="' . $header_nav['logo']['url'] . '" title="' . $header_nav['logo']['alt'] . '" target="' . $header_nav['logo']['target'] . '">';
+        $html .= $logo;
+        $html .= '</a>';
+      }
+      else {
+        $html .= $logo;
+      }
     }
 
     $html .= '</div>';
-    $html .= '<div class="col-xs-24 col-md-offset-2 col-md-12 vcenter">';
+    $html .= '<div class="col-xs-24 col-md-14 vcenter">';
     $html .= '<ul class="clearfix">';
 
     foreach ($header_nav['links'] as $l) {
@@ -1159,7 +1442,7 @@
   private function _getHeaderNavDefaultLogo() {
     $h = $this->getThemeVariables('header_nav');
 
-    if (!is_array($h) || empty($h['logo']) || !is_array($h['logo'])) {
+    if (!is_array($h) || empty($h)) {
       return FALSE;
     }
 
@@ -1175,14 +1458,16 @@
       )
     );
 
-    foreach ($h['logo'] as &$logo) {
-      $logo = $this->is_var($logo);
-    }
+    if (!empty($h['logo'])) {
+      foreach ($h['logo'] as &$logo) {
+        $logo = $this->is_var($logo);
+      }
 
-    $h['logo'] = array_merge($default['logo'], $h['logo']);
+      $h['logo'] = array_merge($default['logo'], $h['logo']);
 
-    if (empty($h['logo']['src']) || empty($h['links']) || !is_array($h['links'])) {
-      return FALSE;
+      if (empty($h['logo']['src']) || empty($h['links']) || !is_array($h['links'])) {
+        return FALSE;
+      }
     }
 
     foreach ($h['links'] as $l) {
@@ -1205,44 +1490,21 @@
    * Get Google Analytics JS code
    *
    * @return string
+   * @deprecated
    */
   public function getGoogleAnalytics() {
-    if (empty($this->ga_code) && !is_null($this->ga_code)) {
-      $this->setGoogleAnalytics();
-    }
-
-    if (is_null($this->ga_code)) {
-      return "";
-    }
-
-    return <<<EOHTML
-      <script type="text/javascript">
-
-        var _gaq = _gaq || [];
-        _gaq.push(['_setAccount', '$this->ga_code']);
-        _gaq.push(['_trackPageview']);
-
-        (function() {
-          var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
-          ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
-          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
-        })();
-
-      </script>
-EOHTML;
+    trigger_error("Deprecated function called.", E_USER_NOTICE);
+    return "";
   }
 
   /**
    * Set google analytics id code
    *
    * @param string $code
+   * @deprecated
    */
   public function setGoogleAnalytics($code = "") {
-    $App = $this->_getApp();
-    if (empty($code)) {
-      $code = $App->getGoogleAnalyticsTrackingCode();
-    }
-    $this->ga_code = $code;
+    trigger_error("Deprecated function called.", E_USER_NOTICE);
   }
 
   /**
@@ -1252,6 +1514,11 @@
     if (!$this->getDisplayGoogleSearch()) {
       return "";
     }
+
+    if (!$this->hasCookieConsent()) {
+      return '';
+    }
+
     $domain = $this->App->getEclipseDomain();
     return <<<EOHTML
     <div class="row"><div class="col-md-24">
@@ -1288,7 +1555,58 @@
    * Get page $html
    */
   public function getHtml() {
-    return $this->html;
+
+    // Define the body content
+    $body = $this->getDeprecatedMessage();
+    $body .= $this->getHeaderNav();
+    $body .= $this->getSystemMessages();
+    $body .= $this->getThemeVariables('main_container_html');
+    $body .= $this->html;
+
+    // If Title is in the Header
+    $html_page_title = "";
+    if ($this->getDisplayHeaderTitle()) {
+      // Remove attributes of breadcrumbs
+      $this->removeAttributes('breadcrumbs', 'breadcrumbs-default-margin');
+
+      // Set attributes for sidebar
+      $this->setAttributes('main-sidebar', 'hidden-sm hidden-xs');
+
+      // Define Main page Title
+      $html_page_title = '<div class="main-page-title"><div class="container">';
+      $html_page_title .= '<div class="' . ($nav = $this->getThemeFile('nav') ? 'col-sm-18' : 'col-sm-24') . ' reset">';
+      $html_page_title .= '<h1>' . $this->getPageTitle() . '</h1>';
+      $html_page_title .= '</div>';
+      if ($nav = $this->getThemeFile('nav')) {
+        $html_page_title .= '<div class="col-md-6">' . $nav . '</div>';
+      }
+      $html_page_title .= '</div></div>';
+
+      // Reset attributes for sidebar that will be in the body
+      $this->removeAttributes('main-sidebar', 'hidden-sm hidden-xs');
+      $this->setAttributes('main-sidebar', 'hidden-md hidden-lg');
+    }
+
+    // set a different body if there's a sidebar
+    if ($nav = $this->getThemeFile('nav')) {
+      $body_content = $body;
+      $body = '<div class="row">';
+      $body .= '<div class="col-md-18">' . $body_content . '</div>';
+      $body .= '<div class="col-md-6">' . $nav . '</div>';
+      $body .= '</div>';
+    }
+
+    // Define the html
+    return <<<EOHTML
+      {$this->getBreadcrumbHtml()}
+      <main{$this->getAttributes('main')}>
+        {$html_page_title}
+        <div{$this->getAttributes('main-container')}>
+          {$body}
+        </div>
+      </main>
+EOHTML;
+
   }
 
   /**
@@ -1311,11 +1629,12 @@
       'default',
       'default-header',
       'default-footer',
+      'default-fluid',
       'barebone',
       'thin',
       'thin-header',
       'default-with-footer-min',
-      'thin-with-footer-min'
+      'thin-with-footer-min',
     );
     $this->layout = 'default';
     if (in_array($layout, $acceptable_layouts)) {
@@ -1337,7 +1656,7 @@
     $link_logo = $this->getAttributes('link_logo_' . $id);
     $img_logo = $this->getAttributes('img_logo_' . $id);
     $return = "";
-    if (!empty($img_logo['src'])) {
+    if (!empty($img_logo)) {
       $att_id = str_replace('_', '-', 'logo-' . $id);
       $this->setAttributes($att_id, 'wrapper-' . $att_id);
       //$logo['white_link'] = '<a href="' . $base_url . '">' . $logo['white'] . '</a>';
@@ -1447,9 +1766,8 @@
     }
     $Menu = new Menu();
     $Menu->setMenuItemList(array());
-    $Menu->addMenuItem("Download", $base_url . "downloads/", "_self");
-    $Menu->addMenuItem("Getting Started", $base_url . "users/", "_self");
     $Menu->addMenuItem("Members", $base_url . "membership/", "_self");
+    $Menu->addMenuItem("Working Groups", $base_url . "org/workinggroups/", "_self");
     $Menu->addMenuItem("Projects", $base_url . "projects/", "_self");
     return $Menu;
   }
@@ -1524,6 +1842,11 @@
       'caption' => 'Videos'
     );
 
+    $variables['Community'][] = array(
+      'url' => 'https://blogs.eclipse.org',
+      'caption' => 'Blogs'
+    );
+
     $variables['Participate'][] = array(
       'url' => 'https://bugs.eclipse.org/bugs/',
       'caption' => 'Report a Bug'
@@ -1549,44 +1872,50 @@
       'caption' => 'IRC'
     );
 
-    $variables['Participate'][] = array(
+    $variables['Eclipse IDE'][] = array(
+      'url' => $base_url . 'downloads',
+      'caption' => 'Download'
+    );
+
+    $variables['Eclipse IDE'][] = array(
+      'url' => 'https://help.eclipse.org',
+      'caption' => 'Documentation'
+    );
+
+    $variables['Eclipse IDE'][] = array(
+      'url' => $base_url . 'getting_started',
+      'caption' => 'Getting Started / Support'
+    );
+
+    $variables['Eclipse IDE'][] = array(
       'url' => $base_url . 'contribute/',
       'caption' => 'How to Contribute'
     );
 
-    $variables['Working Groups'][] = array(
-      'url' => 'http://iot.eclipse.org',
-      'caption' => 'Internet of Things'
+    $variables['Eclipse IDE'][] = array(
+      'url' => $base_url . 'ide/',
+      'caption' => 'IDE and Tools'
     );
 
-    $variables['Working Groups'][] = array(
-      'url' => 'http://locationtech.org',
-      'caption' => 'LocationTech'
+    $variables['Eclipse IDE'][] = array(
+      'url' => 'https://www.eclipse.org/forums/index.php/f/89/',
+      'caption' => 'Newcomer Forum'
     );
 
-    $variables['Working Groups'][] = array(
-      'url' => 'http://lts.eclipse.org',
-      'caption' => 'Long-Term Support'
-    );
-
-    $variables['Working Groups'][] = array(
-      'url' => 'http://polarsys.org',
-      'caption' => 'PolarSys'
-    );
-
-    $variables['Working Groups'][] = array(
-      'url' => 'http://science.eclipse.org',
-      'caption' => 'Science'
-    );
-
-    $variables['Working Groups'][] = array(
-      'url' => 'http://www.openmdm.org',
-      'caption' => 'OpenMDM'
-    );
     return $variables;
   }
 
   /**
+   * Get Menu Suffix
+   *
+   * @return string
+   */
+  protected function _getMenuSuffix(){
+    return "";
+  }
+
+
+  /**
    * Get Navigation variables
    *
    * @return array
@@ -1602,7 +1931,6 @@
     );
     if ($this->Nav instanceof Nav) {
       // add faux class to #novaContent
-      $this->setAttributes('main_container_classes', 'background-image-none');
       $variables['link_count'] = $this->Nav->getLinkCount();
       $variables['html_block'] = $this->Nav->getHTMLBlock();
       for ($i = 0; $i < $variables['link_count']; $i++) {
@@ -1688,46 +2016,6 @@
   }
 
   /**
-   * Get $promo_html html output
-   *
-   * @return string
-   */
-  public function getPromoHtml() {
-    if (is_null($this->promo_html)) {
-      $this->setPromoHtml();
-    }
-    if (empty($this->promo_html)) {
-      return '';
-    }
-
-    return '<div class="container"><div class="col-md-24">' . $this->promo_html . '</div></div>';
-  }
-
-  /**
-   * Set $promo_html
-   *
-   * @param string $html
-   */
-  public function setPromoHtml($html = "") {
-    if (!empty($html) && is_string($html)) {
-      $this->promo_html = $html;
-      return TRUE;
-    }
-    $App = $this->_getApp();
-    $theme = $this->getTheme();
-    ob_start();
-    if ($App->Promotion == TRUE) {
-      if ($App->CustomPromotionPath != "") {
-        include ($App->CustomPromotionPath);
-      }
-      else {
-        include ($App->getPromotionPath($theme));
-      }
-    }
-    $this->promo_html = trim(ob_get_clean());
-  }
-
-  /**
    * Get $Session
    *
    * @return Session
@@ -1786,27 +2074,31 @@
         'name' => '',
         'last_name' => ''
       );
-      $Session = $this->_getSession();
-      $Friend = $Session->getFriend();
+
       $this->session_variables['create_account_link'] = '<a href="' . $this->getBaseUrlLogin() . '/user/register"><i class="fa fa-user fa-fw"></i> Create account</a>';
       $this->session_variables['my_account_link'] = '<a href="' . $this->getBaseUrlLogin() . '/user/login/' . $this->_getTakeMeBack() . '"><i class="fa fa-sign-in fa-fw"></i> Log in</a>';
       $this->session_variables['logout'] = '';
 
-      if ($Session->isLoggedIn()) {
-        $this->session_variables['user_ldap_uid'] = $Friend->getUID();
-        $this->session_variables['name'] = $Friend->getFirstName();
-        $this->session_variables['last_name'] = $Friend->getLastName();
-        $this->session_variables['full_name'] = $this->App->checkPlain($this->session_variables['name'] . ' ' . $this->session_variables['last_name']);
-        $this->session_variables['create_account_link'] = 'Welcome, ' . $this->session_variables['full_name'];
-        if (!empty($this->session_variables['user_ldap_uid'])){
-           $this->session_variables['create_account_link'] = '<a href="https://www.eclipse.org/user/' . $this->session_variables['user_ldap_uid'] . '">Welcome, ' . $this->session_variables['full_name'] . '</a>';
+      if ($this->hasCookieConsent()) {
+        $Session = $this->_getSession();
+        $Friend = $Session->getFriend();
+        if ($Session->isLoggedIn()) {
+          $this->session_variables['user_ldap_uid'] = $Friend->getUID();
+          $this->session_variables['name'] = $Friend->getFirstName();
+          $this->session_variables['last_name'] = $Friend->getLastName();
+          $this->session_variables['full_name'] = $this->App->checkPlain($this->session_variables['name'] . ' ' . $this->session_variables['last_name']);
+          $this->session_variables['create_account_link'] = 'Welcome, ' . $this->session_variables['full_name'];
+          if (!empty($this->session_variables['user_ldap_uid'])){
+             $this->session_variables['create_account_link'] = '<a href="https://www.eclipse.org/user/' . $this->session_variables['user_ldap_uid'] . '">Welcome, ' . $this->session_variables['full_name'] . '</a>';
+          }
+          $this->session_variables['my_account_link'] = '<a href="' . $this->getBaseUrlLogin() . '/user/edit" class="" data-tab-destination="tab-profile"><i class="fa fa-edit fa-fw"></i> Edit my account</a>';
+          // Adding <li> with logout because we only display
+          // two options if the user is not logged in.
+          $this->session_variables['logout'] = '<li><a href="' . $this->getBaseUrlLogin() . '/user/logout"><i class="fa fa-power-off fa-fw"></i> Log out</a></li>';
         }
-        $this->session_variables['my_account_link'] = '<a href="' . $this->getBaseUrlLogin() . '/user/edit" class="" data-tab-destination="tab-profile"><i class="fa fa-edit fa-fw"></i> Edit my account</a>';
-        // Adding <li> with logout because we only display
-        // two options if the user is not logged in.
-        $this->session_variables['logout'] = '<li><a href="' . $this->getBaseUrlLogin() . '/user/logout"><i class="fa fa-power-off fa-fw"></i> Log out</a></li>';
       }
     }
+
     if (!empty($this->session_variables[$id])) {
       return $this->session_variables[$id];
     }
@@ -1821,6 +2113,10 @@
   public function getSystemMessages() {
     // System messages
     $variables['sys_messages'] = "";
+
+    if (!$this->hasCookieConsent()) {
+       return $variables['sys_messages'];
+    }
     $App = $this->_getApp();
     if ($sys_messages = $App->getSystemMessage()) {
       $main_container_classes = $this->getAttributes('main_container_classes', 'class');
@@ -1892,11 +2188,6 @@
       $this->setAttributes('body', 'hidden-cfa-button');
     }
 
-    $promo_html = $this->getPromoHtml();
-    if (!empty($promo_html) && !empty($theme_variables['btn_cfa']['hide_breadcrumbs'])) {
-      $this->setAttributes('body', "no-breadcrumbs-with-promo");
-    }
-
     ob_start();
     switch ($this->getLayout()) {
       case 'barebone':
@@ -1915,6 +2206,7 @@
         $this->setAttributes('main-menu-wrapper', 'col-sm-16 col-md-18 col-lg-20');
         $this->setAttributes('main-menu-ul-navbar', 'navbar-right');
         $this->setDisplayHeaderRight(FALSE);
+        $this->setAlternateLayout(TRUE);
         print $this->getBareboneAssets();
         print $this->getThemeFile('menu');
         break;
@@ -1931,7 +2223,7 @@
         $this->setDisplayHeaderRight(FALSE);
         print $this->getThemeFile('header');
         print $this->getThemeFile('menu');
-        print $this->getThemeFile('body');
+        print $this->getHtml();
         print $this->getThemeFile('footer');
         break;
 
@@ -1959,10 +2251,43 @@
         $this->setDisplayHeaderRight(FALSE);
         print $this->getThemeFile('header');
         print $this->getThemeFile('menu');
-        print $this->getThemeFile('body');
+        print $this->getHtml();
         print $this->getThemeFile('footer-min');
         break;
 
+      case 'default-fluid':
+
+        // Reduce size of logo for fluid layout
+        $this->resetAttributes('header-left', 'class');
+        $this->setAttributes('header-left', 'col-sm-8 col-md-6 col-lg-4');
+
+       // Override main_container_classes for this layout
+        $this->resetAttributes('main-container', 'class');
+       // $this->setAttributes('main-container', 'container-fluid');
+        $this->setThemeVariables(array('main_container_classes' => 'container-fluid'));
+
+        // reset header container
+        $this->resetAttributes('header-container', 'class');
+        $this->setAttributes('header-container', 'container-fluid');
+
+        // reset toolbar container
+        $this->resetAttributes('toolbar-container', 'class');
+        $this->setAttributes('toolbar-container', 'container-fluid');
+
+        // reset breadcrumbs container
+        $this->resetAttributes('breadcrumbs-container', 'class');
+        $this->setAttributes('breadcrumbs-container', 'container-fluid');
+
+        // reset footer container
+        $this->resetAttributes('footer-container', 'class');
+        $this->setAttributes('footer-container', 'container-fluid');
+
+        print $this->getThemeFile('header');
+        print $this->getThemeFile('menu');
+        print $this->getHtml();
+        print $this->getThemeFile('footer');
+        break;
+
       case 'default-header':
         print $this->getThemeFile('header');
         print $this->getThemeFile('menu');
@@ -1971,14 +2296,14 @@
       case 'default-with-footer-min':
         print $this->getThemeFile('header');
         print $this->getThemeFile('menu');
-        print $this->getThemeFile('body');
+        print $this->getHtml();
         print $this->getThemeFile('footer-min');
         break;
 
       case 'default':
         print $this->getThemeFile('header');
         print $this->getThemeFile('menu');
-        print $this->getThemeFile('body');
+        print $this->getHtml();
         print $this->getThemeFile('footer');
         break;
 
@@ -1987,7 +2312,7 @@
         break;
 
     }
-    return ob_flush();
+    return ob_end_flush();
   }
 
   /**
@@ -2021,9 +2346,7 @@
     if (empty($theme)) {
       $theme = $this->getTheme();
     }
-    $App = $this->_getApp();
-    $path = $App->getBasePath() . '/themes/' . $theme . '/';
-    return strstr($path, '/eclipse.org-common/');
+    return '/eclipse.org-common/themes/' . $theme . '/';
   }
 
   /**
@@ -2062,6 +2385,35 @@
     return $this->theme_variables;
   }
 
+  /**
+   * Set the toolbar left content div element
+   *
+   * @param string $text
+   */
+  public function setToolbarLeftContent($text){
+
+    // Set the proper attributes
+    $this->setAttributes('toolbar-left-content', 'text-left col-md-12 col-md-pull-12 row-toolbar-col toolbar-left-content');
+    $this->resetAttributes('toolbar-user-links', 'class');
+    $this->setAttributes('toolbar-user-links', 'col-md-12 col-md-push-12 row-toolbar-col');
+
+    // Add the text to the container
+    $left_content_attr = $this->getAttributes("toolbar-left-content");
+    if (!empty($text) && !empty($left_content_attr)) {
+      $this->toolbar_left_content = '<div' . $left_content_attr . '>
+            <span>' . $text . '</span></div>';
+    }
+  }
+
+  /**
+   * Get the toolbar left content div element
+   *
+   * @return string
+   */
+  public function getToolbarLeftContent(){
+    return $this->toolbar_left_content;
+  }
+
   public function getToolbarHtml() {
     if (!$this->getDisplayToolbar()) {
       return "";
@@ -2077,6 +2429,7 @@
               {$this->getSessionVariables('logout')}
             </ul>
           </div>
+          {$this->getToolbarLeftContent()}
         </div>
       </div>
     </div>
@@ -2160,4 +2513,163 @@
 
     return "<script> var eclipse_org_common = ". json_encode($script_array) ."</script>";
   }
+
+  /**
+   * Get $OGTitle output
+   *
+   * @return string
+   */
+  public function getMetaTitle() {
+    if (empty($this->MetaTitle)) {
+      $App = $this->_getApp();
+      return $App->getOGTitle();
+    }
+    return $this->MetaTitle;
+  }
+
+  /**
+   * Set $MetaTitle
+   *
+   * @param unknown $title
+   */
+  public function setMetaTitle($title) {
+    $this->MetaTitle = $title;
+  }
+
+  /**
+   * Get $MetaDescription output
+   *
+   * @return string
+   */
+  public function getMetaDescription() {
+    if (empty($this->MetaDescription)) {
+      $App = $this->_getApp();
+      return $App->getOGDescription();
+    }
+    return $this->MetaDescription;
+  }
+
+  /**
+   * Set $MetaDescription
+   *
+   * @param unknown $description
+   */
+  public function setMetaDescription($description) {
+    $this->MetaDescription = $description;
+  }
+
+  /**
+   * Get $MetaImage output
+   *
+   * @return string
+   */
+  public function getMetaImage() {
+    if (empty($this->MetaImage)) {
+      $App = $this->_getApp();
+      return $App->getOGImage();
+    }
+    return $this->MetaImage;
+  }
+
+  /**
+   * Set $MetaImage
+   *
+   * @param unknown $image
+   */
+  public function setMetaImage($image) {
+    $this->MetaImage = $image;
+  }
+
+  /**
+   * Get $MetaImageWidth output
+   */
+  public function getMetaImageWidth() {
+    if (empty($this->MetaImageWidth)) {
+      $App = $this->_getApp();
+      return $App->getOGImageWidth();
+    }
+    return $this->MetaImageWidth;
+  }
+
+  /**
+   * Set $MetaImageWidth
+   *
+   * @param string $width
+   */
+  public function setMetaImageWidth($width) {
+    if (is_numeric($width)) {
+      $this->MetaImageWidth = $width;
+    }
+  }
+
+  /**
+   * Get $MetaImageHeight output
+   */
+  public function getMetaImageHeight() {
+    if (empty($this->MetaImageHeight)) {
+      $App = $this->_getApp();
+      return $App->getOGImageHeight();
+    }
+    return $this->MetaImageHeight;
+  }
+
+  /**
+   * Set $MetaImageHeight
+   *
+   * @param string $height
+   */
+  public function setMetaImageHeight($height) {
+    if (is_numeric($height)) {
+      $this->MetaImageHeight = $height;
+    }
+  }
+
+  /**
+   * Get random promo ad
+   *
+   * @return string
+   */
+  public function getRandomPromo($frontpage = FALSE){
+    include_once ($_SERVER['DOCUMENT_ROOT'] . "/membership/promo/promos.php");
+    if (!function_exists('chooseRandomPromo')) {
+      return '';
+    }
+
+    $ad_id = null;
+    if (isset($_GET['ad_id']) && ctype_digit($_GET['ad_id'])) {
+      $ad_id = $_GET['ad_id'];
+    }
+
+    return chooseRandomPromo($ad_id, $frontpage);
+  }
+
+  /**
+   * Prevent page caching
+   *
+   * @return boolean
+   */
+  function preventCaching() {
+    $this->App->preventCaching();
+    return TRUE;
+  }
+
+  /**
+   * Fetch EF google banner ad
+   *
+   * @return string
+   */
+  function getGoogleBannerAd(){
+    return <<<EOHTML
+<script type="text/javascript">
+<!--
+google_ad_client = "pub-6797025590085056";
+/* 728x90, created 4/17/09 */
+google_ad_slot = "9174493316";
+google_ad_width = 468;
+google_ad_height = 60;
+//-->
+</script>
+ <script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"></script>
+EOHTML;
+  }
 }
\ No newline at end of file
diff --git a/eclipse.org-common/classes/themes/eclipse_ide.class.php b/eclipse.org-common/classes/themes/eclipse_ide.class.php
new file mode 100644
index 0000000..29d54ee
--- /dev/null
+++ b/eclipse.org-common/classes/themes/eclipse_ide.class.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Copyright (c) 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *   Christopher Guindon (Eclipse Foundation) - Initial implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+require_once ('quicksilver.class.php');
+class Eclipse_ide extends Quicksilver {
+
+  /**
+   * Constructor
+   */
+  public function __construct($App = NULL) {
+    parent::__construct($App);
+
+    $this->setTheme('eclipse_ide');
+
+    // Set default images
+    $image_path = $this->getThemeUrl('solstice') . 'public/images/logo/eclipse-ide/';
+
+    $this->setAttributes('img_logo_default', $image_path . 'eclipse_logo_white.svg', 'src');
+    $this->setAttributes('img_logo_eclipse_default', $image_path . 'eclipse_logo_white.svg', 'src');
+    $this->setAttributes('img_logo_eclipse_white', $image_path . 'eclipse_logo_white.svg', 'src');
+    $this->setAttributes('img_logo_mobile', $image_path . 'eclipse_logo_white.svg', 'src');
+
+
+    $this->removeAttributes('featured-footer', 'background-secondary');
+    $this->setAttributes('featured-footer', 'background-tertiary');
+
+  }
+}
diff --git a/eclipse.org-common/classes/themes/jakarta.class.php b/eclipse.org-common/classes/themes/jakarta.class.php
new file mode 100644
index 0000000..92d74df
--- /dev/null
+++ b/eclipse.org-common/classes/themes/jakarta.class.php
@@ -0,0 +1,56 @@
+<?php
+/**
+ * Copyright (c) 2018 Eclipse Foundation and others.
+ *
+ * This program and the accompanying materials are made
+ * available under the terms of the Eclipse Public License 2.0
+ * which is available at https://www.eclipse.org/legal/epl-2.0/
+ *
+ * Contributors:
+ *   Eric Poirier (Eclipse Foundation) - Initial implementation
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+
+require_once ('quicksilver.class.php');
+class Jakarta extends Quicksilver {
+
+  /**
+   * Constructor
+   */
+  public function __construct($App = NULL) {
+    parent::__construct($App);
+
+    $this->setTheme('jakarta');
+
+    // Set default images
+    $image_path = $this->getThemeUrl('solstice') . 'public/images/logo/';
+    $this->setAttributes('img_logo_default', $image_path . 'jakarta-ee-white.svg', 'src');
+    $this->setAttributes('img_logo_default', 'Eclipse.org logo', 'alt');
+    $this->setAttributes('img_logo_default', 'logo-eclipse-default img-responsive hidden-xs', 'class');
+
+    $this->setAttributes('img_logo_eclipse_default', $image_path . 'jakarta-ee-white.svg', 'src');
+    $this->setAttributes('img_logo_eclipse_default', 'Eclipse.org logo', 'alt');
+    $this->setAttributes('img_logo_eclipse_default', 'img-responsive hidden-xs', 'class');
+
+    $this->setAttributes('img_logo_eclipse_white', $image_path . 'jakarta-ee-white.svg', 'src');
+    $this->setAttributes('img_logo_eclipse_white', 'Eclipse.org black and white logo', 'alt');
+    $this->setAttributes('img_logo_eclipse_white', 'logo-eclipse-white img-responsive');
+
+    $this->setAttributes('img_logo_mobile', $image_path . 'jakarta-ee-white.svg', 'src');
+    $this->setAttributes('img_logo_mobile', 'Eclipse.org logo', 'alt');
+    $this->setAttributes('img_logo_mobile', 'logo-eclipse-default-mobile img-responsive', 'class');
+
+  }
+
+
+  /**
+   * Implement BaseTheme::getFooterPrexfix()
+   *
+   * {@inheritDoc}
+   * @see BaseTheme::getFooterPrexfix()
+   */
+  public function getFooterPrexfix() {
+    return "";
+  }
+}
diff --git a/eclipse.org-common/classes/themes/locationtech.class.php b/eclipse.org-common/classes/themes/locationtech.class.php
index d4c7c0d..b8a2420 100644
--- a/eclipse.org-common/classes/themes/locationtech.class.php
+++ b/eclipse.org-common/classes/themes/locationtech.class.php
@@ -179,7 +179,8 @@
         <li class="leaf"><a href="https://locationtech.org/wiki" title="">Wiki</a></li>
         <li class="leaf"><a href="http://foss4g-na.org" title="">FOSS4G NA</a></li>
         <li class="leaf"><a href="http://tour.locationtech.org" title="">Tour</a></li>
-        <li class="last leaf"><a href="http://fedgeoday.org" title="">FedGeoDay</a></li>
+        <li class="leaf"><a href="http://fedgeoday.org" title="">FedGeoDay</a></li>
+        <li class="last leaf"><a href="https://status.eclipse.org">Service Status</a></li>
       </ul>
 EOHTML;
   }
@@ -191,16 +192,9 @@
     return <<<EOHTML
       <div id="footer-working-group-left" class="col-sm-10 col-xs-offset-1 col-md-11 col-md-offset-1 footer-working-group-col">
         {$this->getLogo('default', TRUE)}<br/>
-        <h2 class="section-title sr-only">Other</h2>
-        <ul class="list-inline social-media">
-          <li class="link_twitter first"><a href="//twitter.com/locationtech"><i class="fa fa-twitter-square"></i></a></li>
-          <li class="link_facebook last"><a href="//www.facebook.com/groups/401867609865450/"><i class="fa fa-facebook-square"></i></a></li>
-        </ul>
       </div>
       <div  id="footer-working-group-right" class="col-sm-10 col-xs-offset-1 col-sm-offset-3 col-md-11 col-md-offset-1 footer-working-group-col">
        <span class="hidden-print">{$this->getLogo('eclipse_white', $this->getEclipseUrl())}</span>
-        <p class="padding-top-15">LocationTech is a Working Group of The Eclipse Foundation.</p>
-        <p>{$this->getCopyrightNotice()}</p>
       </div>
 EOHTML;
   }
@@ -209,7 +203,32 @@
    * Get Html of Footer Region 5
    */
   public function getFooterRegion5() {
-    return "";
+    return <<<EOHTML
+      <div class="col-sm-24 margin-top-20">
+        <div class="row">
+          <div id="copyright" class="col-md-16">
+            <p>LocationTech is a Working Group of The Eclipse Foundation.</p>
+            <p id="copyright-text">{$this->getCopyrightNotice()}</p>
+          </div>
+          <div class="col-md-8 social-media">
+            <ul class="list-inline">
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="//twitter.com/locationtech">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-twitter fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="//www.facebook.com/groups/401867609865450/">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-facebook fa-stack-1x"></i>
+                </a>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+EOHTML;
   }
 
 }
diff --git a/eclipse.org-common/classes/themes/polarsys.class.php b/eclipse.org-common/classes/themes/polarsys.class.php
index a0f5139..60933e6 100644
--- a/eclipse.org-common/classes/themes/polarsys.class.php
+++ b/eclipse.org-common/classes/themes/polarsys.class.php
@@ -176,6 +176,7 @@
         <li class="leaf"><a href="//polarsys.org/faq" title="Frequently Asked Questions">FAQ</a></li>
         <li class="leaf"><a href="//polarsys.org/news" title="">News and Events</a></li>
         <li class="last leaf"><a href="//polarsys.org/polarsys-newsletter" title="">Newsletter</a></li>
+        <li class="last leaf"><a href="https://status.eclipse.org">Service Status</a></li>
       </ul>
 EOHTML;
   }
@@ -188,20 +189,10 @@
       <div id="footer-working-group-left" class="col-sm-10 col-xs-offset-1 col-md-11 col-md-offset-1 footer-working-group-col">
         {$this->getLogo('default', TRUE)}<br/>
         {$this->getLogo('polarsys_sectors', TRUE)}
-
-        <h2 class="section-title sr-only">Other</h2>
-        <ul class="list-inline social-media">
-          <li class="link_twitter first"><a href="//twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
-          <li class="link_google"><a href="//plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
-          <li class="link_facebook"><a href="//www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i></a></li>
-          <li class="link_youtube last"><a href="//www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
-        </ul>
       </div>
 
       <div  id="footer-working-group-right" class="col-sm-10 col-xs-offset-1 col-sm-offset-3 col-md-11 col-md-offset-1 footer-working-group-col">
         {$this->getLogo('eclipse_default', $this->getEclipseUrl())}
-        <p class="padding-top-15">PolarSys is a Working Group of The Eclipse Foundation.</p>
-        <p>{$this->getCopyrightNotice()}</p>
        </div>
 EOHTML;
   }
@@ -210,7 +201,50 @@
    * Get Html of Footer Region 5
    */
   public function getFooterRegion5() {
-    return "";
+    return <<<EOHTML
+      <div class="col-sm-24 margin-top-20">
+        <div class="row">
+          <div id="copyright" class="col-md-16">
+            <p>PolarSys is a Working Group of The Eclipse Foundation.</p>
+            <p id="copyright-text">{$this->getCopyrightNotice()}</p>
+          </div>
+          <div class="col-md-8 social-media">
+            <ul class="list-inline">
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://twitter.com/EclipseFdn">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-twitter fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://plus.google.com/+Eclipse">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-google-plus fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.facebook.com/eclipse.org">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-facebook fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.youtube.com/user/EclipseFdn">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-youtube fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.linkedin.com/company/eclipse-foundation">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-linkedin fa-stack-1x"></i>
+                </a>
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+EOHTML;
   }
 
 }
diff --git a/eclipse.org-common/classes/themes/quicksilver.class.php b/eclipse.org-common/classes/themes/quicksilver.class.php
new file mode 100644
index 0000000..ad60275
--- /dev/null
+++ b/eclipse.org-common/classes/themes/quicksilver.class.php
@@ -0,0 +1,198 @@
+<?php
+/**
+ * *****************************************************************************
+ * Copyright (c) 2016 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christopher Guindon (Eclipse Foundation) - Initial implementation
+ * *****************************************************************************
+ */
+
+require_once ('solstice.class.php');
+class Quicksilver extends solstice {
+
+  /**
+   * Constructor
+   */
+  public function __construct($App = NULL) {
+    parent::__construct($App);
+    $this->setTheme('quicksilver');
+
+    $this->resetAttributes('header-left');
+    $this->resetAttributes('main-menu-wrapper');
+    $this->resetAttributes('header-right');
+    $this->resetAttributes('main-sidebar');
+
+    $this->setAttributes('header-left', 'col-sm-5 col-md-4');
+    $this->setAttributes('main-menu-wrapper', 'col-sm-15 col-md-15 reset margin-top-10');
+    $this->setAttributes('main-menu-wrapper-no-header-right', 'col-sm-24 col-md-19 reset margin-top-10');
+    $this->setAttributes('header-right', 'col-sm-4 col-md-5 text-right hidden-print hidden-xs pull-right margin-top-10');
+
+    $this->setAttributes('navbar-main-menu', 'float-right');
+    $this->removeAttributes('main', 'no-promo');
+    $this->setAttributes('breadcrumbs', 'breadcrumbs-default-margin');
+    $this->setAlternateLayout();
+    $this->removeAttributes('img_logo_default', 'img-responsive', 'class');
+    $this->setAttributes('img_logo_default', '160', 'width');
+    $this->setAttributes('img_logo_mobile', '160', 'width');
+
+    // Featured footer
+    $this->setAttributes('featured-footer', 'featured-footer featured-footer-newsletter background-secondary');
+
+    // Set attributes on main sidebar
+    $this->setAttributes('main-sidebar', 'main-sidebar-default-margin');
+  }
+
+  public function setAlternateLayout($enable = FALSE) {
+   $image_path = '//www.eclipse.org' . $this->getThemeUrl('solstice') . 'public/images/logo/';
+   $default_logo = 'eclipse-foundation-white-orange.svg';
+    if ($enable) {
+      $default_logo = 'eclipse-foundation-grey-orange.svg';
+      $this->setAttributes('body', 'alternate-layout');
+    }
+    else {
+      $this->removeAttributes('body', 'alternate-layout');
+    }
+
+    // Set default images
+    $this->setAttributes('img_logo_default', $image_path . $default_logo, 'src');
+    $this->setAttributes('img_logo_eclipse_default', $image_path . $default_logo, 'src');
+    $this->setAttributes('img_logo_eclipse_white', $image_path . 'eclipse-foundation-white.svg', 'src');
+    $this->setAttributes('img_logo_mobile', $image_path . $default_logo, 'src');
+  }
+
+  /**
+   * Implement BaseTheme::_getHeaderRight();
+   *
+   * Hide headerRight div if empty
+   *
+   * {@inheritDoc}
+   * @see BaseTheme::_getHeaderRight()
+   */
+  public function getHeaderRight(){
+    $cfa_button = $this->getCfaButton();
+    if (!$this->getDisplayHeaderRight() || empty($cfa_button)) {
+      $this->setDisplayHeaderRight(FALSE);
+      $this->resetAttributes('main-menu-wrapper');
+      $this->setAttributes('main-menu-wrapper', 'col-sm-19 col-md-20 reset');
+
+      if (strtolower($this->getLayout()) !== 'barebone') {
+        $this->setAttributes('main-menu-wrapper', 'margin-top-10');
+      }
+      return "";
+    }
+
+   return <<<EOHTML
+      <div{$this->getAttributes('header-right')}>
+        {$this->getCfaButton()}
+      </div>
+EOHTML;
+  }
+
+  /**
+   * Implement BaseTheme::getHeaderLeft();
+   *
+   * Reset header left classes for thin layout
+   *
+   * {@inheritDoc}
+   * @see BaseTheme::getHeaderLeft()
+   */
+  public function getHeaderLeft(){
+    $layout_types = array(
+      'thin',
+      'thin-header',
+      'thin-with-footer-min'
+    );
+    $cfa_button = $this->getCfaButton();
+    if (in_array($this->getLayout(), $layout_types) && (!$this->getDisplayHeaderRight() || empty($cfa_button))) {
+      $this->resetAttributes('header-left', 'class');
+      $this->setAttributes('header-left', 'col-sm-5 col-md-4');
+    }
+    return <<<EOHTML
+      <div{$this->getAttributes('header-left')}>
+        {$this->getLogo('default', TRUE)}
+      </div>
+EOHTML;
+  }
+
+  /**
+   * Get Menu Suffix
+   *
+   * @return string
+   */
+  protected function _getMenuSuffix(){
+    $suffix_items = array();
+
+    $google_search = $this->getGoogleSearch();
+    if (!empty($google_search)) {
+      $suffix_items[] = <<<EOHTML
+      <li class="dropdown eclipse-more main-menu-search">
+        <a data-toggle="dropdown" class="dropdown-toggle" role="button"><i class="fa fa-search"></i> <b class="caret"></b></a>
+        <ul class="dropdown-menu">
+          <li>
+            <!-- Content container to add padding -->
+            <div class="yamm-content">
+              <div class="row">
+                <div class="col-sm-24">
+                  <p>Search</p>
+                  {$this->getGoogleSearch()}
+                </div>
+              </div>
+            </div>
+          </li>
+        </ul>
+      </li>
+EOHTML;
+    }
+
+   return implode('',$suffix_items);
+  }
+
+  /**
+   * Implement BaseTheme::getFooterPrexfix()
+   *
+   * {@inheritDoc}
+   * @see BaseTheme::getFooterPrexfix()
+   */
+  public function getFooterPrexfix() {
+    $main_container_col = "col-sm-24";
+    $promo_html = "";
+
+    include_once ($_SERVER['DOCUMENT_ROOT'] . "/membership/promo/promos.php");
+    if (function_exists('getFoundationPromos') && function_exists('buildStrategicAd')) {
+      $foundation_promo = getFoundationPromos();
+      if (!empty($foundation_promo)) {
+        $main_container_col = "col-sm-10 col-sm-offset-3 margin-bottom-20";
+        $foundation_promo = reset($foundation_promo);
+        $promo_html = '<div class="col-sm-8">' . buildStrategicAd($foundation_promo) . '</div>';
+      }
+    }
+
+    return <<<EOHTML
+    <!-- Sign Up to our Newsletter -->
+    <div{$this->getAttributes('featured-footer')}>
+      <div class="container">
+        <div class="row">
+          <div class="{$main_container_col}">
+            <p><i data-feather="mail" stroke-width="1"></i></p>
+            <h2>Sign up to our Newsletter</h2>
+            <p>A fresh new issue delivered monthly</p>
+            <form action="https://eclipsecon.us6.list-manage.com/subscribe/post" method="post" target="_blank">
+              <div class="form-group">
+                <input type="hidden" name="u" value="eaf9e1f06f194eadc66788a85">
+                <input type="hidden" name="id" value="46e57eacf1">
+              </div>
+              <input type="submit" value="Subscribe" name="subscribe" class="button btn btn-warning">
+            </form>
+          </div>
+          {$promo_html}
+        </div>
+      </div>
+    </div>
+EOHTML;
+  }
+}
diff --git a/eclipse.org-common/classes/themes/solstice.class.php b/eclipse.org-common/classes/themes/solstice.class.php
index 499aecf..e988348 100644
--- a/eclipse.org-common/classes/themes/solstice.class.php
+++ b/eclipse.org-common/classes/themes/solstice.class.php
@@ -22,14 +22,14 @@
     $this->setTheme('solstice');
     parent::__construct($App);
 
-    $this->setAttributes('header-left', 'col-sm-8 col-md-6 col-lg-5');
+    $this->setAttributes('header-left', 'col-sm-5 col-md-4');
     $this->setAttributes('main-menu-wrapper', 'col-sm-14 col-md-16 col-lg-19 reset');
     $this->setAttributes('header-right', 'col-sm-10 col-md-8 col-lg-5 hidden-print hidden-xs pull-right');
 
-    $this->setAttributes('footer1', 'col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print');
-    $this->setAttributes('footer2', 'col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print');
-    $this->setAttributes('footer3', 'col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print');
-    $this->setAttributes('footer4', 'col-sm-offset-1 col-xs-11 col-sm-7 col-md-6 col-md-offset-0 hidden-print');
+    $this->setAttributes('footer1', 'col-sm-6 hidden-print');
+    $this->setAttributes('footer2', 'col-sm-6 hidden-print');
+    $this->setAttributes('footer3', 'col-sm-6 hidden-print');
+    $this->setAttributes('footer4', 'col-sm-6 hidden-print');
   }
 
   /**
@@ -39,7 +39,7 @@
     return <<<EOHTML
     <h2 class="section-title">Eclipse Foundation</h2>
     <ul class="nav">
-    <li><a href="{$this->getBaseUrl()}org/">About us</a></li>
+    <li><a href="{$this->getBaseUrl()}org/">About Us</a></li>
     <li><a href="{$this->getBaseUrl()}org/foundation/contact.php">Contact Us</a></li>
     <li><a href="{$this->getBaseUrl()}donate">Donate</a></li>
       <li><a href="{$this->getBaseUrl()}org/documents/">Governance</a></li>
@@ -93,14 +93,7 @@
       <li><a href="{$this->getBaseUrl()}projects">Community of Projects</a></li>
       <li><a href="{$this->getBaseUrl()}org/workinggroups/">Working Groups</a></li>
       <li><a href="{$this->getBaseUrl()}org/research/">Research@Eclipse</a></li>
-    </ul>
-
-    <ul class="list-inline social-media">
-      <li><a href="https://twitter.com/EclipseFdn"><i class="fa fa-twitter-square"></i></a></li>
-      <li><a href="https://plus.google.com/+Eclipse"><i class="fa fa-google-plus-square"></i></a></li>
-      <li><a href="https://www.facebook.com/eclipse.org"><i class="fa fa-facebook-square"></i> </a></li>
-      <li><a href="https://www.youtube.com/user/EclipseFdn"><i class="fa fa-youtube-square"></i></a></li>
-      <li><a href="https://www.linkedin.com/company/eclipse-foundation"><i class="fa fa-linkedin-square"></i></a></li>
+      <li><a href="https://status.eclipse.org">Service Status</a></li>
     </ul>
 EOHTML;
   }
@@ -110,9 +103,46 @@
    */
   public function getFooterRegion5() {
     return <<<EOHTML
-      <div id="copyright" class="col-sm-offset-1 col-sm-14 col-md-24 col-md-offset-0">
-        <span class="hidden-print">{$this->getLogo('eclipse_white', $this->getEclipseUrl())}</span>
-        <p id="copyright-text">{$this->getCopyrightNotice()}</p>
+      <div class="col-sm-24 margin-top-20">
+        <div class="row">
+          <div id="copyright" class="col-md-16">
+            <p id="copyright-text">{$this->getCopyrightNotice()}</p>
+          </div>
+          <div class="col-md-8 social-media">
+            <ul class="list-inline">
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://twitter.com/EclipseFdn">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-twitter fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://plus.google.com/+Eclipse">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-google-plus fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.facebook.com/eclipse.org">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-facebook fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.youtube.com/user/EclipseFdn">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-youtube fa-stack-1x"></i>
+                </a>
+              </li>
+              <li>
+                <a class="social-media-link fa-stack fa-lg" href="https://www.linkedin.com/company/eclipse-foundation">
+                  <i class="fa fa-circle-thin fa-stack-2x"></i>
+                  <i class="fa fa-linkedin fa-stack-1x"></i>
+                </a>
+              </li>
+            </ul>
+          </div>
+        </div>
       </div>
 EOHTML;
   }
diff --git a/eclipse.org-common/classes/users/infraBlock.class.php b/eclipse.org-common/classes/users/infraBlock.class.php
index a4a39bc..a4b635d 100644
--- a/eclipse.org-common/classes/users/infraBlock.class.php
+++ b/eclipse.org-common/classes/users/infraBlock.class.php
@@ -31,7 +31,7 @@
   /**
    * Constructor
    */
-  function InfraBlock() {
+  function __construct() {
 
     global $App;
     $this->App = $App;
diff --git a/eclipse.org-common/json/JSON.php b/eclipse.org-common/json/JSON.php
deleted file mode 100644
index 9caa5f8..0000000
--- a/eclipse.org-common/json/JSON.php
+++ /dev/null
@@ -1,806 +0,0 @@
-<?php
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Converts to and from JSON format.
- *
- * JSON (JavaScript Object Notation) is a lightweight data-interchange
- * format. It is easy for humans to read and write. It is easy for machines
- * to parse and generate. It is based on a subset of the JavaScript
- * Programming Language, Standard ECMA-262 3rd Edition - December 1999.
- * This feature can also be found in  Python. JSON is a text format that is
- * completely language independent but uses conventions that are familiar
- * to programmers of the C-family of languages, including C, C++, C#, Java,
- * JavaScript, Perl, TCL, and many others. These properties make JSON an
- * ideal data-interchange language.
- *
- * This package provides a simple encoder and decoder for JSON notation. It
- * is intended for use with client-side Javascript applications that make
- * use of HTTPRequest to perform server communication functions - data can
- * be encoded into JSON notation for use in a client-side javascript, or
- * decoded from incoming Javascript requests. JSON format is native to
- * Javascript, and can be directly eval()'ed with no further parsing
- * overhead
- *
- * All strings should be in ASCII or UTF-8 format!
- *
- * LICENSE: Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met: Redistributions of source code must retain the
- * above copyright notice, this list of conditions and the following
- * disclaimer. Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following disclaimer
- * in the documentation and/or other materials provided with the
- * distribution.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
- * NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- *
- * @category
- * @package     Services_JSON
- * @author      Michal Migurski <mike-json@teczno.com>
- * @author      Matt Knapp <mdknapp[at]gmail[dot]com>
- * @author      Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
- * @copyright   2005 Michal Migurski
- * @version     CVS: $Id: JSON.php,v 1.1 2009/05/06 18:23:36 droy Exp $
- * @license     http://www.opensource.org/licenses/bsd-license.php
- * @link        http://pear.php.net/pepr/pepr-proposal-show.php?id=198
- */
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_SLICE',   1);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_STR',  2);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_ARR',  3);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_OBJ',  4);
-
-/**
- * Marker constant for Services_JSON::decode(), used to flag stack state
- */
-define('SERVICES_JSON_IN_CMT', 5);
-
-/**
- * Behavior switch for Services_JSON::decode()
- */
-define('SERVICES_JSON_LOOSE_TYPE', 16);
-
-/**
- * Behavior switch for Services_JSON::decode()
- */
-define('SERVICES_JSON_SUPPRESS_ERRORS', 32);
-
-/**
- * Converts to and from JSON format.
- *
- * Brief example of use:
- *
- * <code>
- * // create a new instance of Services_JSON
- * $json = new Services_JSON();
- *
- * // convert a complexe value to JSON notation, and send it to the browser
- * $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));
- * $output = $json->encode($value);
- *
- * print($output);
- * // prints: ["foo","bar",[1,2,"baz"],[3,[4]]]
- *
- * // accept incoming POST data, assumed to be in JSON notation
- * $input = file_get_contents('php://input', 1000000);
- * $value = $json->decode($input);
- * </code>
- */
-class Services_JSON
-{
-   /**
-    * constructs a new JSON instance
-    *
-    * @param    int     $use    object behavior flags; combine with boolean-OR
-    *
-    *                           possible values:
-    *                           - SERVICES_JSON_LOOSE_TYPE:  loose typing.
-    *                                   "{...}" syntax creates associative arrays
-    *                                   instead of objects in decode().
-    *                           - SERVICES_JSON_SUPPRESS_ERRORS:  error suppression.
-    *                                   Values which can't be encoded (e.g. resources)
-    *                                   appear as NULL instead of throwing errors.
-    *                                   By default, a deeply-nested resource will
-    *                                   bubble up with an error, so all return values
-    *                                   from encode() should be checked with isError()
-    */
-    function Services_JSON($use = 0)
-    {
-        $this->use = $use;
-    }
-
-   /**
-    * convert a string from one UTF-16 char to one UTF-8 char
-    *
-    * Normally should be handled by mb_convert_encoding, but
-    * provides a slower PHP-only method for installations
-    * that lack the multibye string extension.
-    *
-    * @param    string  $utf16  UTF-16 character
-    * @return   string  UTF-8 character
-    * @access   private
-    */
-    function utf162utf8($utf16)
-    {
-        // oh please oh please oh please oh please oh please
-        if(function_exists('mb_convert_encoding')) {
-            return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16');
-        }
-
-        $bytes = (ord($utf16{0}) << 8) | ord($utf16{1});
-
-        switch(true) {
-            case ((0x7F & $bytes) == $bytes):
-                // this case should never be reached, because we are in ASCII range
-                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                return chr(0x7F & $bytes);
-
-            case (0x07FF & $bytes) == $bytes:
-                // return a 2-byte UTF-8 character
-                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                return chr(0xC0 | (($bytes >> 6) & 0x1F))
-                     . chr(0x80 | ($bytes & 0x3F));
-
-            case (0xFFFF & $bytes) == $bytes:
-                // return a 3-byte UTF-8 character
-                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                return chr(0xE0 | (($bytes >> 12) & 0x0F))
-                     . chr(0x80 | (($bytes >> 6) & 0x3F))
-                     . chr(0x80 | ($bytes & 0x3F));
-        }
-
-        // ignoring UTF-32 for now, sorry
-        return '';
-    }
-
-   /**
-    * convert a string from one UTF-8 char to one UTF-16 char
-    *
-    * Normally should be handled by mb_convert_encoding, but
-    * provides a slower PHP-only method for installations
-    * that lack the multibye string extension.
-    *
-    * @param    string  $utf8   UTF-8 character
-    * @return   string  UTF-16 character
-    * @access   private
-    */
-    function utf82utf16($utf8)
-    {
-        // oh please oh please oh please oh please oh please
-        if(function_exists('mb_convert_encoding')) {
-            return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
-        }
-
-        switch(strlen($utf8)) {
-            case 1:
-                // this case should never be reached, because we are in ASCII range
-                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                return $utf8;
-
-            case 2:
-                // return a UTF-16 character from a 2-byte UTF-8 char
-                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                return chr(0x07 & (ord($utf8{0}) >> 2))
-                     . chr((0xC0 & (ord($utf8{0}) << 6))
-                         | (0x3F & ord($utf8{1})));
-
-            case 3:
-                // return a UTF-16 character from a 3-byte UTF-8 char
-                // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                return chr((0xF0 & (ord($utf8{0}) << 4))
-                         | (0x0F & (ord($utf8{1}) >> 2)))
-                     . chr((0xC0 & (ord($utf8{1}) << 6))
-                         | (0x7F & ord($utf8{2})));
-        }
-
-        // ignoring UTF-32 for now, sorry
-        return '';
-    }
-
-   /**
-    * encodes an arbitrary variable into JSON format
-    *
-    * @param    mixed   $var    any number, boolean, string, array, or object to be encoded.
-    *                           see argument 1 to Services_JSON() above for array-parsing behavior.
-    *                           if var is a strng, note that encode() always expects it
-    *                           to be in ASCII or UTF-8 format!
-    *
-    * @return   mixed   JSON string representation of input var or an error if a problem occurs
-    * @access   public
-    */
-    function encode($var)
-    {
-        switch (gettype($var)) {
-            case 'boolean':
-                return $var ? 'true' : 'false';
-
-            case 'NULL':
-                return 'null';
-
-            case 'integer':
-                return (int) $var;
-
-            case 'double':
-            case 'float':
-                return (float) $var;
-
-            case 'string':
-                // STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT
-                $ascii = '';
-                $strlen_var = strlen($var);
-
-               /*
-                * Iterate over every character in the string,
-                * escaping with a slash or encoding to UTF-8 where necessary
-                */
-                for ($c = 0; $c < $strlen_var; ++$c) {
-
-                    $ord_var_c = ord($var{$c});
-
-                    switch (true) {
-                        case $ord_var_c == 0x08:
-                            $ascii .= '\b';
-                            break;
-                        case $ord_var_c == 0x09:
-                            $ascii .= '\t';
-                            break;
-                        case $ord_var_c == 0x0A:
-                            $ascii .= '\n';
-                            break;
-                        case $ord_var_c == 0x0C:
-                            $ascii .= '\f';
-                            break;
-                        case $ord_var_c == 0x0D:
-                            $ascii .= '\r';
-                            break;
-
-                        case $ord_var_c == 0x22:
-                        case $ord_var_c == 0x2F:
-                        case $ord_var_c == 0x5C:
-                            // double quote, slash, slosh
-                            $ascii .= '\\'.$var{$c};
-                            break;
-
-                        case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
-                            // characters U-00000000 - U-0000007F (same as ASCII)
-                            $ascii .= $var{$c};
-                            break;
-
-                        case (($ord_var_c & 0xE0) == 0xC0):
-                            // characters U-00000080 - U-000007FF, mask 110XXXXX
-                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                            $char = pack('C*', $ord_var_c, ord($var{$c + 1}));
-                            $c += 1;
-                            $utf16 = $this->utf82utf16($char);
-                            $ascii .= sprintf('\u%04s', bin2hex($utf16));
-                            break;
-
-                        case (($ord_var_c & 0xF0) == 0xE0):
-                            // characters U-00000800 - U-0000FFFF, mask 1110XXXX
-                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                            $char = pack('C*', $ord_var_c,
-                                         ord($var{$c + 1}),
-                                         ord($var{$c + 2}));
-                            $c += 2;
-                            $utf16 = $this->utf82utf16($char);
-                            $ascii .= sprintf('\u%04s', bin2hex($utf16));
-                            break;
-
-                        case (($ord_var_c & 0xF8) == 0xF0):
-                            // characters U-00010000 - U-001FFFFF, mask 11110XXX
-                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                            $char = pack('C*', $ord_var_c,
-                                         ord($var{$c + 1}),
-                                         ord($var{$c + 2}),
-                                         ord($var{$c + 3}));
-                            $c += 3;
-                            $utf16 = $this->utf82utf16($char);
-                            $ascii .= sprintf('\u%04s', bin2hex($utf16));
-                            break;
-
-                        case (($ord_var_c & 0xFC) == 0xF8):
-                            // characters U-00200000 - U-03FFFFFF, mask 111110XX
-                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                            $char = pack('C*', $ord_var_c,
-                                         ord($var{$c + 1}),
-                                         ord($var{$c + 2}),
-                                         ord($var{$c + 3}),
-                                         ord($var{$c + 4}));
-                            $c += 4;
-                            $utf16 = $this->utf82utf16($char);
-                            $ascii .= sprintf('\u%04s', bin2hex($utf16));
-                            break;
-
-                        case (($ord_var_c & 0xFE) == 0xFC):
-                            // characters U-04000000 - U-7FFFFFFF, mask 1111110X
-                            // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                            $char = pack('C*', $ord_var_c,
-                                         ord($var{$c + 1}),
-                                         ord($var{$c + 2}),
-                                         ord($var{$c + 3}),
-                                         ord($var{$c + 4}),
-                                         ord($var{$c + 5}));
-                            $c += 5;
-                            $utf16 = $this->utf82utf16($char);
-                            $ascii .= sprintf('\u%04s', bin2hex($utf16));
-                            break;
-                    }
-                }
-
-                return '"'.$ascii.'"';
-
-            case 'array':
-               /*
-                * As per JSON spec if any array key is not an integer
-                * we must treat the the whole array as an object. We
-                * also try to catch a sparsely populated associative
-                * array with numeric keys here because some JS engines
-                * will create an array with empty indexes up to
-                * max_index which can cause memory issues and because
-                * the keys, which may be relevant, will be remapped
-                * otherwise.
-                *
-                * As per the ECMA and JSON specification an object may
-                * have any string as a property. Unfortunately due to
-                * a hole in the ECMA specification if the key is a
-                * ECMA reserved word or starts with a digit the
-                * parameter is only accessible using ECMAScript's
-                * bracket notation.
-                */
-
-                // treat as a JSON object
-                if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {
-                    $properties = array_map(array($this, 'name_value'),
-                                            array_keys($var),
-                                            array_values($var));
-
-                    foreach($properties as $property) {
-                        if(Services_JSON::isError($property)) {
-                            return $property;
-                        }
-                    }
-
-                    return '{' . join(',', $properties) . '}';
-                }
-
-                // treat it like a regular array
-                $elements = array_map(array($this, 'encode'), $var);
-
-                foreach($elements as $element) {
-                    if(Services_JSON::isError($element)) {
-                        return $element;
-                    }
-                }
-
-                return '[' . join(',', $elements) . ']';
-
-            case 'object':
-                $vars = get_object_vars($var);
-
-                $properties = array_map(array($this, 'name_value'),
-                                        array_keys($vars),
-                                        array_values($vars));
-
-                foreach($properties as $property) {
-                    if(Services_JSON::isError($property)) {
-                        return $property;
-                    }
-                }
-
-                return '{' . join(',', $properties) . '}';
-
-            default:
-                return ($this->use & SERVICES_JSON_SUPPRESS_ERRORS)
-                    ? 'null'
-                    : new Services_JSON_Error(gettype($var)." can not be encoded as JSON string");
-        }
-    }
-
-   /**
-    * array-walking function for use in generating JSON-formatted name-value pairs
-    *
-    * @param    string  $name   name of key to use
-    * @param    mixed   $value  reference to an array element to be encoded
-    *
-    * @return   string  JSON-formatted name-value pair, like '"name":value'
-    * @access   private
-    */
-    function name_value($name, $value)
-    {
-        $encoded_value = $this->encode($value);
-
-        if(Services_JSON::isError($encoded_value)) {
-            return $encoded_value;
-        }
-
-        return $this->encode(strval($name)) . ':' . $encoded_value;
-    }
-
-   /**
-    * reduce a string by removing leading and trailing comments and whitespace
-    *
-    * @param    $str    string      string value to strip of comments and whitespace
-    *
-    * @return   string  string value stripped of comments and whitespace
-    * @access   private
-    */
-    function reduce_string($str)
-    {
-        $str = preg_replace(array(
-
-                // eliminate single line comments in '// ...' form
-                '#^\s*//(.+)$#m',
-
-                // eliminate multi-line comments in '/* ... */' form, at start of string
-                '#^\s*/\*(.+)\*/#Us',
-
-                // eliminate multi-line comments in '/* ... */' form, at end of string
-                '#/\*(.+)\*/\s*$#Us'
-
-            ), '', $str);
-
-        // eliminate extraneous space
-        return trim($str);
-    }
-
-   /**
-    * decodes a JSON string into appropriate variable
-    *
-    * @param    string  $str    JSON-formatted string
-    *
-    * @return   mixed   number, boolean, string, array, or object
-    *                   corresponding to given JSON input string.
-    *                   See argument 1 to Services_JSON() above for object-output behavior.
-    *                   Note that decode() always returns strings
-    *                   in ASCII or UTF-8 format!
-    * @access   public
-    */
-    function decode($str)
-    {
-        $str = $this->reduce_string($str);
-
-        switch (strtolower($str)) {
-            case 'true':
-                return true;
-
-            case 'false':
-                return false;
-
-            case 'null':
-                return null;
-
-            default:
-                $m = array();
-
-                if (is_numeric($str)) {
-                    // Lookie-loo, it's a number
-
-                    // This would work on its own, but I'm trying to be
-                    // good about returning integers where appropriate:
-                    // return (float)$str;
-
-                    // Return float or int, as appropriate
-                    return ((float)$str == (integer)$str)
-                        ? (integer)$str
-                        : (float)$str;
-
-                } elseif (preg_match('/^("|\').*(\1)$/s', $str, $m) && $m[1] == $m[2]) {
-                    // STRINGS RETURNED IN UTF-8 FORMAT
-                    $delim = substr($str, 0, 1);
-                    $chrs = substr($str, 1, -1);
-                    $utf8 = '';
-                    $strlen_chrs = strlen($chrs);
-
-                    for ($c = 0; $c < $strlen_chrs; ++$c) {
-
-                        $substr_chrs_c_2 = substr($chrs, $c, 2);
-                        $ord_chrs_c = ord($chrs{$c});
-
-                        switch (true) {
-                            case $substr_chrs_c_2 == '\b':
-                                $utf8 .= chr(0x08);
-                                ++$c;
-                                break;
-                            case $substr_chrs_c_2 == '\t':
-                                $utf8 .= chr(0x09);
-                                ++$c;
-                                break;
-                            case $substr_chrs_c_2 == '\n':
-                                $utf8 .= chr(0x0A);
-                                ++$c;
-                                break;
-                            case $substr_chrs_c_2 == '\f':
-                                $utf8 .= chr(0x0C);
-                                ++$c;
-                                break;
-                            case $substr_chrs_c_2 == '\r':
-                                $utf8 .= chr(0x0D);
-                                ++$c;
-                                break;
-
-                            case $substr_chrs_c_2 == '\\"':
-                            case $substr_chrs_c_2 == '\\\'':
-                            case $substr_chrs_c_2 == '\\\\':
-                            case $substr_chrs_c_2 == '\\/':
-                                if (($delim == '"' && $substr_chrs_c_2 != '\\\'') ||
-                                   ($delim == "'" && $substr_chrs_c_2 != '\\"')) {
-                                    $utf8 .= $chrs{++$c};
-                                }
-                                break;
-
-                            case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)):
-                                // single, escaped unicode character
-                                $utf16 = chr(hexdec(substr($chrs, ($c + 2), 2)))
-                                       . chr(hexdec(substr($chrs, ($c + 4), 2)));
-                                $utf8 .= $this->utf162utf8($utf16);
-                                $c += 5;
-                                break;
-
-                            case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F):
-                                $utf8 .= $chrs{$c};
-                                break;
-
-                            case ($ord_chrs_c & 0xE0) == 0xC0:
-                                // characters U-00000080 - U-000007FF, mask 110XXXXX
-                                //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                                $utf8 .= substr($chrs, $c, 2);
-                                ++$c;
-                                break;
-
-                            case ($ord_chrs_c & 0xF0) == 0xE0:
-                                // characters U-00000800 - U-0000FFFF, mask 1110XXXX
-                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                                $utf8 .= substr($chrs, $c, 3);
-                                $c += 2;
-                                break;
-
-                            case ($ord_chrs_c & 0xF8) == 0xF0:
-                                // characters U-00010000 - U-001FFFFF, mask 11110XXX
-                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                                $utf8 .= substr($chrs, $c, 4);
-                                $c += 3;
-                                break;
-
-                            case ($ord_chrs_c & 0xFC) == 0xF8:
-                                // characters U-00200000 - U-03FFFFFF, mask 111110XX
-                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                                $utf8 .= substr($chrs, $c, 5);
-                                $c += 4;
-                                break;
-
-                            case ($ord_chrs_c & 0xFE) == 0xFC:
-                                // characters U-04000000 - U-7FFFFFFF, mask 1111110X
-                                // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
-                                $utf8 .= substr($chrs, $c, 6);
-                                $c += 5;
-                                break;
-
-                        }
-
-                    }
-
-                    return $utf8;
-
-                } elseif (preg_match('/^\[.*\]$/s', $str) || preg_match('/^\{.*\}$/s', $str)) {
-                    // array, or object notation
-
-                    if ($str{0} == '[') {
-                        $stk = array(SERVICES_JSON_IN_ARR);
-                        $arr = array();
-                    } else {
-                        if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
-                            $stk = array(SERVICES_JSON_IN_OBJ);
-                            $obj = array();
-                        } else {
-                            $stk = array(SERVICES_JSON_IN_OBJ);
-                            $obj = new stdClass();
-                        }
-                    }
-
-                    array_push($stk, array('what'  => SERVICES_JSON_SLICE,
-                                           'where' => 0,
-                                           'delim' => false));
-
-                    $chrs = substr($str, 1, -1);
-                    $chrs = $this->reduce_string($chrs);
-
-                    if ($chrs == '') {
-                        if (reset($stk) == SERVICES_JSON_IN_ARR) {
-                            return $arr;
-
-                        } else {
-                            return $obj;
-
-                        }
-                    }
-
-                    //print("\nparsing {$chrs}\n");
-
-                    $strlen_chrs = strlen($chrs);
-
-                    for ($c = 0; $c <= $strlen_chrs; ++$c) {
-
-                        $top = end($stk);
-                        $substr_chrs_c_2 = substr($chrs, $c, 2);
-
-                        if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == SERVICES_JSON_SLICE))) {
-                            // found a comma that is not inside a string, array, etc.,
-                            // OR we've reached the end of the character list
-                            $slice = substr($chrs, $top['where'], ($c - $top['where']));
-                            array_push($stk, array('what' => SERVICES_JSON_SLICE, 'where' => ($c + 1), 'delim' => false));
-                            //print("Found split at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
-                            if (reset($stk) == SERVICES_JSON_IN_ARR) {
-                                // we are in an array, so just push an element onto the stack
-                                array_push($arr, $this->decode($slice));
-
-                            } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {
-                                // we are in an object, so figure
-                                // out the property name and set an
-                                // element in an associative array,
-                                // for now
-                                $parts = array();
-                                
-                                if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
-                                    // "name":value pair
-                                    $key = $this->decode($parts[1]);
-                                    $val = $this->decode($parts[2]);
-
-                                    if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
-                                        $obj[$key] = $val;
-                                    } else {
-                                        $obj->$key = $val;
-                                    }
-                                } elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
-                                    // name:value pair, where name is unquoted
-                                    $key = $parts[1];
-                                    $val = $this->decode($parts[2]);
-
-                                    if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
-                                        $obj[$key] = $val;
-                                    } else {
-                                        $obj->$key = $val;
-                                    }
-                                }
-
-                            }
-
-                        } elseif ((($chrs{$c} == '"') || ($chrs{$c} == "'")) && ($top['what'] != SERVICES_JSON_IN_STR)) {
-                            // found a quote, and we are not inside a string
-                            array_push($stk, array('what' => SERVICES_JSON_IN_STR, 'where' => $c, 'delim' => $chrs{$c}));
-                            //print("Found start of string at {$c}\n");
-
-                        } elseif (($chrs{$c} == $top['delim']) &&
-                                 ($top['what'] == SERVICES_JSON_IN_STR) &&
-                                 ((strlen(substr($chrs, 0, $c)) - strlen(rtrim(substr($chrs, 0, $c), '\\'))) % 2 != 1)) {
-                            // found a quote, we're in a string, and it's not escaped
-                            // we know that it's not escaped becase there is _not_ an
-                            // odd number of backslashes at the end of the string so far
-                            array_pop($stk);
-                            //print("Found end of string at {$c}: ".substr($chrs, $top['where'], (1 + 1 + $c - $top['where']))."\n");
-
-                        } elseif (($chrs{$c} == '[') &&
-                                 in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
-                            // found a left-bracket, and we are in an array, object, or slice
-                            array_push($stk, array('what' => SERVICES_JSON_IN_ARR, 'where' => $c, 'delim' => false));
-                            //print("Found start of array at {$c}\n");
-
-                        } elseif (($chrs{$c} == ']') && ($top['what'] == SERVICES_JSON_IN_ARR)) {
-                            // found a right-bracket, and we're in an array
-                            array_pop($stk);
-                            //print("Found end of array at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
-                        } elseif (($chrs{$c} == '{') &&
-                                 in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
-                            // found a left-brace, and we are in an array, object, or slice
-                            array_push($stk, array('what' => SERVICES_JSON_IN_OBJ, 'where' => $c, 'delim' => false));
-                            //print("Found start of object at {$c}\n");
-
-                        } elseif (($chrs{$c} == '}') && ($top['what'] == SERVICES_JSON_IN_OBJ)) {
-                            // found a right-brace, and we're in an object
-                            array_pop($stk);
-                            //print("Found end of object at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
-                        } elseif (($substr_chrs_c_2 == '/*') &&
-                                 in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
-                            // found a comment start, and we are in an array, object, or slice
-                            array_push($stk, array('what' => SERVICES_JSON_IN_CMT, 'where' => $c, 'delim' => false));
-                            $c++;
-                            //print("Found start of comment at {$c}\n");
-
-                        } elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == SERVICES_JSON_IN_CMT)) {
-                            // found a comment end, and we're in one now
-                            array_pop($stk);
-                            $c++;
-
-                            for ($i = $top['where']; $i <= $c; ++$i)
-                                $chrs = substr_replace($chrs, ' ', $i, 1);
-
-                            //print("Found end of comment at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
-
-                        }
-
-                    }
-
-                    if (reset($stk) == SERVICES_JSON_IN_ARR) {
-                        return $arr;
-
-                    } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {
-                        return $obj;
-
-                    }
-
-                }
-        }
-    }
-
-    /**
-     * @todo Ultimately, this should just call PEAR::isError()
-     */
-    function isError($data, $code = null)
-    {
-        if (class_exists('pear')) {
-            return PEAR::isError($data, $code);
-        } elseif (is_object($data) && (get_class($data) == 'services_json_error' ||
-                                 is_subclass_of($data, 'services_json_error'))) {
-            return true;
-        }
-
-        return false;
-    }
-}
-
-if (class_exists('PEAR_Error')) {
-
-    class Services_JSON_Error extends PEAR_Error
-    {
-        function Services_JSON_Error($message = 'unknown error', $code = null,
-                                     $mode = null, $options = null, $userinfo = null)
-        {
-            parent::PEAR_Error($message, $code, $mode, $options, $userinfo);
-        }
-    }
-
-} else {
-
-    /**
-     * @todo Ultimately, this class shall be descended from PEAR_Error
-     */
-    class Services_JSON_Error
-    {
-        function Services_JSON_Error($message = 'unknown error', $code = null,
-                                     $mode = null, $options = null, $userinfo = null)
-        {
-
-        }
-    }
-
-}
-    
-?>
diff --git a/eclipse.org-common/json/LICENSE b/eclipse.org-common/json/LICENSE
deleted file mode 100644
index 4ae6bef..0000000
--- a/eclipse.org-common/json/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimer.
-
-Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in the
-documentation and/or other materials provided with the distribution.
-
-THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
-WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
-NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
-USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
-THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/eclipse.org-common/json/Test-JSON.php b/eclipse.org-common/json/Test-JSON.php
deleted file mode 100644
index c70812f..0000000
--- a/eclipse.org-common/json/Test-JSON.php
+++ /dev/null
@@ -1,521 +0,0 @@
-<?php
-// $Id: Test-JSON.php,v 1.1 2009/05/06 18:23:36 droy Exp $
-/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
-
-/**
- * Unit tests for Services_JSON.
- * @see JSON.php
- *
- * @category
- * @package     Services_JSON
- * @author      Michal Migurski <mike-json@teczno.com>
- * @author      Matt Knapp <mdknapp[at]gmail[dot]com>
- * @author      Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
- * @copyright   2005 Michal Migurski
- * @version     CVS: $Id: Test-JSON.php,v 1.1 2009/05/06 18:23:36 droy Exp $
- * @license     http://www.opensource.org/licenses/bsd-license.php
- * @link        http://pear.php.net/pepr/pepr-proposal-show.php?id=198
- */
-
-    error_reporting(E_ALL);
-
-    require_once 'PHPUnit.php';
-    require_once 'JSON.php';
-
-    class Services_JSON_EncDec_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_EncDec_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json = new Services_JSON();
-
-            $obj = new stdClass();
-            $obj->a_string = '"he":llo}:{world';
-            $obj->an_array = array(1, 2, 3);
-            $obj->obj = new stdClass();
-            $obj->obj->a_number = 123;
-
-            $this->obj = $obj;
-            $this->obj_j = '{"a_string":"\"he\":llo}:{world","an_array":[1,2,3],"obj":{"a_number":123}}';
-            $this->obj_d = 'object with properties, nested object and arrays';
-
-            $this->arr = array(null, true, array(1, 2, 3), "hello\"],[world!");
-            $this->arr_j = '[null,true,[1,2,3],"hello\"],[world!"]';
-            $this->arr_d = 'array with elements and nested arrays';
-
-            $this->str1 = 'hello world';
-            $this->str1_j = '"hello world"';
-            $this->str1_j_ = "'hello world'";
-            $this->str1_d = 'hello world';
-            $this->str1_d_ = 'hello world, double quotes';
-
-            $this->str2 = "hello\t\"world\"";
-            $this->str2_j = '"hello\\t\\"world\\""';
-            $this->str2_d = 'hello world, with tab, double-quotes';
-
-            $this->str3 = "\\\r\n\t\"/";
-            $this->str3_j = '"\\\\\\r\\n\\t\\"\\/"';
-            $this->str3_d = 'backslash, return, newline, tab, double-quote';
-
-            $this->str4 = 'héllö wørłd';
-            $this->str4_j = '"h\u00e9ll\u00f6 w\u00f8r\u0142d"';
-            $this->str4_j_ = '"héllö wørłd"';
-            $this->str4_d = 'hello world, with unicode';
-        }
-
-        function test_to_JSON()
-        {
-            $this->assertEquals('null', $this->json->encode(null), 'type case: null');
-            $this->assertEquals('true', $this->json->encode(true), 'type case: boolean true');
-            $this->assertEquals('false', $this->json->encode(false), 'type case: boolean false');
-
-            $this->assertEquals('1', $this->json->encode(1), 'numeric case: 1');
-            $this->assertEquals('-1', $this->json->encode(-1), 'numeric case: -1');
-            $this->assertEquals('1.000000', $this->json->encode(1.0), 'numeric case: 1.0');
-            $this->assertEquals('1.100000', $this->json->encode(1.1), 'numeric case: 1.1');
-
-            $this->assertEquals($this->str1_j, $this->json->encode($this->str1), "string case: {$this->str1_d}");
-            $this->assertEquals($this->str2_j, $this->json->encode($this->str2), "string case: {$this->str2_d}");
-            $this->assertEquals($this->str3_j, $this->json->encode($this->str3), "string case: {$this->str3_d}");
-            $this->assertEquals($this->str4_j, $this->json->encode($this->str4), "string case: {$this->str4_d}");
-
-            $this->assertEquals($this->arr_j, $this->json->encode($this->arr), "array case: {$this->arr_d}");
-            $this->assertEquals($this->obj_j, $this->json->encode($this->obj), "object case: {$this->obj_d}");
-        }
-
-        function test_from_JSON()
-        {
-            $this->assertEquals(null, $this->json->decode('null'), 'type case: null');
-            $this->assertEquals(true, $this->json->decode('true'), 'type case: boolean true');
-            $this->assertEquals(false, $this->json->decode('false'), 'type case: boolean false');
-
-            $this->assertEquals(1, $this->json->decode('1'), 'numeric case: 1');
-            $this->assertEquals(-1, $this->json->decode('-1'), 'numeric case: -1');
-            $this->assertEquals(1.0, $this->json->decode('1.0'), 'numeric case: 1.0');
-            $this->assertEquals(1.1, $this->json->decode('1.1'), 'numeric case: 1.1');
-
-            $this->assertEquals(11.0, $this->json->decode('1.1e1'), 'numeric case: 1.1e1');
-            $this->assertEquals(11.0, $this->json->decode('1.10e+1'), 'numeric case: 1.10e+1');
-            $this->assertEquals(0.11, $this->json->decode('1.1e-1'), 'numeric case: 1.1e-1');
-            $this->assertEquals(-0.11, $this->json->decode('-1.1e-1'), 'numeric case: -1.1e-1');
-
-            $this->assertEquals($this->str1, $this->json->decode($this->str1_j),  "string case: {$this->str1_d}");
-            $this->assertEquals($this->str1, $this->json->decode($this->str1_j_), "string case: {$this->str1_d_}");
-            $this->assertEquals($this->str2, $this->json->decode($this->str2_j),  "string case: {$this->str2_d}");
-            $this->assertEquals($this->str3, $this->json->decode($this->str3_j),  "string case: {$this->str3_d}");
-            $this->assertEquals($this->str4, $this->json->decode($this->str4_j),  "string case: {$this->str4_d}");
-            $this->assertEquals($this->str4, $this->json->decode($this->str4_j_),  "string case: {$this->str4_d}");
-
-            $this->assertEquals($this->arr, $this->json->decode($this->arr_j), "array case: {$this->arr_d}");
-            $this->assertEquals($this->obj, $this->json->decode($this->obj_j), "object case: {$this->obj_d}");
-        }
-
-        function test_to_then_from_JSON()
-        {
-            $this->assertEquals(null, $this->json->decode($this->json->encode(null)), 'type case: null');
-            $this->assertEquals(true, $this->json->decode($this->json->encode(true)), 'type case: boolean true');
-            $this->assertEquals(false, $this->json->decode($this->json->encode(false)), 'type case: boolean false');
-
-            $this->assertEquals(1, $this->json->decode($this->json->encode(1)), 'numeric case: 1');
-            $this->assertEquals(-1, $this->json->decode($this->json->encode(-1)), 'numeric case: -1');
-            $this->assertEquals(1.0, $this->json->decode($this->json->encode(1.0)), 'numeric case: 1.0');
-            $this->assertEquals(1.1, $this->json->decode($this->json->encode(1.1)), 'numeric case: 1.1');
-
-            $this->assertEquals($this->str1, $this->json->decode($this->json->encode($this->str1)), "string case: {$this->str1_d}");
-            $this->assertEquals($this->str2, $this->json->decode($this->json->encode($this->str2)), "string case: {$this->str2_d}");
-            $this->assertEquals($this->str3, $this->json->decode($this->json->encode($this->str3)), "string case: {$this->str3_d}");
-            $this->assertEquals($this->str4, $this->json->decode($this->json->encode($this->str4)), "string case: {$this->str4_d}");
-
-            $this->assertEquals($this->arr, $this->json->decode($this->json->encode($this->arr)), "array case: {$this->arr_d}");
-            $this->assertEquals($this->obj, $this->json->decode($this->json->encode($this->obj)), "object case: {$this->obj_d}");
-        }
-
-        function test_from_then_to_JSON()
-        {
-            $this->assertEquals('null', $this->json->encode($this->json->decode('null')), 'type case: null');
-            $this->assertEquals('true', $this->json->encode($this->json->decode('true')), 'type case: boolean true');
-            $this->assertEquals('false', $this->json->encode($this->json->decode('false')), 'type case: boolean false');
-
-            $this->assertEquals('1', $this->json->encode($this->json->decode('1')), 'numeric case: 1');
-            $this->assertEquals('-1', $this->json->encode($this->json->decode('-1')), 'numeric case: -1');
-            $this->assertEquals('1.0', $this->json->encode($this->json->decode('1.0')), 'numeric case: 1.0');
-            $this->assertEquals('1.1', $this->json->encode($this->json->decode('1.1')), 'numeric case: 1.1');
-
-            $this->assertEquals($this->str1_j, $this->json->encode($this->json->decode($this->str1_j)), "string case: {$this->str1_d}");
-            $this->assertEquals($this->str2_j, $this->json->encode($this->json->decode($this->str2_j)), "string case: {$this->str2_d}");
-            $this->assertEquals($this->str3_j, $this->json->encode($this->json->decode($this->str3_j)), "string case: {$this->str3_d}");
-            $this->assertEquals($this->str4_j, $this->json->encode($this->json->decode($this->str4_j)), "string case: {$this->str4_d}");
-            $this->assertEquals($this->str4_j, $this->json->encode($this->json->decode($this->str4_j_)), "string case: {$this->str4_d}");
-
-            $this->assertEquals($this->arr_j, $this->json->encode($this->json->decode($this->arr_j)), "array case: {$this->arr_d}");
-            $this->assertEquals($this->obj_j, $this->json->encode($this->json->decode($this->obj_j)), "object case: {$this->obj_d}");
-        }
-    }
-
-    class Services_JSON_AssocArray_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_AssocArray_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json_l = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
-            $this->json_s = new Services_JSON();
-
-            $this->arr = array('car1'=> array('color'=> 'tan', 'model' => 'sedan'),
-            	'car2' => array('color' => 'red', 'model' => 'sports'));
-            $this->arr_jo = '{"car1":{"color":"tan","model":"sedan"},"car2":{"color":"red","model":"sports"}}';
-            $this->arr_d = 'associative array with nested associative arrays';
-
-            $this->arn = array(0=> array(0=> 'tan\\', 'model\\' => 'sedan'), 1 => array(0 => 'red', 'model' => 'sports'));
-            $this->arn_ja = '[{"0":"tan\\\\","model\\\\":"sedan"},{"0":"red","model":"sports"}]';
-            $this->arn_d = 'associative array with nested associative arrays, and some numeric keys thrown in';
-
-            $this->arrs = array (1 => 'one', 2 => 'two', 5 => 'five');
-            $this->arrs_jo = '{"1":"one","2":"two","5":"five"}';
-            $this->arrs_d = 'associative array numeric keys which are not fully populated in a range of 0 to length-1';
-        }
-
-        function test_type()
-        {
-            $this->assertEquals('array',  gettype($this->json_l->decode($this->arn_ja)), "loose type should be array");
-            $this->assertEquals('array',  gettype($this->json_s->decode($this->arn_ja)), "strict type should be array");
-        }
-
-        function test_to_JSON()
-        {
-            // both strict and loose JSON should result in an object
-            $this->assertEquals($this->arr_jo, $this->json_l->encode($this->arr), "array case - loose: {$this->arr_d}");
-            $this->assertEquals($this->arr_jo, $this->json_s->encode($this->arr), "array case - strict: {$this->arr_d}");
-
-            // ...unless the input array has some numeric indeces, in which case the behavior is to degrade to a regular array
-            $this->assertEquals($this->arn_ja, $this->json_s->encode($this->arn), "array case - strict: {$this->arn_d}");
-
-            // Test a sparsely populated numerically indexed associative array
-            $this->assertEquals($this->arrs_jo, $this->json_l->encode($this->arrs), "sparse numeric assoc array: {$this->arrs_d}");
-        }
-
-        function test_to_then_from_JSON()
-        {
-            // these tests motivated by a bug in which strings that end
-            // with backslashes followed by quotes were incorrectly decoded.
-            
-            foreach(array('\\"', '\\\\"', '\\"\\"', '\\""\\""', '\\\\"\\\\"') as $v) {
-                $this->assertEquals(array($v), $this->json_l->decode($this->json_l->encode(array($v))));
-                $this->assertEquals(array('a' => $v), $this->json_l->decode($this->json_l->encode(array('a' => $v))));
-            }
-        }
-    }
-
-    class Services_JSON_NestedArray_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_NestedArray_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
-
-            $this->str1 = '[{"this":"that"}]';
-            $this->arr1 = array(array('this' => 'that'));
-
-            $this->str2 = '{"this":["that"]}';
-            $this->arr2 = array('this' => array('that'));
-
-            $this->str3 = '{"params":[{"foo":["1"],"bar":"1"}]}';
-            $this->arr3 = array('params' => array(array('foo' => array('1'), 'bar' => '1')));
-
-            $this->str4 = '{"0": {"foo": "bar", "baz": "winkle"}}';
-            $this->arr4 = array('0' => array('foo' => 'bar', 'baz' => 'winkle'));
-
-            $this->str5 = '{"params":[{"options": {"old": [ ], "new": {"0": {"elements": {"old": [], "new": {"0": {"elementName": "aa", "isDefault": false, "elementRank": "0", "priceAdjust": "0", "partNumber": ""}}}, "optionName": "aa", "isRequired": false, "optionDesc": null}}}}]}';
-            $this->arr5 = array (
-              'params' => array (
-                0 => array (
-                  'options' =>
-                  array (
-                    'old' => array(),
-                    'new' => array (
-                      0 => array (
-                        'elements' => array (
-                          'old' => array(),
-                          'new' => array (
-                            0 => array (
-                              'elementName' => 'aa',
-                              'isDefault' => false,
-                              'elementRank' => '0',
-                              'priceAdjust' => '0',
-                              'partNumber' => '',
-                            ),
-                          ),
-                        ),
-                        'optionName' => 'aa',
-                        'isRequired' => false,
-                        'optionDesc' => NULL,
-                      ),
-                    ),
-                  ),
-                ),
-              ),
-            );
-        }
-
-        function test_type()
-        {
-            $this->assertEquals('array', gettype($this->json->decode($this->str1)), "loose type should be array");
-            $this->assertEquals('array', gettype($this->json->decode($this->str2)), "loose type should be array");
-            $this->assertEquals('array', gettype($this->json->decode($this->str3)), "loose type should be array");
-        }
-
-        function test_from_JSON()
-        {
-            $this->assertEquals($this->arr1, $this->json->decode($this->str1), "simple compactly-nested array");
-            $this->assertEquals($this->arr2, $this->json->decode($this->str2), "simple compactly-nested array");
-            $this->assertEquals($this->arr3, $this->json->decode($this->str3), "complex compactly nested array");
-            $this->assertEquals($this->arr4, $this->json->decode($this->str4), "complex compactly nested array");
-            $this->assertEquals($this->arr5, $this->json->decode($this->str5), "super complex compactly nested array");
-        }
-
-        function _test_from_JSON()
-        {
-            $super = '{"params":[{"options": {"old": {}, "new": {"0": {"elements": {"old": {}, "new": {"0": {"elementName": "aa", "isDefault": false, "elementRank": "0", "priceAdjust": "0", "partNumber": ""}}}, "optionName": "aa", "isRequired": false, "optionDesc": ""}}}}]}';
-            print("trying {$super}...\n");
-            print var_export($this->json->decode($super));
-        }
-    }
-
-    class Services_JSON_Object_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_Object_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json_l = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
-            $this->json_s = new Services_JSON();
-
-            $this->obj_j = '{"a_string":"\"he\":llo}:{world","an_array":[1,2,3],"obj":{"a_number":123}}';
-
-            $this->obj1->car1->color = 'tan';
-            $this->obj1->car1->model = 'sedan';
-            $this->obj1->car2->color = 'red';
-            $this->obj1->car2->model = 'sports';
-            $this->obj1_j = '{"car1":{"color":"tan","model":"sedan"},"car2":{"color":"red","model":"sports"}}';
-            $this->obj1_d = 'Object with nested objects';
-        }
-
-        function test_type()
-        {
-            $this->assertEquals('object', gettype($this->json_s->decode($this->obj_j)), "checking whether decoded type is object");
-            $this->assertEquals('array',  gettype($this->json_l->decode($this->obj_j)), "checking whether decoded type is array");
-        }
-
-        function test_to_JSON()
-        {
-            $this->assertEquals($this->obj1_j, $this->json_s->encode($this->obj1), "object - strict: {$this->obj1_d}");
-            $this->assertEquals($this->obj1_j, $this->json_l->encode($this->obj1), "object - loose: {$this->obj1_d}");
-        }
-
-        function test_from_then_to_JSON()
-        {
-            $this->assertEquals($this->obj_j, $this->json_s->encode($this->json_s->decode($this->obj_j)), "object case");
-            $this->assertEquals($this->obj_j, $this->json_l->encode($this->json_l->decode($this->obj_j)), "array case");
-        }
-    }
-
-    class Services_JSON_Spaces_Comments_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_Spaces_Comments_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
-
-            $this->obj_j = '{"a_string":"\"he\":llo}:{world","an_array":[1,2,3],"obj":{"a_number":123}}';
-
-            $this->obj_js = '{"a_string": "\"he\":llo}:{world",
-                              "an_array":[1, 2, 3],
-                              "obj": {"a_number":123}}';
-
-            $this->obj_jc1 = '{"a_string": "\"he\":llo}:{world",
-                              // here is a comment, hoorah
-                              "an_array":[1, 2, 3],
-                              "obj": {"a_number":123}}';
-
-            $this->obj_jc2 = '/* this here is the sneetch */ "the sneetch"
-                              // this has been the sneetch.';
-
-            $this->obj_jc3 = '{"a_string": "\"he\":llo}:{world",
-                              /* here is a comment, hoorah */
-                              "an_array":[1, 2, 3 /* and here is another */],
-                              "obj": {"a_number":123}}';
-
-            $this->obj_jc4 = '{\'a_string\': "\"he\":llo}:{world",
-                              /* here is a comment, hoorah */
-                              \'an_array\':[1, 2, 3 /* and here is another */],
-                              "obj": {"a_number":123}}';
-        }
-
-        function test_spaces()
-        {
-            $this->assertEquals($this->json->decode($this->obj_j), $this->json->decode($this->obj_js), "checking whether notation with spaces works");
-        }
-
-        function test_comments()
-        {
-            $this->assertEquals($this->json->decode($this->obj_j), $this->json->decode($this->obj_jc1), "checking whether notation with single line comments works");
-            $this->assertEquals('the sneetch', $this->json->decode($this->obj_jc2), "checking whether notation with multiline comments works");
-            $this->assertEquals($this->json->decode($this->obj_j), $this->json->decode($this->obj_jc3), "checking whether notation with multiline comments works");
-            $this->assertEquals($this->json->decode($this->obj_j), $this->json->decode($this->obj_jc4), "checking whether notation with single-quotes and multiline comments works");
-        }
-    }
-
-    class Services_JSON_Empties_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_Empties_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json_l = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
-            $this->json_s = new Services_JSON();
-
-            $this->obj0_j = '{}';
-            $this->arr0_j = '[]';
-
-            $this->obj1_j = '{ }';
-            $this->arr1_j = '[ ]';
-
-            $this->obj2_j = '{ /* comment inside */ }';
-            $this->arr2_j = '[ /* comment inside */ ]';
-        }
-
-        function test_type()
-        {
-            $this->assertEquals('array',   gettype($this->json_l->decode($this->arr0_j)), "should be array");
-            $this->assertEquals('object',  gettype($this->json_s->decode($this->obj0_j)), "should be object");
-
-            $this->assertEquals(0,  count($this->json_l->decode($this->arr0_j)), "should be empty array");
-            $this->assertEquals(0,  count(get_object_vars($this->json_s->decode($this->obj0_j))), "should be empty object");
-
-            $this->assertEquals('array',   gettype($this->json_l->decode($this->arr1_j)), "should be array, even with space");
-            $this->assertEquals('object',  gettype($this->json_s->decode($this->obj1_j)), "should be object, even with space");
-
-            $this->assertEquals(0,  count($this->json_l->decode($this->arr1_j)), "should be empty array, even with space");
-            $this->assertEquals(0,  count(get_object_vars($this->json_s->decode($this->obj1_j))), "should be empty object, even with space");
-
-            $this->assertEquals('array',   gettype($this->json_l->decode($this->arr2_j)), "should be array, despite comment");
-            $this->assertEquals('object',  gettype($this->json_s->decode($this->obj2_j)), "should be object, despite comment");
-
-            $this->assertEquals(0,  count($this->json_l->decode($this->arr2_j)), "should be empty array, despite comment");
-            $this->assertEquals(0,  count(get_object_vars($this->json_s->decode($this->obj2_j))), "should be empty object, despite commentt");
-        }
-    }
-
-    class Services_JSON_UnquotedKeys_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_UnquotedKeys_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
-
-            $this->arn = array(0=> array(0=> 'tan', 'model' => 'sedan'), 1 => array(0 => 'red', 'model' => 'sports'));
-            $this->arn_ja = '[{0:"tan","model":"sedan"},{"0":"red",model:"sports"}]';
-            $this->arn_d = 'associative array with unquoted keys, nested associative arrays, and some numeric keys thrown in';
-
-            $this->arrs = array (1 => 'one', 2 => 'two', 5 => 'fi"ve');
-            $this->arrs_jo = '{"1":"one",2:"two","5":\'fi"ve\'}';
-            $this->arrs_d = 'associative array with unquoted keys, single-quoted values, numeric keys which are not fully populated in a range of 0 to length-1';
-        }
-
-        function test_from_JSON()
-        {
-            // ...unless the input array has some numeric indeces, in which case the behavior is to degrade to a regular array
-            $this->assertEquals($this->arn, $this->json->decode($this->arn_ja), "array case - strict: {$this->arn_d}");
-
-            // Test a sparsely populated numerically indexed associative array
-            $this->assertEquals($this->arrs, $this->json->decode($this->arrs_jo), "sparse numeric assoc array: {$this->arrs_d}");
-        }
-    }
-
-    class Services_JSON_ErrorSuppression_TestCase extends PHPUnit_TestCase {
-
-        function Services_JSON_ErrorSuppression_TestCase($name) {
-            $this->PHPUnit_TestCase($name);
-        }
-
-        function setUp() {
-            $this->json = new Services_JSON();
-            $this->json_ = new Services_JSON(SERVICES_JSON_SUPPRESS_ERRORS);
-
-            $this->res = tmpfile();
-            $this->res_j_ = 'null';
-            $this->res_d = 'naked resource';
-
-            $this->arr = array('a', 1, tmpfile());
-            $this->arr_j_ = '["a",1,null]';
-            $this->arr_d = 'array with string, number and resource';
-
-            $obj = new stdClass();
-            $obj->a_string = '"he":llo}:{world';
-            $obj->an_array = array(1, 2, 3);
-            $obj->resource = tmpfile();
-
-            $this->obj = $obj;
-            $this->obj_j_ = '{"a_string":"\"he\":llo}:{world","an_array":[1,2,3],"resource":null}';
-            $this->obj_d = 'object with properties, array, and nested resource';
-        }
-
-        function test_to_JSON()
-        {
-            $this->assertTrue(Services_JSON::isError($this->json->encode($this->res)), "resource case: {$this->res_d}");
-            $this->assertTrue(Services_JSON::isError($this->json->encode($this->arr)), "array case: {$this->arr_d}");
-            $this->assertTrue(Services_JSON::isError($this->json->encode($this->obj)), "object case: {$this->obj_d}");
-        }
-
-        function test_to_JSON_suppressed()
-        {
-            $this->assertEquals($this->res_j_, $this->json_->encode($this->res), "resource case: {$this->res_d}");
-            $this->assertEquals($this->arr_j_, $this->json_->encode($this->arr), "array case: {$this->arr_d}");
-            $this->assertEquals($this->obj_j_, $this->json_->encode($this->obj), "object case: {$this->obj_d}");
-        }
-    }
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_EncDec_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_AssocArray_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_NestedArray_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_Object_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_Spaces_Comments_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_Empties_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_UnquotedKeys_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-    $suite  = new PHPUnit_TestSuite('Services_JSON_ErrorSuppression_TestCase');
-    $result = PHPUnit::run($suite);
-    echo $result->toString();
-
-?>
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON.html
deleted file mode 100644
index 3147578..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON.html
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Converts to and from JSON format.</p>

-<p class="description"><p>Brief example of use:</p><p><pre><code><pre><br />1     <span class="src-comm">// create a new instance of Services_JSON</span><br />2      <span class="src-var">$json</span> = <span class="src-key">new</span> <a href="../Services_JSON/Services_JSON.html#methodServices_JSON">Services_JSON</a><span class="src-sym">(</span><span class="src-sym">)</span>;<br />3     <br />4      <span class="src-comm">// convert a complexe value to JSON notation, and send it to the browser</span><br />5      <span class="src-var">$value</span> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'foo'</span><span class="src-sym">,</span> <span class="src-str">'bar'</span><span class="src-sym">,</span> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span><span class="src-sym">,</span> <span class="src-num">2</span><span class="src-sym">,</span> <span class="src-str">'baz'</span><span class="src-sym">)</span><span class="src-sym">,</span> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">3</span><span class="src-sym">,</span> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">4</span><span class="src-sym">)</span><span class="src-sym">)</span><span class="src-sym">)</span>;<br />6      <span class="src-var">$output</span> = <span class="src-var">$json</span><span class="src-sym">-&gt;</span><a href="../Services_JSON/Services_JSON.html#methodencode">encode</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span>;<br />7     <br />8      print<span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">)</span>;<br />9      <span class="src-comm">// prints: [&quot;foo&quot;,&quot;bar&quot;,[1,2,&quot;baz&quot;],[3,[4]]]</span><br />10    <br />11     <span class="src-comm">// accept incoming POST data, assumed to be in JSON notation</span><br />12     <span class="src-var">$input</span> = <a href="http://www.php.net/file_get_contents">file_get_contents</a><span class="src-sym">(</span><span class="src-str">'php://input'</span><span class="src-sym">,</span> <span class="src-num">1000000</span><span class="src-sym">)</span>;<br />13     <span class="src-var">$value</span> = <span class="src-var">$json</span><span class="src-sym">-&gt;</span><a href="../Services_JSON/Services_JSON.html#methoddecode">decode</a><span class="src-sym">(</span><span class="src-var">$input</span><span class="src-sym">)</span>;</pre></code></pre></p></p>

-		<p class="notes">

-			Located in <a class="field" href="_JSON_php.html">/JSON.php</a> (line <span class="field">115</span>)

-		</p>

-		

-				

-		<pre></pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON</span>

-										<a href="#Services_JSON" title="details" class="method-name">Services_JSON</a>

-											(<span class="var-type">int</span>&nbsp;<span class="var-name">$use</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">mixed</span>

-										<a href="#decode" title="details" class="method-name">decode</a>

-											(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">mixed</span>

-										<a href="#encode" title="details" class="method-name">encode</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$var</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#isError" title="details" class="method-name">isError</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$data</span>, [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$code</span> = <span class="var-default">null</span>])

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON" id="Services_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON</span> (line <span class="line-number">133</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">constructs a new JSON instance</p>

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON</span>

-		<span class="method-name">

-			Services_JSON

-		</span>

-					(<span class="var-type">int</span>&nbsp;<span class="var-name">$use</span>)

-			</div>

-	

-			<ul class="parameters">

-					<li>

-				<span class="var-type">int</span>

-				<span class="var-name">$use</span><span class="var-description">: <p>object behavior flags; combine with boolean-OR</p><p>possible values: <ul><li>SERVICES_JSON_LOOSE_TYPE:  loose typing.
-                                   &quot;{...}&quot; syntax creates associative arrays
-                                   instead of objects in decode().</li><li>SERVICES_JSON_SUPPRESS_ERRORS:  error suppression.
-                                   Values which can't be encoded (e.g. resources)
-                                   appear as NULL instead of throwing errors.
-                                   By default, a deeply-nested resource will
-                                   bubble up with an error, so all return values
-                                   from encode() should be checked with isError()</li></ul></p></span>			</li>

-				</ul>

-		

-		

-	</div>

-<a name="methoddecode" id="decode"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">decode</span> (line <span class="line-number">484</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">decodes a JSON string into appropriate variable</p>

-	<ul class="tags">

-				<li><span class="field">return:</span> number, boolean, string, array, or object                    corresponding to given JSON input string.                    See argument 1 to Services_JSON() above for object-output behavior.                    Note that decode() always returns strings                    in ASCII or UTF-8 format!</li>

-				<li><span class="field">access:</span> public</li>

-			</ul>

-	

-	<div class="method-signature">

-		<span class="method-result">mixed</span>

-		<span class="method-name">

-			decode

-		</span>

-					(<span class="var-type">string</span>&nbsp;<span class="var-name">$str</span>)

-			</div>

-	

-			<ul class="parameters">

-					<li>

-				<span class="var-type">string</span>

-				<span class="var-name">$str</span><span class="var-description">: JSON-formatted string</span>			</li>

-				</ul>

-		

-		

-	</div>

-<a name="methodencode" id="encode"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">encode</span> (line <span class="line-number">237</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">encodes an arbitrary variable into JSON format</p>

-	<ul class="tags">

-				<li><span class="field">return:</span> JSON string representation of input var or an error if a problem occurs</li>

-				<li><span class="field">access:</span> public</li>

-			</ul>

-	

-	<div class="method-signature">

-		<span class="method-result">mixed</span>

-		<span class="method-name">

-			encode

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$var</span>)

-			</div>

-	

-			<ul class="parameters">

-					<li>

-				<span class="var-type">mixed</span>

-				<span class="var-name">$var</span><span class="var-description">: any number, boolean, string, array, or object to be encoded.                            see argument 1 to Services_JSON() above for array-parsing behavior.                            if var is a strng, note that encode() always expects it                            to be in ASCII or UTF-8 format!</span>			</li>

-				</ul>

-		

-		

-	</div>

-<a name="methodisError" id="isError"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">isError</span> (line <span class="line-number">766</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	<ul class="tags">

-				<li><span class="field">todo:</span> Ultimately, this should just call PEAR::isError()</li>

-			</ul>

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			isError

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$data</span>, [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$code</span> = <span class="var-default">null</span>])

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:25 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_AssocArray_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_AssocArray_TestCase.html
deleted file mode 100644
index 4cbc05f..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_AssocArray_TestCase.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_AssocArray_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_AssocArray_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">157</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_AssocArray_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_AssocArray_TestCase</span>

-										<a href="#Services_JSON_AssocArray_TestCase" title="details" class="method-name">Services_JSON_AssocArray_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_JSON" title="details" class="method-name">test_to_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_then_from_JSON" title="details" class="method-name">test_to_then_from_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_type" title="details" class="method-name">test_type</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_AssocArray_TestCase" id="Services_JSON_AssocArray_TestCase"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_AssocArray_TestCase</span> (line <span class="line-number">159</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_AssocArray_TestCase</span>

-		<span class="method-name">

-			Services_JSON_AssocArray_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">163</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_JSON" id="test_to_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_JSON</span> (line <span class="line-number">187</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_then_from_JSON" id="test_to_then_from_JSON"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_then_from_JSON</span> (line <span class="line-number">200</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_then_from_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_type" id="test_type"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_type</span> (line <span class="line-number">181</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_type

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Empties_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Empties_TestCase.html
deleted file mode 100644
index 7184b0a..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Empties_TestCase.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_Empties_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_Empties_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">364</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_Empties_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_Empties_TestCase</span>

-										<a href="#Services_JSON_Empties_TestCase" title="details" class="method-name">Services_JSON_Empties_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_type" title="details" class="method-name">test_type</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_Empties_TestCase" id="Services_JSON_Empties_TestCase"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_Empties_TestCase</span> (line <span class="line-number">366</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_Empties_TestCase</span>

-		<span class="method-name">

-			Services_JSON_Empties_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">370</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_type" id="test_type"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_type</span> (line <span class="line-number">384</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_type

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_EncDec_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_EncDec_TestCase.html
deleted file mode 100644
index 9203d68..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_EncDec_TestCase.html
+++ /dev/null
@@ -1,226 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_EncDec_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_EncDec_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">25</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_EncDec_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_EncDec_TestCase</span>

-										<a href="#Services_JSON_EncDec_TestCase" title="details" class="method-name">Services_JSON_EncDec_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_from_JSON" title="details" class="method-name">test_from_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_from_then_to_JSON" title="details" class="method-name">test_from_then_to_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_JSON" title="details" class="method-name">test_to_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_then_from_JSON" title="details" class="method-name">test_to_then_from_JSON</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_EncDec_TestCase" id="Services_JSON_EncDec_TestCase"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_EncDec_TestCase</span> (line <span class="line-number">27</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_EncDec_TestCase</span>

-		<span class="method-name">

-			Services_JSON_EncDec_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">31</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_from_JSON" id="test_from_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_from_JSON</span> (line <span class="line-number">88</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_from_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_from_then_to_JSON" id="test_from_then_to_JSON"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_from_then_to_JSON</span> (line <span class="line-number">135</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_from_then_to_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_JSON" id="test_to_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_JSON</span> (line <span class="line-number">68</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_then_from_JSON" id="test_to_then_from_JSON"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_then_from_JSON</span> (line <span class="line-number">115</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_then_from_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Error.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Error.html
deleted file mode 100644
index f607ab6..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Error.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_Error</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_Error</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_JSON_php.html">/JSON.php</a> (line <span class="field">781</span>)

-		</p>

-		

-				

-		<pre>PEAR_Error
-   |
-   --Services_JSON_Error</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_Error</span>

-										<a href="#Services_JSON_Error" title="details" class="method-name">Services_JSON_Error</a>

-											([<span class="var-type">mixed</span>&nbsp;<span class="var-name">$message</span> = <span class="var-default">'unknown error'</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$code</span> = <span class="var-default">null</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$mode</span> = <span class="var-default">null</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$options</span> = <span class="var-default">null</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$userinfo</span> = <span class="var-default">null</span>])

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_Error" id="Services_JSON_Error"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_Error</span> (line <span class="line-number">783</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_Error</span>

-		<span class="method-name">

-			Services_JSON_Error

-		</span>

-					([<span class="var-type">mixed</span>&nbsp;<span class="var-name">$message</span> = <span class="var-default">'unknown error'</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$code</span> = <span class="var-default">null</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$mode</span> = <span class="var-default">null</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$options</span> = <span class="var-default">null</span>], [<span class="var-type">mixed</span>&nbsp;<span class="var-name">$userinfo</span> = <span class="var-default">null</span>])

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_ErrorSuppression_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_ErrorSuppression_TestCase.html
deleted file mode 100644
index 5948f96..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_ErrorSuppression_TestCase.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_ErrorSuppression_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_ErrorSuppression_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">434</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_ErrorSuppression_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_ErrorSuppression_TestCase</span>

-										<a href="#Services_JSON_ErrorSuppression_TestCase" title="details" class="method-name">Services_JSON_ErrorSuppression_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_JSON" title="details" class="method-name">test_to_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_JSON_suppressed" title="details" class="method-name">test_to_JSON_suppressed</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_ErrorSuppression_TestCase" id="Services_JSON_ErrorSuppression_TestCase"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_ErrorSuppression_TestCase</span> (line <span class="line-number">436</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_ErrorSuppression_TestCase</span>

-		<span class="method-name">

-			Services_JSON_ErrorSuppression_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">440</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_JSON" id="test_to_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_JSON</span> (line <span class="line-number">462</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_JSON_suppressed" id="test_to_JSON_suppressed"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_JSON_suppressed</span> (line <span class="line-number">469</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_JSON_suppressed

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_NestedArray_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_NestedArray_TestCase.html
deleted file mode 100644
index b2ad409..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_NestedArray_TestCase.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_NestedArray_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_NestedArray_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">212</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_NestedArray_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_NestedArray_TestCase</span>

-										<a href="#Services_JSON_NestedArray_TestCase" title="details" class="method-name">Services_JSON_NestedArray_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_from_JSON" title="details" class="method-name">test_from_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_type" title="details" class="method-name">test_type</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#_test_from_JSON" title="details" class="method-name">_test_from_JSON</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_NestedArray_TestCase" id="Services_JSON_NestedArray_TestCase"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_NestedArray_TestCase</span> (line <span class="line-number">214</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_NestedArray_TestCase</span>

-		<span class="method-name">

-			Services_JSON_NestedArray_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">218</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_from_JSON" id="test_from_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_from_JSON</span> (line <span class="line-number">272</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_from_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_type" id="test_type"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_type</span> (line <span class="line-number">265</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_type

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="method_test_from_JSON" id="_test_from_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">_test_from_JSON</span> (line <span class="line-number">281</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			_test_from_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Object_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Object_TestCase.html
deleted file mode 100644
index bab4319..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Object_TestCase.html
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_Object_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_Object_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">289</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_Object_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_Object_TestCase</span>

-										<a href="#Services_JSON_Object_TestCase" title="details" class="method-name">Services_JSON_Object_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_from_then_to_JSON" title="details" class="method-name">test_from_then_to_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_to_JSON" title="details" class="method-name">test_to_JSON</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_type" title="details" class="method-name">test_type</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_Object_TestCase" id="Services_JSON_Object_TestCase"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_Object_TestCase</span> (line <span class="line-number">291</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_Object_TestCase</span>

-		<span class="method-name">

-			Services_JSON_Object_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">295</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_from_then_to_JSON" id="test_from_then_to_JSON"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_from_then_to_JSON</span> (line <span class="line-number">321</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_from_then_to_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_to_JSON" id="test_to_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_to_JSON</span> (line <span class="line-number">315</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_to_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_type" id="test_type"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_type</span> (line <span class="line-number">309</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_type

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Spaces_Comments_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Spaces_Comments_TestCase.html
deleted file mode 100644
index c9e4c2f..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_Spaces_Comments_TestCase.html
+++ /dev/null
@@ -1,174 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_Spaces_Comments_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_Spaces_Comments_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">328</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_Spaces_Comments_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_Spaces_Comments_TestCase</span>

-										<a href="#Services_JSON_Spaces_Comments_TestCase" title="details" class="method-name">Services_JSON_Spaces_Comments_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_comments" title="details" class="method-name">test_comments</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_spaces" title="details" class="method-name">test_spaces</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_Spaces_Comments_TestCase" id="Services_JSON_Spaces_Comments_TestCase"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_Spaces_Comments_TestCase</span> (line <span class="line-number">330</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_Spaces_Comments_TestCase</span>

-		<span class="method-name">

-			Services_JSON_Spaces_Comments_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">334</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_comments" id="test_comments"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_comments</span> (line <span class="line-number">355</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_comments

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_spaces" id="test_spaces"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_spaces</span> (line <span class="line-number">350</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_spaces

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_UnquotedKeys_TestCase.html b/eclipse.org-common/json/doc/Services_JSON/Services_JSON_UnquotedKeys_TestCase.html
deleted file mode 100644
index ea2d0b8..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/Services_JSON_UnquotedKeys_TestCase.html
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs For Class Services_JSON_UnquotedKeys_TestCase</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="class-name">Class Services_JSON_UnquotedKeys_TestCase</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-															<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)

-						

-			</div>

-	<div class="info-box-body">

-		<!-- ========== Info from phpDoc block ========= -->

-		<p class="notes">

-			Located in <a class="field" href="_Test-JSON_php.html">/Test-JSON.php</a> (line <span class="field">406</span>)

-		</p>

-		

-				

-		<pre>PHPUnit_TestCase
-   |
-   --Services_JSON_UnquotedKeys_TestCase</pre>

-	

-			</div>

-</div>

-

-

-

-	<a name="sec-method-summary"></a>

-	<div class="info-box">

-		<div class="info-box-title">Method Summary</span></div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-									<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)

-		</div>

-		<div class="info-box-body">			

-			<div class="method-summary">

-								

-				<div class="method-definition">

-											<span class="method-result">Services_JSON_UnquotedKeys_TestCase</span>

-										<a href="#Services_JSON_UnquotedKeys_TestCase" title="details" class="method-name">Services_JSON_UnquotedKeys_TestCase</a>

-											(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#setUp" title="details" class="method-name">setUp</a>

-										()

-									</div>

-								

-				<div class="method-definition">

-											<span class="method-result">void</span>

-										<a href="#test_from_JSON" title="details" class="method-name">test_from_JSON</a>

-										()

-									</div>

-							</div>

-		</div>

-	</div>		

-

-	

-	<a name="sec-methods"></a>

-	<div class="info-box">

-		<div class="info-box-title">Methods</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-													<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)

-						

-		</div>

-		<div class="info-box-body">

-			<A NAME='method_detail'></A>

-<a name="methodServices_JSON_UnquotedKeys_TestCase" id="Services_JSON_UnquotedKeys_TestCase"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">Constructor Services_JSON_UnquotedKeys_TestCase</span> (line <span class="line-number">408</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">Services_JSON_UnquotedKeys_TestCase</span>

-		<span class="method-name">

-			Services_JSON_UnquotedKeys_TestCase

-		</span>

-					(<span class="var-type">mixed</span>&nbsp;<span class="var-name">$name</span>)

-			</div>

-	

-		

-		

-	</div>

-<a name="methodsetUp" id="setUp"><!-- --></a>

-<div class="oddrow">

-	

-	<div class="method-header">

-		<span class="method-title">setUp</span> (line <span class="line-number">412</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			setUp

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-<a name="methodtest_from_JSON" id="test_from_JSON"><!-- --></a>

-<div class="evenrow">

-	

-	<div class="method-header">

-		<span class="method-title">test_from_JSON</span> (line <span class="line-number">424</span>)

-	</div> 

-	

-	<!-- ========== Info from phpDoc block ========= -->

-	

-	<div class="method-signature">

-		<span class="method-result">void</span>

-		<span class="method-name">

-			test_from_JSON

-		</span>

-				()

-			</div>

-	

-		

-		

-	</div>

-						

-		</div>

-	</div>

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:27 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/_JSON_php.html b/eclipse.org-common/json/doc/Services_JSON/_JSON_php.html
deleted file mode 100644
index 2992ecd..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/_JSON_php.html
+++ /dev/null
@@ -1,197 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs for page JSON.php</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="file-name">/JSON.php</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-							<a href="#sec-classes">Classes</a>

-			|									<a href="#sec-constants">Constants</a>

-										</div>

-	<div class="info-box-body">	

-		<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Converts to and from JSON format.</p>

-<p class="description"><p>JSON (JavaScript Object Notation) is a lightweight data-interchange  format. It is easy for humans to read and write. It is easy for machines  to parse and generate. It is based on a subset of the JavaScript  Programming Language, Standard ECMA-262 3rd Edition - December 1999.  This feature can also be found in  Python. JSON is a text format that is  completely language independent but uses conventions that are familiar  to programmers of the C-family of languages, including C, C++, C#, Java,  JavaScript, Perl, TCL, and many others. These properties make JSON an  ideal data-interchange language.</p><p>This package provides a simple encoder and decoder for JSON notation. It  is intended for use with client-side Javascript applications that make  use of HTTPRequest to perform server communication functions - data can  be encoded into JSON notation for use in a client-side javascript, or  decoded from incoming Javascript requests. JSON format is native to  Javascript, and can be directly eval()'ed with no further parsing  overhead</p><p>All strings should be in ASCII or UTF-8 format!</p><p>LICENSE: Redistribution and use in source and binary forms, with or  without modification, are permitted provided that the following  conditions are met: Redistributions of source code must retain the  above copyright notice, this list of conditions and the following  disclaimer. Redistributions in binary form must reproduce the above  copyright notice, this list of conditions and the following disclaimer  in the documentation and/or other materials provided with the  distribution.</p><p>THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN  NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH  DAMAGE.</p></p>

-	<ul class="tags">

-				<li><span class="field">license:</span> <a href="http://www.opensource.org/licenses/bsd-license.php">http://www.opensource.org/licenses/bsd-license.php</a></li>

-				<li><span class="field">link:</span> <a href="http://pear.php.net/pepr/pepr-proposal-show.php?id=198">http://pear.php.net/pepr/pepr-proposal-show.php?id=198</a></li>

-				<li><span class="field">version:</span> CVS: $Id: _JSON_php.html,v 1.1 2009/05/06 18:23:36 droy Exp $</li>

-				<li><span class="field">copyright:</span> 2005 Michal Migurski</li>

-				<li><span class="field">author:</span> Matt Knapp &lt;<a href="mailto:mdknapp[at]gmail[dot]com">mailto:mdknapp[at]gmail[dot]com</a>&gt;</li>

-				<li><span class="field">author:</span> Brett Stimmerman &lt;<a href="mailto:brettstimmerman[at]gmail[dot]com">mailto:brettstimmerman[at]gmail[dot]com</a>&gt;</li>

-				<li><span class="field">author:</span> Michal Migurski &lt;<a href="mailto:mike-json@teczno.com">mailto:mike-json@teczno.com</a>&gt;</li>

-			</ul>

-		

-			</div>

-</div>

-		

-	<a name="sec-classes"></a>	

-	<div class="info-box">

-		<div class="info-box-title">Classes</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-			<span class="disabled">Classes</span>

-			|										<a href="#sec-constants">Constants</a>

-															</div>

-		<div class="info-box-body">	

-			<table cellpadding="2" cellspacing="0" class="class-table">

-				<tr>

-					<th class="class-table-header">Class</th>

-					<th class="class-table-header">Description</th>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON.html">Services_JSON</a>

-					</td>

-					<td>

-											Converts to and from JSON format.

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_Error.html">Services_JSON_Error</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-							</table>

-		</div>

-	</div>

-

-	

-	<a name="sec-constants"></a>	

-	<div class="info-box">

-		<div class="info-box-title">Constants</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-							<a href="#sec-classes">Classes</a>

-				|									<span class="disabled">Constants</span>

-											</div>

-		<div class="info-box-body">	

-			<a name="defineSERVICES_JSON_IN_ARR"><!-- --></a>

-<div class="oddrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_IN_ARR</span> = 3

-			(line <span class="line-number">72</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Marker constant for Services_JSON::decode(), used to flag stack state</p>

-	

-		

-</div>

-<a name="defineSERVICES_JSON_IN_CMT"><!-- --></a>

-<div class="evenrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_IN_CMT</span> = 5

-			(line <span class="line-number">82</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Marker constant for Services_JSON::decode(), used to flag stack state</p>

-	

-		

-</div>

-<a name="defineSERVICES_JSON_IN_OBJ"><!-- --></a>

-<div class="oddrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_IN_OBJ</span> = 4

-			(line <span class="line-number">77</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Marker constant for Services_JSON::decode(), used to flag stack state</p>

-	

-		

-</div>

-<a name="defineSERVICES_JSON_IN_STR"><!-- --></a>

-<div class="evenrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_IN_STR</span> = 2

-			(line <span class="line-number">67</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Marker constant for Services_JSON::decode(), used to flag stack state</p>

-	

-		

-</div>

-<a name="defineSERVICES_JSON_LOOSE_TYPE"><!-- --></a>

-<div class="oddrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_LOOSE_TYPE</span> = 16

-			(line <span class="line-number">87</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Behavior switch for Services_JSON::decode()</p>

-	

-		

-</div>

-<a name="defineSERVICES_JSON_SLICE"><!-- --></a>

-<div class="evenrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_SLICE</span> = 1

-			(line <span class="line-number">62</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Marker constant for Services_JSON::decode(), used to flag stack state</p>

-	

-		

-</div>

-<a name="defineSERVICES_JSON_SUPPRESS_ERRORS"><!-- --></a>

-<div class="oddrow">

-	

-	<div>

-		<span class="const-title">

-			<span class="const-name">SERVICES_JSON_SUPPRESS_ERRORS</span> = 32

-			(line <span class="line-number">92</span>)

-		</span>

-	</div>

-	

-	<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Behavior switch for Services_JSON::decode()</p>

-	

-		

-</div>

-		</div>

-	</div>

-	

-	

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:25 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/Services_JSON/_Test-JSON_php.html b/eclipse.org-common/json/doc/Services_JSON/_Test-JSON_php.html
deleted file mode 100644
index 79c2ab3..0000000
--- a/eclipse.org-common/json/doc/Services_JSON/_Test-JSON_php.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Docs for page Test-JSON.php</title>

-			<link rel="stylesheet" href="../media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="page-body">			

-<h2 class="file-name">/Test-JSON.php</h2>

-

-<a name="sec-description"></a>

-<div class="info-box">

-	<div class="info-box-title">Description</div>

-	<div class="nav-bar">

-					<span class="disabled">Description</span> |

-							<a href="#sec-classes">Classes</a>

-			|							<a href="#sec-includes">Includes</a>

-												</div>

-	<div class="info-box-body">	

-		<!-- ========== Info from phpDoc block ========= -->

-<p class="short-description">Unit tests for Services_JSON.</p>

-	<ul class="tags">

-				<li><span class="field">version:</span> CVS: $Id: _Test-JSON_php.html,v 1.1 2009/05/06 18:23:36 droy Exp $</li>

-				<li><span class="field">license:</span> <a href="http://www.opensource.org/licenses/bsd-license.php">http://www.opensource.org/licenses/bsd-license.php</a></li>

-				<li><span class="field">link:</span> <a href="http://pear.php.net/pepr/pepr-proposal-show.php?id=198">http://pear.php.net/pepr/pepr-proposal-show.php?id=198</a></li>

-				<li><span class="field">copyright:</span> 2005 Michal Migurski</li>

-				<li><span class="field">author:</span> Brett Stimmerman &lt;<a href="mailto:brettstimmerman[at]gmail[dot]com">mailto:brettstimmerman[at]gmail[dot]com</a>&gt;</li>

-				<li><span class="field">author:</span> Michal Migurski &lt;<a href="mailto:mike-json@teczno.com">mailto:mike-json@teczno.com</a>&gt;</li>

-				<li><span class="field">author:</span> Matt Knapp &lt;<a href="mailto:mdknapp[at]gmail[dot]com">mailto:mdknapp[at]gmail[dot]com</a>&gt;</li>

-				<li><span class="field">see:</span> <a href="../Services_JSON/_JSON_php.html">JSON.php</a></li>

-			</ul>

-		

-			</div>

-</div>

-		

-	<a name="sec-classes"></a>	

-	<div class="info-box">

-		<div class="info-box-title">Classes</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-			<span class="disabled">Classes</span>

-			|							<a href="#sec-includes">Includes</a>

-																		</div>

-		<div class="info-box-body">	

-			<table cellpadding="2" cellspacing="0" class="class-table">

-				<tr>

-					<th class="class-table-header">Class</th>

-					<th class="class-table-header">Description</th>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_EncDec_TestCase.html">Services_JSON_EncDec_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_AssocArray_TestCase.html">Services_JSON_AssocArray_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_NestedArray_TestCase.html">Services_JSON_NestedArray_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_Object_TestCase.html">Services_JSON_Object_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_Spaces_Comments_TestCase.html">Services_JSON_Spaces_Comments_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_Empties_TestCase.html">Services_JSON_Empties_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_UnquotedKeys_TestCase.html">Services_JSON_UnquotedKeys_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-								<tr>

-					<td style="padding-right: 2em; vertical-align: top">

-						<a href="../Services_JSON/Services_JSON_ErrorSuppression_TestCase.html">Services_JSON_ErrorSuppression_TestCase</a>

-					</td>

-					<td>

-											

-										</td>

-				</tr>

-							</table>

-		</div>

-	</div>

-

-	<a name="sec-includes"></a>	

-	<div class="info-box">

-		<div class="info-box-title">Includes</div>

-		<div class="nav-bar">

-			<a href="#sec-description">Description</a> |

-							<a href="#sec-classes">Classes</a>

-				|						<span class="disabled">Includes</span>

-														</div>

-		<div class="info-box-body">	

-			<a name="_PHPUnit_php"><!-- --></a>

-<div class="oddrow">

-	

-	<div>

-		<span class="include-title">

-			<span class="include-type">require_once</span>

-			(<span class="include-name">'PHPUnit.php'</span>)

-			(line <span class="line-number">22</span>)

-		</span>

-	</div>

-

-	<!-- ========== Info from phpDoc block ========= -->

-	

-</div>

-<a name="_JSON_php"><!-- --></a>

-<div class="evenrow">

-	

-	<div>

-		<span class="include-title">

-			<span class="include-type">require_once</span>

-			(<span class="include-name"><a href="../Services_JSON/_JSON_php.html">'JSON.php'</a></span>)

-			(line <span class="line-number">23</span>)

-		</span>

-	</div>

-

-	<!-- ========== Info from phpDoc block ========= -->

-	

-</div>

-		</div>

-	</div>

-	

-	

-	

-	

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:26 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</div></body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/blank.html b/eclipse.org-common/json/doc/blank.html
deleted file mode 100644
index 328d966..0000000
--- a/eclipse.org-common/json/doc/blank.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html>

-<head>

-	<title>Generated Documentation</title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-</head>

-<body>

-<div align="center"><h1>Generated Documentation</h1></div>

-<b>Welcome to default!</b><br />

-<br />

-This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.2.3</a><br />

-</body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/classtrees_Services_JSON.html b/eclipse.org-common/json/doc/classtrees_Services_JSON.html
deleted file mode 100644
index 535fcfd..0000000
--- a/eclipse.org-common/json/doc/classtrees_Services_JSON.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title></title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-						

-<!-- Start of Class Data -->

-<H2>

-	

-</H2>

-<h2>Root class Services_JSON</h2>

-<ul>
-<li><a href="Services_JSON/Services_JSON.html">Services_JSON</a></li></ul>
-

-<h2>Root class Services_JSON_AssocArray_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html">Services_JSON_AssocArray_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_Empties_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_Empties_TestCase.html">Services_JSON_Empties_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_EncDec_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_EncDec_TestCase.html">Services_JSON_EncDec_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_Error</h2>

-<ul>
-<li>PEAR_Error<ul><li><a href="Services_JSON/Services_JSON_Error.html">Services_JSON_Error</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_ErrorSuppression_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html">Services_JSON_ErrorSuppression_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_NestedArray_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html">Services_JSON_NestedArray_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_Object_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_Object_TestCase.html">Services_JSON_Object_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_Spaces_Comments_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html">Services_JSON_Spaces_Comments_TestCase</a></li></ul></li></ul>
-

-<h2>Root class Services_JSON_UnquotedKeys_TestCase</h2>

-<ul>
-<li>PHPUnit_TestCase<ul><li><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html">Services_JSON_UnquotedKeys_TestCase</a></li></ul></li></ul>
-

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:25 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/elementindex.html b/eclipse.org-common/json/doc/elementindex.html
deleted file mode 100644
index 82b52b0..0000000
--- a/eclipse.org-common/json/doc/elementindex.html
+++ /dev/null
@@ -1,457 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title></title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-						<a name="top"></a>

-<h2>Full index</h2>

-<h3>Package indexes</h3>

-<ul>

-	<li><a href="elementindex_Services_JSON.html">Services_JSON</a></li>

-</ul>

-<br />

-<div class="index-letter-menu">

-	<a class="index-letter" href="elementindex.html#d">d</a>

-	<a class="index-letter" href="elementindex.html#e">e</a>

-	<a class="index-letter" href="elementindex.html#i">i</a>

-	<a class="index-letter" href="elementindex.html#"></a>

-	<a class="index-letter" href="elementindex.html#s">s</a>

-	<a class="index-letter" href="elementindex.html#t">t</a>

-</div>

-

-	<a name="d"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">d</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">decode</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methoddecode">Services_JSON::decode()</a> in JSON.php</div>

-							<div class="index-item-description">decodes a JSON string into appropriate variable</div>

-					</dd>

-		</dl>

-	<a name="e"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">e</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">encode</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methodencode">Services_JSON::encode()</a> in JSON.php</div>

-							<div class="index-item-description">encodes an arbitrary variable into JSON format</div>

-					</dd>

-		</dl>

-	<a name="i"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">i</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">isError</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methodisError">Services_JSON::isError()</a> in JSON.php</div>

-					</dd>

-		</dl>

-	<a name="j"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">j</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="include-title">JSON.php</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html">JSON.php</a> in JSON.php</div>

-					</dd>

-		</dl>

-	<a name="s"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">s</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						Services_JSON

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html">Services_JSON</a> in JSON.php</div>

-							<div class="index-item-description">Converts to and from JSON format.</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methodServices_JSON">Services_JSON::Services_JSON()</a> in JSON.php</div>

-							<div class="index-item-description">constructs a new JSON instance</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_AssocArray_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodServices_JSON_AssocArray_TestCase">Services_JSON_AssocArray_TestCase::Services_JSON_AssocArray_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_AssocArray_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html">Services_JSON_AssocArray_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Empties_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html">Services_JSON_Empties_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Empties_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html#methodServices_JSON_Empties_TestCase">Services_JSON_Empties_TestCase::Services_JSON_Empties_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_EncDec_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodServices_JSON_EncDec_TestCase">Services_JSON_EncDec_TestCase::Services_JSON_EncDec_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_EncDec_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html">Services_JSON_EncDec_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Error</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Error.html#methodServices_JSON_Error">Services_JSON_Error::Services_JSON_Error()</a> in JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Error

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Error.html">Services_JSON_Error</a> in JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_ErrorSuppression_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html">Services_JSON_ErrorSuppression_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_ErrorSuppression_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodServices_JSON_ErrorSuppression_TestCase">Services_JSON_ErrorSuppression_TestCase::Services_JSON_ErrorSuppression_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_ARR</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_ARR">SERVICES_JSON_IN_ARR</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_CMT</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_CMT">SERVICES_JSON_IN_CMT</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_OBJ</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_OBJ">SERVICES_JSON_IN_OBJ</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_STR</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_STR">SERVICES_JSON_IN_STR</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_LOOSE_TYPE</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_LOOSE_TYPE">SERVICES_JSON_LOOSE_TYPE</a> in JSON.php</div>

-							<div class="index-item-description">Behavior switch for Services_JSON::decode()</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_NestedArray_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodServices_JSON_NestedArray_TestCase">Services_JSON_NestedArray_TestCase::Services_JSON_NestedArray_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_NestedArray_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html">Services_JSON_NestedArray_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Object_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodServices_JSON_Object_TestCase">Services_JSON_Object_TestCase::Services_JSON_Object_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Object_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html">Services_JSON_Object_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_SLICE</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_SLICE">SERVICES_JSON_SLICE</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Spaces_Comments_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html">Services_JSON_Spaces_Comments_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Spaces_Comments_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodServices_JSON_Spaces_Comments_TestCase">Services_JSON_Spaces_Comments_TestCase::Services_JSON_Spaces_Comments_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_SUPPRESS_ERRORS</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_SUPPRESS_ERRORS">SERVICES_JSON_SUPPRESS_ERRORS</a> in JSON.php</div>

-							<div class="index-item-description">Behavior switch for Services_JSON::decode()</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_UnquotedKeys_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html">Services_JSON_UnquotedKeys_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_UnquotedKeys_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html#methodServices_JSON_UnquotedKeys_TestCase">Services_JSON_UnquotedKeys_TestCase::Services_JSON_UnquotedKeys_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html#methodsetUp">Services_JSON_UnquotedKeys_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodsetUp">Services_JSON_Spaces_Comments_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodsetUp">Services_JSON_Object_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html#methodsetUp">Services_JSON_Empties_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodsetUp">Services_JSON_AssocArray_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodsetUp">Services_JSON_NestedArray_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodsetUp">Services_JSON_EncDec_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodsetUp">Services_JSON_ErrorSuppression_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-		</dl>

-	<a name="t"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">t</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="include-title">Test-JSON.php</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_Test-JSON_php.html">Test-JSON.php</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_comments</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodtest_comments">Services_JSON_Spaces_Comments_TestCase::test_comments()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_from_JSON">Services_JSON_EncDec_TestCase::test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html#methodtest_from_JSON">Services_JSON_UnquotedKeys_TestCase::test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodtest_from_JSON">Services_JSON_NestedArray_TestCase::test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_then_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodtest_from_then_to_JSON">Services_JSON_Object_TestCase::test_from_then_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_then_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_from_then_to_JSON">Services_JSON_EncDec_TestCase::test_from_then_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_spaces</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodtest_spaces">Services_JSON_Spaces_Comments_TestCase::test_spaces()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodtest_to_JSON">Services_JSON_Object_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodtest_to_JSON">Services_JSON_ErrorSuppression_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_to_JSON">Services_JSON_EncDec_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodtest_to_JSON">Services_JSON_AssocArray_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON_suppressed</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodtest_to_JSON_suppressed">Services_JSON_ErrorSuppression_TestCase::test_to_JSON_suppressed()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_then_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodtest_to_then_from_JSON">Services_JSON_AssocArray_TestCase::test_to_then_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_then_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_to_then_from_JSON">Services_JSON_EncDec_TestCase::test_to_then_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodtest_type">Services_JSON_AssocArray_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html#methodtest_type">Services_JSON_Empties_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodtest_type">Services_JSON_NestedArray_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodtest_type">Services_JSON_Object_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-		</dl>

-	<a name="_"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">_</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">_test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#method_test_from_JSON">Services_JSON_NestedArray_TestCase::_test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-		</dl>

-

-<div class="index-letter-menu">

-	<a class="index-letter" href="elementindex.html#d">d</a>

-	<a class="index-letter" href="elementindex.html#e">e</a>

-	<a class="index-letter" href="elementindex.html#i">i</a>

-	<a class="index-letter" href="elementindex.html#"></a>

-	<a class="index-letter" href="elementindex.html#s">s</a>

-	<a class="index-letter" href="elementindex.html#t">t</a>

-</div>	</body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/elementindex_Services_JSON.html b/eclipse.org-common/json/doc/elementindex_Services_JSON.html
deleted file mode 100644
index 04aafda..0000000
--- a/eclipse.org-common/json/doc/elementindex_Services_JSON.html
+++ /dev/null
@@ -1,456 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title></title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-						<a name="top"></a>

-<h2>[Services_JSON] element index</h2>

-<a href="elementindex.html">All elements</a>

-<br />

-<div class="index-letter-menu">

-	<a class="index-letter" href="elementindex_Services_JSON.html#d">d</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#e">e</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#i">i</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#j">j</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#s">s</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#t">t</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#_">_</a>

-</div>

-

-	<a name="_"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">_</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">_test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#method_test_from_JSON">Services_JSON_NestedArray_TestCase::_test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-		</dl>

-	<a name="d"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">d</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">decode</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methoddecode">Services_JSON::decode()</a> in JSON.php</div>

-							<div class="index-item-description">decodes a JSON string into appropriate variable</div>

-					</dd>

-		</dl>

-	<a name="e"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">e</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">encode</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methodencode">Services_JSON::encode()</a> in JSON.php</div>

-							<div class="index-item-description">encodes an arbitrary variable into JSON format</div>

-					</dd>

-		</dl>

-	<a name="i"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">i</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="method-title">isError</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methodisError">Services_JSON::isError()</a> in JSON.php</div>

-					</dd>

-		</dl>

-	<a name="j"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">j</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="include-title">JSON.php</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html">JSON.php</a> in JSON.php</div>

-					</dd>

-		</dl>

-	<a name="s"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">s</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						Services_JSON

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html">Services_JSON</a> in JSON.php</div>

-							<div class="index-item-description">Converts to and from JSON format.</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON.html#methodServices_JSON">Services_JSON::Services_JSON()</a> in JSON.php</div>

-							<div class="index-item-description">constructs a new JSON instance</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_AssocArray_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodServices_JSON_AssocArray_TestCase">Services_JSON_AssocArray_TestCase::Services_JSON_AssocArray_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_AssocArray_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html">Services_JSON_AssocArray_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Empties_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html">Services_JSON_Empties_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Empties_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html#methodServices_JSON_Empties_TestCase">Services_JSON_Empties_TestCase::Services_JSON_Empties_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_EncDec_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodServices_JSON_EncDec_TestCase">Services_JSON_EncDec_TestCase::Services_JSON_EncDec_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_EncDec_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html">Services_JSON_EncDec_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Error</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Error.html#methodServices_JSON_Error">Services_JSON_Error::Services_JSON_Error()</a> in JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Error

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Error.html">Services_JSON_Error</a> in JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_ErrorSuppression_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html">Services_JSON_ErrorSuppression_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_ErrorSuppression_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodServices_JSON_ErrorSuppression_TestCase">Services_JSON_ErrorSuppression_TestCase::Services_JSON_ErrorSuppression_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_ARR</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_ARR">SERVICES_JSON_IN_ARR</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_CMT</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_CMT">SERVICES_JSON_IN_CMT</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_OBJ</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_OBJ">SERVICES_JSON_IN_OBJ</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_IN_STR</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_IN_STR">SERVICES_JSON_IN_STR</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_LOOSE_TYPE</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_LOOSE_TYPE">SERVICES_JSON_LOOSE_TYPE</a> in JSON.php</div>

-							<div class="index-item-description">Behavior switch for Services_JSON::decode()</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_NestedArray_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodServices_JSON_NestedArray_TestCase">Services_JSON_NestedArray_TestCase::Services_JSON_NestedArray_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_NestedArray_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html">Services_JSON_NestedArray_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Object_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodServices_JSON_Object_TestCase">Services_JSON_Object_TestCase::Services_JSON_Object_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Object_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html">Services_JSON_Object_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_SLICE</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_SLICE">SERVICES_JSON_SLICE</a> in JSON.php</div>

-							<div class="index-item-description">Marker constant for Services_JSON::decode(), used to flag stack state</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_Spaces_Comments_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html">Services_JSON_Spaces_Comments_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_Spaces_Comments_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodServices_JSON_Spaces_Comments_TestCase">Services_JSON_Spaces_Comments_TestCase::Services_JSON_Spaces_Comments_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="const-title">SERVICES_JSON_SUPPRESS_ERRORS</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_JSON_php.html#defineSERVICES_JSON_SUPPRESS_ERRORS">SERVICES_JSON_SUPPRESS_ERRORS</a> in JSON.php</div>

-							<div class="index-item-description">Behavior switch for Services_JSON::decode()</div>

-					</dd>

-			<dt class="field">

-						Services_JSON_UnquotedKeys_TestCase

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html">Services_JSON_UnquotedKeys_TestCase</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">Services_JSON_UnquotedKeys_TestCase</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html#methodServices_JSON_UnquotedKeys_TestCase">Services_JSON_UnquotedKeys_TestCase::Services_JSON_UnquotedKeys_TestCase()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html#methodsetUp">Services_JSON_UnquotedKeys_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodsetUp">Services_JSON_Spaces_Comments_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodsetUp">Services_JSON_Object_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html#methodsetUp">Services_JSON_Empties_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodsetUp">Services_JSON_AssocArray_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodsetUp">Services_JSON_NestedArray_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodsetUp">Services_JSON_EncDec_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">setUp</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodsetUp">Services_JSON_ErrorSuppression_TestCase::setUp()</a> in Test-JSON.php</div>

-					</dd>

-		</dl>

-	<a name="t"></a>

-	<div class="index-letter-section">

-		<div style="float: left" class="index-letter-title">t</div>

-		<div style="float: right"><a href="#top">top</a></div>

-		<div style="clear: both"></div>

-	</div>

-	<dl>

-			<dt class="field">

-						<span class="include-title">Test-JSON.php</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/_Test-JSON_php.html">Test-JSON.php</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_comments</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodtest_comments">Services_JSON_Spaces_Comments_TestCase::test_comments()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_from_JSON">Services_JSON_EncDec_TestCase::test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_UnquotedKeys_TestCase.html#methodtest_from_JSON">Services_JSON_UnquotedKeys_TestCase::test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodtest_from_JSON">Services_JSON_NestedArray_TestCase::test_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_then_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodtest_from_then_to_JSON">Services_JSON_Object_TestCase::test_from_then_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_from_then_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_from_then_to_JSON">Services_JSON_EncDec_TestCase::test_from_then_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_spaces</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Spaces_Comments_TestCase.html#methodtest_spaces">Services_JSON_Spaces_Comments_TestCase::test_spaces()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodtest_to_JSON">Services_JSON_Object_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodtest_to_JSON">Services_JSON_ErrorSuppression_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_to_JSON">Services_JSON_EncDec_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodtest_to_JSON">Services_JSON_AssocArray_TestCase::test_to_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_JSON_suppressed</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_ErrorSuppression_TestCase.html#methodtest_to_JSON_suppressed">Services_JSON_ErrorSuppression_TestCase::test_to_JSON_suppressed()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_then_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodtest_to_then_from_JSON">Services_JSON_AssocArray_TestCase::test_to_then_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_to_then_from_JSON</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_EncDec_TestCase.html#methodtest_to_then_from_JSON">Services_JSON_EncDec_TestCase::test_to_then_from_JSON()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_AssocArray_TestCase.html#methodtest_type">Services_JSON_AssocArray_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Empties_TestCase.html#methodtest_type">Services_JSON_Empties_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_NestedArray_TestCase.html#methodtest_type">Services_JSON_NestedArray_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-			<dt class="field">

-						<span class="method-title">test_type</span>

-					</dt>

-		<dd class="index-item-body">

-			<div class="index-item-details"><a href="Services_JSON/Services_JSON_Object_TestCase.html#methodtest_type">Services_JSON_Object_TestCase::test_type()</a> in Test-JSON.php</div>

-					</dd>

-		</dl>

-

-<div class="index-letter-menu">

-	<a class="index-letter" href="elementindex_Services_JSON.html#d">d</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#e">e</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#i">i</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#j">j</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#s">s</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#t">t</a>

-	<a class="index-letter" href="elementindex_Services_JSON.html#_">_</a>

-</div>	</body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/errors.html b/eclipse.org-common/json/doc/errors.html
deleted file mode 100644
index d4a1d0e..0000000
--- a/eclipse.org-common/json/doc/errors.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>phpDocumentor Parser Errors and Warnings</title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-						<a href="#Post-parsing">Post-parsing</a><br>

-<a href="#Test-JSON.php">Test-JSON.php</a><br>

-<a name="Post-parsing"></a>

-<h1>Post-parsing</h1>

-<h2>Warnings:</h2><br>

-<b>Warning</b> - Class Services_JSON_ErrorSuppression_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_Spaces_Comments_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_Empties_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_UnquotedKeys_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_Error parent PEAR_Error not found<br>

-<b>Warning</b> - Class Services_JSON_AssocArray_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_EncDec_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_NestedArray_TestCase parent PHPUnit_TestCase not found<br>

-<b>Warning</b> - Class Services_JSON_Object_TestCase parent PHPUnit_TestCase not found<br>

-<a name="JSON.php"></a>

-<h1>JSON.php</h1>

-<h2>Warnings:</h2><br>

-<b>Warning on line 115</b> - no @package tag was used in a DocBlock for class Services_JSON<br>

-<b>Warning on line 781</b> - no @package tag was used in a DocBlock for class Services_JSON_Error<br>

-<b>Warning on line 795</b> - no @package tag was used in a DocBlock for class Services_JSON_Error<br>

-<b>Warning on line 795</b> - 
-duplicate class element "Services_JSON_Error" in file /Users/migurski/Sites/JSON-PHP/JSON.php will be ignored.
-Use an @ignore tag on the original if you want this case to be documented.<br>

-<a name="Test-JSON.php"></a>

-<h1>Test-JSON.php</h1>

-<h2>Warnings:</h2><br>

-<b>Warning on line 19</b> - package default is already in category , will now replace with category <br>

-<b>Warning on line 21</b> - Page-level DocBlock precedes "require_once Test-JSON.php", use another DocBlock to document the source element<br>

-<b>Warning on line 24</b> - no @package tag was used in a DocBlock for class Services_JSON_EncDec_TestCase<br>

-<b>Warning on line 156</b> - no @package tag was used in a DocBlock for class Services_JSON_AssocArray_TestCase<br>

-<b>Warning on line 211</b> - no @package tag was used in a DocBlock for class Services_JSON_NestedArray_TestCase<br>

-<b>Warning on line 288</b> - no @package tag was used in a DocBlock for class Services_JSON_Object_TestCase<br>

-<b>Warning on line 327</b> - no @package tag was used in a DocBlock for class Services_JSON_Spaces_Comments_TestCase<br>

-<b>Warning on line 363</b> - no @package tag was used in a DocBlock for class Services_JSON_Empties_TestCase<br>

-<b>Warning on line 405</b> - no @package tag was used in a DocBlock for class Services_JSON_UnquotedKeys_TestCase<br>

-<b>Warning on line 433</b> - no @package tag was used in a DocBlock for class Services_JSON_ErrorSuppression_TestCase<br>

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:27 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/index.html b/eclipse.org-common/json/doc/index.html
deleted file mode 100644
index 1a467ab..0000000
--- a/eclipse.org-common/json/doc/index.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html 

-     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"

-     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

-   <html xmlns="http://www.w3.org/1999/xhtml">

-<head>

-	<!-- Generated by phpDocumentor on Tue, 27 Jun 2006 22:54:25 -0700  -->

-  <title>Generated Documentation</title>

-  <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-</head>

-

-<FRAMESET rows='100,*'>

-	<FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999">

-	<FRAMESET cols='25%,*'>

-		<FRAME src='li_Services_JSON.html' name='left_bottom' frameborder="1" bordercolor="#999999">

-		<FRAME src='blank.html' name='right' frameborder="1" bordercolor="#999999">

-	</FRAMESET>

-	<NOFRAMES>

-		<H2>Frame Alert</H2>

-		<P>This document is designed to be viewed using the frames feature.

-		If you see this message, you are using a non-frame-capable web client.</P>

-	</NOFRAMES>

-</FRAMESET>

-</HTML>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/li_Services_JSON.html b/eclipse.org-common/json/doc/li_Services_JSON.html
deleted file mode 100644
index a8d1fe7..0000000
--- a/eclipse.org-common/json/doc/li_Services_JSON.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title></title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-						<div class="package-title">Services_JSON</div>

-<div class="package-details">

-

-	<dl class="tree">

-		

-		<dt class="folder-title">Description</dt>

-		<dd>

-			<a href='classtrees_Services_JSON.html' target='right'>Class trees</a><br />

-			<a href='elementindex_Services_JSON.html' target='right'>Index of elements</a><br />

-							<a href="todolist.html" target="right">Todo List</a><br />

-					</dd>

-	

-							

-							

-													<dt class="folder-title">Classes</dt>

-											<dd><a href='Services_JSON/Services_JSON.html' target='right'>Services_JSON</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_AssocArray_TestCase.html' target='right'>Services_JSON_AssocArray_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_Empties_TestCase.html' target='right'>Services_JSON_Empties_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_EncDec_TestCase.html' target='right'>Services_JSON_EncDec_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_Error.html' target='right'>Services_JSON_Error</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_ErrorSuppression_TestCase.html' target='right'>Services_JSON_ErrorSuppression_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_NestedArray_TestCase.html' target='right'>Services_JSON_NestedArray_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_Object_TestCase.html' target='right'>Services_JSON_Object_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_Spaces_Comments_TestCase.html' target='right'>Services_JSON_Spaces_Comments_TestCase</a></dd>

-											<dd><a href='Services_JSON/Services_JSON_UnquotedKeys_TestCase.html' target='right'>Services_JSON_UnquotedKeys_TestCase</a></dd>

-																						<dt class="folder-title">Files</dt>

-											<dd><a href='Services_JSON/_JSON_php.html' target='right'>JSON.php</a></dd>

-											<dd><a href='Services_JSON/_Test-JSON_php.html' target='right'>Test-JSON.php</a></dd>

-																	

-						

-			</dl>

-</div>

-<p class="notes"><a href="http://www.phpdoc.org" target="_blank">phpDocumentor v <span class="field">1.2.3</span></a></p>

-</BODY>

-</HTML>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/media/banner.css b/eclipse.org-common/json/doc/media/banner.css
deleted file mode 100644
index e67227b..0000000
--- a/eclipse.org-common/json/doc/media/banner.css
+++ /dev/null
@@ -1,32 +0,0 @@
-body 

-{ 

-	background-color: #CCCCFF; 

-	margin: 0px; 

-	padding: 0px;

-}

-

-/* Banner (top bar) classes */

-

-.banner {  }

-

-.banner-menu 

-{ 

-	clear: both;

-	padding: .5em;

-	border-top: 2px solid #6666AA;	

-}

-

-.banner-title 

-{ 

-	text-align: right; 

-	font-size: 20pt; 

-	font-weight: bold; 

-	margin: .2em;

-}

-

-.package-selector 

-{ 

-	background-color: #AAAADD; 

-	border: 1px solid black; 

-	color: yellow;

-}

diff --git a/eclipse.org-common/json/doc/media/stylesheet.css b/eclipse.org-common/json/doc/media/stylesheet.css
deleted file mode 100644
index 4a097a2..0000000
--- a/eclipse.org-common/json/doc/media/stylesheet.css
+++ /dev/null
@@ -1,134 +0,0 @@
-a { color: #336699; text-decoration: none; }

-a:hover { color: #6699CC; text-decoration: underline; }

-a:active { color: #6699CC; text-decoration: underline; }

-

-body { background : #FFFFFF; }

-body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt }

-p, li { line-height: 140% }

-a img { border: 0px; }

-dd { margin-left: 0px; padding-left: 1em; }

-

-/* Page layout/boxes */

-

-.info-box {}

-.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF }

-.info-box-body { border: 1px solid #999999; padding: .5em; }

-.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; }

-

-.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}

-.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}

-

-.page-body { max-width: 800px; margin: auto; }

-.tree dl { margin: 0px }

-

-/* Index formatting classes */

-

-.index-item-body { margin-top: .5em; margin-bottom: .5em}

-.index-item-description { margin-top: .25em }

-.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt }

-.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em}

-.index-letter-title { font-size: 12pt; font-weight: bold }

-.index-letter-menu { text-align: center; margin: 1em }

-.index-letter { font-size: 12pt }

-

-/* Docbook classes */

-

-.description {}

-.short-description { font-weight: bold; color: #666666; }

-.tags {	padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; }

-.parameters {	padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; }

-.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; }

-.package {  }

-.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black }

-.package-details { font-size: 85%; }

-.sub-package { font-weight: bold; font-size: 120% }

-.tutorial { border-width: thin; border-color: #0066ff }

-.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; }

-.nav-button-disabled { color: #999999; }

-.nav-button:active, 

-.nav-button:focus, 

-.nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none }

-.folder-title { font-style: italic }

-

-/* Generic formatting */

-

-.field { font-weight: bold; }

-.detail { font-size: 8pt; }

-.notes { font-style: italic; font-size: 8pt; }

-.separator { background-color: #999999; height: 2px; }

-.warning {  color: #FF6600; }

-.disabled { font-style: italic; color: #999999; }

-

-/* Code elements */

-

-.line-number {  }

-

-.class-table { width: 100%; }

-.class-table-header { border-bottom: 1px dotted #666666; text-align: left}

-.class-name { color: #000000; font-weight: bold; }

-

-.method-summary { padding-left: 1em; font-size: 8pt }

-.method-header { }

-.method-definition { margin-bottom: .3em }

-.method-title { font-weight: bold; }

-.method-name { font-weight: bold; }

-.method-signature { font-size: 85%; color: #666666; margin: .5em 0em }

-.method-result { font-style: italic; }

-

-.var-summary { padding-left: 1em; font-size: 8pt; }

-.var-header { }

-.var-title { margin-bottom: .3em }

-.var-type { font-style: italic; }

-.var-name { font-weight: bold; }

-.var-default {}

-.var-description { font-weight: normal; color: #000000; }

-

-.include-title {  }

-.include-type { font-style: italic; }

-.include-name { font-weight: bold; }

-

-.const-title {  }

-.const-name { font-weight: bold; }

-

-/* Syntax highlighting */

-

-.src-code {  border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; }

-

-.src-comm { color: green; }

-.src-id {  }

-.src-inc { color: #0000FF; }

-.src-key { color: #0000FF; }

-.src-num { color: #CC0000; }

-.src-str { color: #66cccc; }

-.src-sym { font-weight: bold; }

-.src-var { }

-

-.src-php { font-weight: bold; }

-

-.src-doc { color: #009999 }

-.src-doc-close-template { color: #0000FF }

-.src-doc-coretag { color: #0099FF; font-weight: bold }

-.src-doc-inlinetag { color: #0099FF }

-.src-doc-internal { color: #6699cc }

-.src-doc-tag { color: #0080CC }

-.src-doc-template { color: #0000FF }

-.src-doc-type { font-style: italic }

-.src-doc-var { font-style: italic }

-

-/* tutorial */

-

-.authors {  }

-.author { font-style: italic; font-weight: bold }

-.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }

-.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em }

-.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap }

-.release-info { font-size: 85%; font-style: italic; margin: 1em 0em }

-.ref-title-box {  }

-.ref-title {  }

-.ref-purpose { font-style: italic; color: #666666 }

-.ref-synopsis {  }

-.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #CCCCFF  }

-.cmd-synopsis { margin: 1em 0em }

-.cmd-title { font-weight: bold }

-.toc { margin-left: 2em; padding-left: 0em }

-

diff --git a/eclipse.org-common/json/doc/packages.html b/eclipse.org-common/json/doc/packages.html
deleted file mode 100644
index 468beb0..0000000
--- a/eclipse.org-common/json/doc/packages.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title></title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<link rel="stylesheet" href="media/banner.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-			<div class="banner">

-				<div class="banner-title">Services_JSON</div>

-				<div class="banner-menu">

-	        <table cellpadding="0" cellspacing="0" style="width: 100%">

-	          <tr>

-              <td>

-								              </td>

-              <td style="width: 2em">&nbsp;</td>

-              <td style="text-align: right">

-								              </td>

-						</tr>

-          </table>

-				</div>

-			</div>

-		</body>

-	</html>
\ No newline at end of file
diff --git a/eclipse.org-common/json/doc/todolist.html b/eclipse.org-common/json/doc/todolist.html
deleted file mode 100644
index 46cb3cb..0000000
--- a/eclipse.org-common/json/doc/todolist.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>

-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

-  <html xmlns="http://www.w3.org/1999/xhtml">

-		<head>

-			<!-- template designed by Marco Von Ballmoos -->

-			<title>Todo List</title>

-			<link rel="stylesheet" href="media/stylesheet.css" />

-			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>

-		</head>

-		<body>

-						<div align="center"><h1>Todo List</h1></div>

-<h2>Services_JSON</h2>

-<h3><a href="Services_JSON/Services_JSON.html#methodisError">Services_JSON::isError()</a></h3>

-<ul>

-    <li>Ultimately, this should just call PEAR::isError()</li>

-</ul>

-	<p class="notes" id="credit">

-		Documentation generated on Tue, 27 Jun 2006 22:54:27 -0700 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.2.3</a>

-	</p>

-	</body>

-</html>
\ No newline at end of file
diff --git a/eclipse.org-common/lib/jquery/jquery-1.4.4.min.js b/eclipse.org-common/lib/jquery/jquery-1.4.4.min.js
deleted file mode 100644
index 8f3ca2e..0000000
--- a/eclipse.org-common/lib/jquery/jquery-1.4.4.min.js
+++ /dev/null
@@ -1,167 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.4.4
- * http://jquery.com/
- *
- * Copyright 2010, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2010, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Nov 11 19:04:53 2010 -0500
- */
-(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h=
-h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;k<J.length;k++){h=J[k];h.origType.replace(X,"")===a.type?f.push(h.selector):J.splice(k--,1)}f=c(a.target).closest(f,a.currentTarget);o=0;for(x=f.length;o<x;o++){r=f[o];for(k=0;k<J.length;k++){h=J[k];if(r.selector===h.selector&&(!A||A.test(h.namespace))){l=r.elem;e=null;if(h.preType==="mouseenter"||
-h.preType==="mouseleave"){a.type=h.preType;e=c(a.relatedTarget).closest(h.selector)[0]}if(!e||e!==l)C.push({elem:l,handleObj:h,level:r.level})}}}o=0;for(x=C.length;o<x;o++){f=C[o];if(d&&f.level>d)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La,
-"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this,
-e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a,
-"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+
-a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j,
-s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this,
-j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length},
-toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j===
--1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false;
-if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K<Q;K++)if((j=arguments[K])!=null)for(s in j){v=G[s];z=j[s];if(G!==z)if(ga&&z&&(b.isPlainObject(z)||(H=b.isArray(z)))){if(H){H=false;v=v&&b.isArray(v)?v:[]}else v=v&&b.isPlainObject(v)?v:{};G[s]=b.extend(ga,v,z)}else if(z!==B)G[s]=z}return G};b.extend({noConflict:function(j){E.$=e;if(j)E.jQuery=d;return b},isReady:false,readyWait:1,ready:function(j){j===true&&b.readyWait--;
-if(!b.readyWait||j!==true&&!b.isReady){if(!t.body)return setTimeout(b.ready,1);b.isReady=true;if(!(j!==true&&--b.readyWait>0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload",
-b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&&
-!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&&
-l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H<G;){if(s.apply(j[H++],v)===false)break}else if(K)for(z in j){if(s.call(j[z],
-z,j[z])===false)break}else for(v=j[0];H<G&&s.call(v,H,v)!==false;v=j[++H]);return j},trim:O?function(j){return j==null?"":O.call(j)}:function(j){return j==null?"":j.toString().replace(k,"").replace(o,"")},makeArray:function(j,s){var v=s||[];if(j!=null){var z=b.type(j);j.length==null||z==="string"||z==="function"||z==="regexp"||b.isWindow(j)?M.call(v,j):b.merge(v,j)}return v},inArray:function(j,s){if(s.indexOf)return s.indexOf(j);for(var v=0,z=s.length;v<z;v++)if(s[v]===j)return v;return-1},merge:function(j,
-s){var v=j.length,z=0;if(typeof s.length==="number")for(var H=s.length;z<H;z++)j[v++]=s[z];else for(;s[z]!==B;)j[v++]=s[z++];j.length=v;return j},grep:function(j,s,v){var z=[],H;v=!!v;for(var G=0,K=j.length;G<K;G++){H=!!s(j[G],G);v!==H&&z.push(j[G])}return z},map:function(j,s,v){for(var z=[],H,G=0,K=j.length;G<K;G++){H=s(j[G],G,v);if(H!=null)z[z.length]=H}return z.concat.apply([],z)},guid:1,proxy:function(j,s,v){if(arguments.length===2)if(typeof s==="string"){v=j;j=v[s];s=B}else if(s&&!b.isFunction(s)){v=
-s;s=B}if(!s&&j)s=function(){return j.apply(v||this,arguments)};if(j)s.guid=j.guid=j.guid||s.guid||b.guid++;return s},access:function(j,s,v,z,H,G){var K=j.length;if(typeof s==="object"){for(var Q in s)b.access(j,Q,s[Q],z,H,v);return j}if(v!==B){z=!G&&z&&b.isFunction(v);for(Q=0;Q<K;Q++)H(j[Q],s,z?v.call(j[Q],Q,H(j[Q],s)):v,G);return j}return K?H(j[0],s):B},now:function(){return(new Date).getTime()},uaMatch:function(j){j=j.toLowerCase();j=L.exec(j)||g.exec(j)||i.exec(j)||j.indexOf("compatible")<0&&n.exec(j)||
-[];return{browser:j[1]||"",version:j[2]||"0"}},browser:{}});b.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(j,s){R["[object "+s+"]"]=s.toLowerCase()});m=b.uaMatch(m);if(m.browser){b.browser[m.browser]=true;b.browser.version=m.version}if(b.browser.webkit)b.browser.safari=true;if(D)b.inArray=function(j,s){return D.call(s,j)};if(!/\s/.test("\u00a0")){k=/^[\s\xA0]+/;o=/[\s\xA0]+$/}f=b(t);if(t.addEventListener)u=function(){t.removeEventListener("DOMContentLoaded",u,
-false);b.ready()};else if(t.attachEvent)u=function(){if(t.readyState==="complete"){t.detachEvent("onreadystatechange",u);b.ready()}};return E.jQuery=E.$=b}();(function(){c.support={};var a=t.documentElement,b=t.createElement("script"),d=t.createElement("div"),e="script"+c.now();d.style.display="none";d.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"),
-k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false,
-scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent=
-false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom=
-1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="<div style='width:4px;'></div>";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="<table><tr><td style='padding:0;display:none'></td><td>t</td></tr></table>";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display=
-"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h=
-c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando);
-else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h<l;h++){f=e[h].name;if(f.indexOf("data-")===0){f=f.substr(5);ka(this[0],f,d[f])}}}return d}else if(typeof a==="object")return this.each(function(){c.data(this,
-a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(b===B){d=this.triggerHandler("getData"+k[1]+"!",[k[0]]);if(d===B&&this.length){d=c.data(this[0],a);d=ka(this[0],a,d)}return d===B&&k[1]?this.data(k[0]):d}else return this.each(function(){var o=c(this),x=[k[0],b];o.triggerHandler("setData"+k[1]+"!",x);c.data(this,a,b);o.triggerHandler("changeData"+k[1]+"!",x)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var e=
-c.data(a,b);if(!d)return e||[];if(!e||c.isArray(d))e=c.data(a,b,c.makeArray(d));else e.push(d);return e}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),e=d.shift();if(e==="inprogress")e=d.shift();if(e){b==="fx"&&d.unshift("inprogress");e.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===B)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,
-a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var sa=/[\n\t]/g,ha=/\s+/,Sa=/\r/g,Ta=/^(?:href|src|style)$/,Ua=/^(?:button|input)$/i,Va=/^(?:button|input|object|select|textarea)$/i,Wa=/^a(?:rea)?$/i,ta=/^(?:radio|checkbox)$/i;c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",
-colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};c.fn.extend({attr:function(a,b){return c.access(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(x){var r=c(this);r.addClass(a.call(this,x,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===
-1)if(f.className){for(var h=" "+f.className+" ",l=f.className,k=0,o=b.length;k<o;k++)if(h.indexOf(" "+b[k]+" ")<0)l+=" "+b[k];f.className=c.trim(l)}else f.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(o){var x=c(this);x.removeClass(a.call(this,o,x.attr("class")))});if(a&&typeof a==="string"||a===B)for(var b=(a||"").split(ha),d=0,e=this.length;d<e;d++){var f=this[d];if(f.nodeType===1&&f.className)if(a){for(var h=(" "+f.className+" ").replace(sa," "),
-l=0,k=b.length;l<k;l++)h=h.replace(" "+b[l]+" "," ");f.className=c.trim(h)}else f.className=""}return this},toggleClass:function(a,b){var d=typeof a,e=typeof b==="boolean";if(c.isFunction(a))return this.each(function(f){var h=c(this);h.toggleClass(a.call(this,f,h.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var f,h=0,l=c(this),k=b,o=a.split(ha);f=o[h++];){k=e?k:!l.hasClass(f);l[k?"addClass":"removeClass"](f)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,
-"__className__",this.className);this.className=this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(sa," ").indexOf(a)>-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one";
-if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h<e;h++){var l=f[h];if(l.selected&&(c.support.optDisabled?!l.disabled:l.getAttribute("disabled")===null)&&(!l.parentNode.disabled||!c.nodeName(l.parentNode,"optgroup"))){a=c(l).val();if(b)return a;d.push(a)}}return d}if(ta.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Sa,"")}return B}var k=c.isFunction(a);return this.each(function(o){var x=c(this),r=a;if(this.nodeType===1){if(k)r=
-a.call(this,o,x.val());if(r==null)r="";else if(typeof r==="number")r+="";else if(c.isArray(r))r=c.map(r,function(C){return C==null?"":C+""});if(c.isArray(r)&&ta.test(this.type))this.checked=c.inArray(x.val(),r)>=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},
-attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&
-b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0};
-c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,
-arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid=
-d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+
-c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h<A.length;h++){C=A[h];if(d.guid===C.guid){if(k||x.test(C.namespace)){e==null&&A.splice(h--,1);r.remove&&r.remove.call(a,C)}if(e!=null)break}}if(A.length===0||e!=null&&A.length===1){if(!r.teardown||r.teardown.call(a,o)===false)c.removeEvent(a,f,w.handle);delete I[f]}}else for(h=0;h<A.length;h++){C=A[h];if(k||x.test(C.namespace)){c.event.remove(a,r,C.handler,h);A.splice(h--,1)}}}if(c.isEmptyObject(I)){if(b=
-w.handle)b.elem=null;delete w.events;delete w.handle;if(typeof w==="function")c.removeData(a,J);else c.isEmptyObject(w)&&c.removeData(a)}}}}},trigger:function(a,b,d,e){var f=a.type||a;if(!e){a=typeof a==="object"?a[c.expando]?a:c.extend(c.Event(f),a):c.Event(f);if(f.indexOf("!")>=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===
-8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k===
-"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+
-d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f<l;f++){var k=d[f];if(b||e.test(k.namespace)){a.handler=k.handler;a.data=k.data;a.handleObj=k;k=k.handler.apply(this,h);if(k!==B){a.result=k;if(k===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),
-fix:function(a){if(a[c.expando])return a;var b=a;a=c.Event(b);for(var d=this.props.length,e;d;){e=this.props[--d];a[e]=b[e]}if(!a.target)a.target=a.srcElement||t;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=t.documentElement;d=t.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||
-d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(a.which==null&&(a.charCode!=null||a.keyCode!=null))a.which=a.charCode!=null?a.charCode:a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==B)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,Y(a.origType,a.selector),c.extend({},a,{handler:Ka,guid:a.handler.guid}))},remove:function(a){c.event.remove(this,
-Y(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,d){if(c.isWindow(this))this.onbeforeunload=d},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};c.removeEvent=t.removeEventListener?function(a,b,d){a.removeEventListener&&a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent&&a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=a;this.type=a.type}else this.type=a;this.timeStamp=
-c.now();this[c.expando]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=ca;var a=this.originalEvent;if(a)if(a.preventDefault)a.preventDefault();else a.returnValue=false},stopPropagation:function(){this.isPropagationStopped=ca;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=ca;this.stopPropagation()},isDefaultPrevented:U,isPropagationStopped:U,isImmediatePropagationStopped:U};
-var va=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},wa=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?wa:va,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?wa:va)}}});if(!c.support.submitBubbles)c.event.special.submit={setup:function(){if(this.nodeName.toLowerCase()!==
-"form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length){a.liveFired=B;return la("submit",this,arguments)}});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13){a.liveFired=B;return la("submit",this,arguments)}})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};if(!c.support.changeBubbles){var V,
-xa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired=
-B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type===
-"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]===
-0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h<k;h++)c.event.add(this[h],d,l,e)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&!a.preventDefault)for(var d in a)this.unbind(d,
-a[d]);else{d=0;for(var e=this.length;d<e;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,e){return this.live(b,d,e,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var d=c.Event(a);d.preventDefault();d.stopPropagation();c.event.trigger(d,b,this[0]);return d.result}},toggle:function(a){for(var b=arguments,d=
-1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(e){var f=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,f+1);e.preventDefault();return b[f].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var ya={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,e,f,h){var l,k=0,o,x,r=h||this.selector;h=h?this:c(this.context);if(typeof d===
-"object"&&!d.preventDefault){for(l in d)h[b](l,e,d[l],r);return this}if(c.isFunction(e)){f=e;e=B}for(d=(d||"").split(" ");(l=d[k++])!=null;){o=X.exec(l);x="";if(o){x=o[0];l=l.replace(X,"")}if(l==="hover")d.push("mouseenter"+x,"mouseleave"+x);else{o=l;if(l==="focus"||l==="blur"){d.push(ya[l]+x);l+=x}else l=(ya[l]||l)+x;if(b==="live"){x=0;for(var A=h.length;x<A;x++)c.event.add(h[x],"live."+Y(l,r),{data:e,selector:r,handler:f,origType:l,origHandler:f,preType:o})}else h.unbind("live."+Y(l,r),f)}}return this}});
-c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){c.fn[b]=function(d,e){if(e==null){e=d;d=null}return arguments.length>0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});
-(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1&&!q){y.sizcache=n;y.sizset=p}if(y.nodeName.toLowerCase()===i){F=y;break}y=y[g]}m[p]=F}}}function b(g,i,n,m,p,q){p=0;for(var u=m.length;p<u;p++){var y=m[p];if(y){var F=false;for(y=y[g];y;){if(y.sizcache===n){F=m[y.sizset];break}if(y.nodeType===1){if(!q){y.sizcache=n;y.sizset=p}if(typeof i!=="string"){if(y===i){F=true;break}}else if(k.filter(i,
-[y]).length>0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3];
-break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr,
-q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h=
-l;g.sort(w);if(h)for(var i=1;i<g.length;i++)g[i]===g[i-1]&&g.splice(i--,1)}return g};k.matches=function(g,i){return k(g,null,null,i)};k.matchesSelector=function(g,i){return k(i,null,null,[g]).length>0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p<q;p++){var u,y=o.order[p];if(u=o.leftMatch[y].exec(g)){var F=u[1];u.splice(1,1);if(F.substr(F.length-1)!=="\\"){u[1]=(u[1]||"").replace(/\\/g,"");m=o.find[y](u,i,n);if(m!=null){g=g.replace(o.match[y],"");break}}}}m||(m=i.getElementsByTagName("*"));
-return{set:m,expr:g}};k.filter=function(g,i,n,m){for(var p,q,u=g,y=[],F=i,M=i&&i[0]&&k.isXML(i[0]);g&&i.length;){for(var N in o.filter)if((p=o.leftMatch[N].exec(g))!=null&&p[2]){var O,D,R=o.filter[N];D=p[1];q=false;p.splice(1,1);if(D.substr(D.length-1)!=="\\"){if(F===y)y=[];if(o.preFilter[N])if(p=o.preFilter[N](p,F,n,y,m,M)){if(p===true)continue}else q=O=true;if(p)for(var j=0;(D=F[j])!=null;j++)if(D){O=R(D,p,j,F);var s=m^!!O;if(n&&O!=null)if(s)q=true;else F[j]=false;else if(s){y.push(D);q=true}}if(O!==
-B){n||(F=y);g=g.replace(o.match[N],"");if(!q)return[];break}}}if(g===u)if(q==null)k.error(g);else break;u=g}return F};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var o=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+\-]*)\))?/,
-POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},relative:{"+":function(g,i){var n=typeof i==="string",m=n&&!/\W/.test(i);n=n&&!m;if(m)i=i.toLowerCase();m=0;for(var p=g.length,q;m<p;m++)if(q=g[m]){for(;(q=q.previousSibling)&&q.nodeType!==1;);g[m]=n||q&&q.nodeName.toLowerCase()===
-i?q||false:q===i}n&&k.filter(i,g,true)},">":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p<q;p++){if(n=g[p]){n=n.parentNode;g[p]=n.nodeName.toLowerCase()===i?n:false}}else{for(;p<q;p++)if(n=g[p])g[p]=m?n.parentNode:n.parentNode===i;m&&k.filter(i,g,true)}},"":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=i=i.toLowerCase();q=a}q("parentNode",i,p,g,m,n)},"~":function(g,i,n){var m,p=e++,q=b;if(typeof i==="string"&&!/\W/.test(i)){m=
-i=i.toLowerCase();q=a}q("previousSibling",i,p,g,m,n)}},find:{ID:function(g,i,n){if(typeof i.getElementById!=="undefined"&&!n)return(g=i.getElementById(g[1]))&&g.parentNode?[g]:[]},NAME:function(g,i){if(typeof i.getElementsByName!=="undefined"){for(var n=[],m=i.getElementsByName(g[1]),p=0,q=m.length;p<q;p++)m[p].getAttribute("name")===g[1]&&n.push(m[p]);return n.length===0?null:n}},TAG:function(g,i){return i.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,i,n,m,p,q){g=" "+g[1].replace(/\\/g,
-"")+" ";if(q)return g;q=0;for(var u;(u=i[q])!=null;q++)if(u)if(p^(u.className&&(" "+u.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n,
-m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===
-true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===
-g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return i<n[3]-0},gt:function(g,i,n){return i>n[3]-0},nth:function(g,i,n){return n[3]-
-0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n<m;n++)if(i[n]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+p)},CHILD:function(g,i){var n=i[1],m=g;switch(n){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(n===
-"first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":n=i[2];var p=i[3];if(n===1&&p===0)return true;var q=i[0],u=g.parentNode;if(u&&(u.sizcache!==q||!g.nodeIndex)){var y=0;for(m=u.firstChild;m;m=m.nextSibling)if(m.nodeType===1)m.nodeIndex=++y;u.sizcache=q}m=g.nodeIndex-p;return n===0?m===0:m%n===0&&m/n>=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===
-i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]];
-if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m,
-g);else if(typeof g.length==="number")for(var p=g.length;n<p;n++)m.push(g[n]);else for(;g[n];n++)m.push(g[n]);return m}}var w,I;if(t.documentElement.compareDocumentPosition)w=function(g,i){if(g===i){h=true;return 0}if(!g.compareDocumentPosition||!i.compareDocumentPosition)return g.compareDocumentPosition?-1:1;return g.compareDocumentPosition(i)&4?-1:1};else{w=function(g,i){var n,m,p=[],q=[];n=g.parentNode;m=i.parentNode;var u=n;if(g===i){h=true;return 0}else if(n===m)return I(g,i);else if(n){if(!m)return 1}else return-1;
-for(;u;){p.unshift(u);u=u.parentNode}for(u=m;u;){q.unshift(u);u=u.parentNode}n=p.length;m=q.length;for(u=0;u<n&&u<m;u++)if(p[u]!==q[u])return I(p[u],q[u]);return u===n?I(g,q[u],-1):I(p[u],i,1)};I=function(g,i,n){if(g===i)return n;for(g=g.nextSibling;g;){if(g===i)return-1;g=g.nextSibling}return 1}}k.getText=function(g){for(var i="",n,m=0;g[m];m++){n=g[m];if(n.nodeType===3||n.nodeType===4)i+=n.nodeValue;else if(n.nodeType!==8)i+=k.getText(n.childNodes)}return i};(function(){var g=t.createElement("div"),
-i="script"+(new Date).getTime(),n=t.documentElement;g.innerHTML="<a name='"+i+"'/>";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g);
-n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="<a href='#'></a>";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&&
-function(){var g=k,i=t.createElement("div");i.innerHTML="<p class='TEST'></p>";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F||
-p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g=
-t.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition?
-function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n<u;n++)k(g,q[n],m);return k.filter(p,m)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=k.getText;c.isXMLDoc=k.isXML;
-c.contains=k.contains})();var Za=/Until$/,$a=/^(?:parents|prevUntil|prevAll)/,ab=/,/,Na=/^.[^:#\[\.,]*$/,bb=Array.prototype.slice,cb=c.expr.match.POS;c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,e=0,f=this.length;e<f;e++){d=b.length;c.find(a,this[e],b);if(e>0)for(var h=d;h<b.length;h++)for(var l=0;l<d;l++)if(b[l]===b[h]){b.splice(h--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,e=b.length;d<e;d++)if(c.contains(this,b[d]))return true})},
-not:function(a){return this.pushStack(ma(this,a,false),"not",a)},filter:function(a){return this.pushStack(ma(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e<f;e++){l=a[e];k[l]||(k[l]=c.expr.match.POS.test(l)?c(l,b||this.context):l)}for(;h&&h.ownerDocument&&h!==b;){for(l in k){e=k[l];if(e.jquery?e.index(h)>-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h=
-h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e<f;e++)for(h=this[e];h;)if(l?l.index(h)>-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context):
-c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,
-2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,
-b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&
-e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/<tbody/i,eb=/<|&#?\w+;/,Ca=/<(?:script|object|embed|option|style)/i,Da=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/\=([^="'>\s]+\/)>/g,P={option:[1,
-"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=
-c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},
-wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},
-prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,
-this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);
-return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null;
-else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1></$2>");try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(e){this.empty().append(a)}}else c.isFunction(a)?this.each(function(f){var h=c(this);h.html(a.call(this,f,h.html()))}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=
-c(this),e=d.html();d.replaceWith(a.call(this,b,e))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){var e,f,h,l=a[0],k=[];if(!c.support.checkClone&&arguments.length===3&&typeof l==="string"&&Da.test(l))return this.each(function(){c(this).domManip(a,
-b,d,true)});if(c.isFunction(l))return this.each(function(x){var r=c(this);a[0]=l.call(this,x,b?r.html():B);r.domManip(a,b,d)});if(this[0]){e=l&&l.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:c.buildFragment(a,this,k);h=e.fragment;if(f=h.childNodes.length===1?h=h.firstChild:h.firstChild){b=b&&c.nodeName(f,"tr");f=0;for(var o=this.length;f<o;f++)d.call(b?c.nodeName(this[f],"table")?this[f].getElementsByTagName("tbody")[0]||this[f].appendChild(this[f].ownerDocument.createElement("tbody")):
-this[f]:this[f],f>0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append",
-prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f<h;f++){var l=(f>0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument||
-b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1></$2>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]==="<table>"&&!x?r.childNodes:[];for(o=k.length-
-1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script"))));
-d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i,
-jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true,
-zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b),
-h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b);
-if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f=
-d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left;
-e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
-ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b===
-"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("<div>").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&
-!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})},
-getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html",
-script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data||
-!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache=
-false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset;
-A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type",
-b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&&
-c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d||
-c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]=
-encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess",
-[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),
-e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}});
-if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show",
-3),a,b,d);else{d=0;for(var e=this.length;d<e;d++){a=this[d];b=a.style.display;if(!c.data(a,"olddisplay")&&b==="none")b=a.style.display="";b===""&&c.css(a,"display")==="none"&&c.data(a,"olddisplay",qa(a.nodeName))}for(d=0;d<e;d++){a=this[d];b=a.style.display;if(b===""||b==="none")a.style.display=c.data(a,"olddisplay")||""}return this}},hide:function(a,b,d){if(a||a===0)return this.animate(S("hide",3),a,b,d);else{a=0;for(b=this.length;a<b;a++){d=c.css(this[a],"display");d!=="none"&&c.data(this[a],"olddisplay",
-d)}for(a=0;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b,d){var e=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||e?this.each(function(){var f=e?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(S("toggle",3),a,b,d);return this},fadeTo:function(a,b,d,e){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d,e)},animate:function(a,b,d,e){var f=c.speed(b,
-d,e);if(c.isEmptyObject(a))return this.each(f.complete);return this[f.queue===false?"each":"queue"](function(){var h=c.extend({},f),l,k=this.nodeType===1,o=k&&c(this).is(":hidden"),x=this;for(l in a){var r=c.camelCase(l);if(l!==r){a[r]=a[l];delete a[l];l=r}if(a[l]==="hide"&&o||a[l]==="show"&&!o)return h.complete.call(this);if(k&&(l==="height"||l==="width")){h.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(c.css(this,"display")==="inline"&&c.css(this,"float")==="none")if(c.support.inlineBlockNeedsLayout)if(qa(this.nodeName)===
-"inline")this.style.display="inline-block";else{this.style.display="inline";this.style.zoom=1}else this.style.display="inline-block"}if(c.isArray(a[l])){(h.specialEasing=h.specialEasing||{})[l]=a[l][1];a[l]=a[l][0]}}if(h.overflow!=null)this.style.overflow="hidden";h.curAnim=c.extend({},a);c.each(a,function(A,C){var J=new c.fx(x,h,A);if(vb.test(C))J[C==="toggle"?o?"show":"hide":C](a);else{var w=wb.exec(C),I=J.cur()||0;if(w){var L=parseFloat(w[2]),g=w[3]||"px";if(g!=="px"){c.style(x,A,(L||1)+g);I=(L||
-1)/J.cur()*I;c.style(x,A,I+g)}if(w[1])L=(w[1]==="-="?-1:1)*L+I;J.custom(I,L,g)}else J.custom(I,C,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);this.each(function(){for(var e=d.length-1;e>=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b,
-d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a*
-Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)}
-var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;
-this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide||
-this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=
-c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||c.fx.stop()},interval:13,stop:function(){clearInterval(ba);ba=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===
-b.elem}).length};var xb=/^t(?:able|d|h)$/i,Ia=/^(?:body|html)$/i;c.fn.offset="getBoundingClientRect"in t.documentElement?function(a){var b=this[0],d;if(a)return this.each(function(l){c.offset.setOffset(this,a,l)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);try{d=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,h=f.documentElement;if(!d||!c.contains(h,b))return d||{top:0,left:0};b=f.body;f=fa(f);return{top:d.top+(f.pageYOffset||c.support.boxModel&&
-h.scrollTop||b.scrollTop)-(h.clientTop||b.clientTop||0),left:d.left+(f.pageXOffset||c.support.boxModel&&h.scrollLeft||b.scrollLeft)-(h.clientLeft||b.clientLeft||0)}}:function(a){var b=this[0];if(a)return this.each(function(x){c.offset.setOffset(this,a,x)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d,e=b.offsetParent,f=b.ownerDocument,h=f.documentElement,l=f.body;d=(f=f.defaultView)?f.getComputedStyle(b,null):b.currentStyle;
-for(var k=b.offsetTop,o=b.offsetLeft;(b=b.parentNode)&&b!==l&&b!==h;){if(c.offset.supportsFixedPosition&&d.position==="fixed")break;d=f?f.getComputedStyle(b,null):b.currentStyle;k-=b.scrollTop;o-=b.scrollLeft;if(b===e){k+=b.offsetTop;o+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&xb.test(b.nodeName))){k+=parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}e=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"){k+=
-parseFloat(d.borderTopWidth)||0;o+=parseFloat(d.borderLeftWidth)||0}d=d}if(d.position==="relative"||d.position==="static"){k+=l.offsetTop;o+=l.offsetLeft}if(c.offset.supportsFixedPosition&&d.position==="fixed"){k+=Math.max(h.scrollTop,l.scrollTop);o+=Math.max(h.scrollLeft,l.scrollLeft)}return{top:k,left:o}};c.offset={initialize:function(){var a=t.body,b=t.createElement("div"),d,e,f,h=parseFloat(c.css(a,"marginTop"))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",
-height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";a.insertBefore(b,a.firstChild);d=b.firstChild;e=d.firstChild;f=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=e.offsetTop!==5;this.doesAddBorderForTableAndCells=
-f.offsetTop===5;e.style.position="fixed";e.style.top="20px";this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15;e.style.position=e.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==h;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.css(a,
-"marginTop"))||0;d+=parseFloat(c.css(a,"marginLeft"))||0}return{top:b,left:d}},setOffset:function(a,b,d){var e=c.css(a,"position");if(e==="static")a.style.position="relative";var f=c(a),h=f.offset(),l=c.css(a,"top"),k=c.css(a,"left"),o=e==="absolute"&&c.inArray("auto",[l,k])>-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a,
-e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&&
-c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();
-c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+
-b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window);
diff --git a/eclipse.org-common/lib/jquery/jquery-1.5.1.min.js b/eclipse.org-common/lib/jquery/jquery-1.5.1.min.js
deleted file mode 100644
index 6437874..0000000
--- a/eclipse.org-common/lib/jquery/jquery-1.5.1.min.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.5.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Wed Feb 23 13:55:29 2011 -0500
- */
-(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h==="string"&&(f[h.toLowerCase()]=a.converters[h]);l=k,k=e[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=f[m]||f["* "+k];if(!n){p=b;for(o in f){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=f[j[1]+" "+k];if(p){o=f[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&d.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bP(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bO(a,b,c,e){if(d.isArray(b)&&b.length)d.each(b,function(b,f){c||bq.test(a)?e(a,f):bO(a+"["+(typeof f==="object"||d.isArray(f)?b:"")+"]",f,c,e)});else if(c||b==null||typeof b!=="object")e(a,b);else if(d.isArray(b)||d.isEmptyObject(b))e(a,"");else for(var f in b)bO(a+"["+f+"]",b[f],c,e)}function bN(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bH,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l==="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bN(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bN(a,c,d,e,"*",g));return l}function bM(a){return function(b,c){typeof b!=="string"&&(c=b,b="*");if(d.isFunction(c)){var e=b.toLowerCase().split(bB),f=0,g=e.length,h,i,j;for(;f<g;f++)h=e[f],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bo(a,b,c){var e=b==="width"?bi:bj,f=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return f;d.each(e,function(){c||(f-=parseFloat(d.css(a,"padding"+this))||0),c==="margin"?f+=parseFloat(d.css(a,"margin"+this))||0:f-=parseFloat(d.css(a,"border"+this+"Width"))||0});return f}function ba(a,b){b.src?d.ajax({url:b.src,async:!1,dataType:"script"}):d.globalEval(b.text||b.textContent||b.innerHTML||""),b.parentNode&&b.parentNode.removeChild(b)}function _(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function $(a,b){if(b.nodeType===1){var c=b.nodeName.toLowerCase();b.clearAttributes(),b.mergeAttributes(a);if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(d.expando)}}function Z(a,b){if(b.nodeType===1&&d.hasData(a)){var c=d.expando,e=d.data(a),f=d.data(b,e);if(e=e[c]){var g=e.events;f=f[c]=d.extend({},e);if(g){delete f.handle,f.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)d.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function Y(a,b){return d.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function O(a,b,c){if(d.isFunction(b))return d.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return d.grep(a,function(a,d){return a===b===c});if(typeof b==="string"){var e=d.grep(a,function(a){return a.nodeType===1});if(J.test(b))return d.filter(b,e,!c);b=d.filter(b,e)}return d.grep(a,function(a,e){return d.inArray(a,b)>=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;i<t.length;i++)g=t[i],g.origType.replace(p,"")===a.type?r.push(g.selector):t.splice(i--,1);f=d(a.target).closest(r,a.currentTarget);for(j=0,k=f.length;j<k;j++){m=f[j];for(i=0;i<t.length;i++){g=t[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,e=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,e=d(a.relatedTarget).closest(g.selector)[0];(!e||e!==h)&&q.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=q.length;j<k;j++){f=q[j];if(c&&f.level>c)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){e=i[c],f=a[c];if(i===f)continue;l&&f&&(d.isPlainObject(f)||(g=d.isArray(f)))?(g?(g=!1,h=e&&d.isArray(e)?e:[]):h=e&&d.isPlainObject(e)?e:{},i[c]=d.extend(l,h,f)):f!==b&&(i[c]=f)}return i},d.extend({noConflict:function(b){a.$=f,b&&(a.jQuery=e);return d},isReady:!1,readyWait:1,ready:function(a){a===!0&&d.readyWait--;if(!d.readyWait||a!==!0&&!d.isReady){if(!c.body)return setTimeout(d.ready,1);d.isReady=!0;if(a!==!0&&--d.readyWait>0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g<h;)if(c.apply(a[g++],e)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(var j=a[0];g<h&&c.call(j,g,j)!==!1;j=a[++g]){}return a},trim:F?function(a){return a==null?"":F.call(a)}:function(a){return a==null?"":(a+"").replace(j,"").replace(k,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var e=d.type(a);a.length==null||e==="string"||e==="function"||e==="regexp"||d.isWindow(a)?D.call(c,a):d.merge(c,a)}return c},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length==="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,b,c){var d=[],e;for(var f=0,g=a.length;f<g;f++)e=b(a[f],f,c),e!=null&&(d[d.length]=e);return d.concat.apply([],d)},guid:1,proxy:function(a,c,e){arguments.length===2&&(typeof c==="string"?(e=a,a=e[c],c=b):c&&!d.isFunction(c)&&(e=c,c=b)),!c&&a&&(c=function(){return a.apply(e||this,arguments)}),a&&(c.guid=a.guid=a.guid||c.guid||d.guid++);return c},access:function(a,c,e,f,g,h){var i=a.length;if(typeof c==="object"){for(var j in c)d.access(a,j,c[j],f,g,e);return a}if(e!==b){f=!h&&f&&d.isFunction(e);for(var k=0;k<i;k++)g(a[k],c,f?e.call(a[k],k,g(a[k],c)):e,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},_Deferred:function(){var a=[],b,c,e,f={done:function(){if(!e){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=d.type(i),j==="array"?f.done.apply(f,i):j==="function"&&a.push(i);k&&f.resolveWith(k[0],k[1])}return this},resolveWith:function(d,f){if(!e&&!b&&!c){c=1;try{while(a[0])a.shift().apply(d,f)}catch(g){throw g}finally{b=[d,f],c=0}}return this},resolve:function(){f.resolveWith(d.isFunction(this.promise)?this.promise():this,arguments);return this},isResolved:function(){return c||b},cancel:function(){e=1,a=[];return this}};return f},Deferred:function(a){var b=d._Deferred(),c=d._Deferred(),e;d.extend(b,{then:function(a,c){b.done(a).fail(c);return this},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,promise:function(a){if(a==null){if(e)return e;e=a={}}var c=z.length;while(c--)a[z[c]]=b[z[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){var b=arguments.length,c=b<=1&&a&&d.isFunction(a.promise)?a:d.Deferred(),e=c.promise();if(b>1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i<j;i++)h=g[i].name,h.indexOf("data-")===0&&(h=h.substr(5),f(this[0],h,e[h]))}}return e}if(typeof a==="object")return this.each(function(){d.data(this,a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(c===b){e=this.triggerHandler("getData"+k[1]+"!",[k[0]]),e===b&&this.length&&(e=d.data(this[0],a),e=f(this[0],a,e));return e===b&&k[1]?this.data(k[0]):e}return this.each(function(){var b=d(this),e=[k[0],c];b.triggerHandler("setData"+k[1]+"!",e),d.data(this,a,c),b.triggerHandler("changeData"+k[1]+"!",e)})},removeData:function(a){return this.each(function(){d.removeData(this,a)})}}),d.extend({queue:function(a,b,c){if(a){b=(b||"fx")+"queue";var e=d._data(a,b);if(!c)return e||[];!e||d.isArray(c)?e=d._data(a,b,d.makeArray(c)):e.push(c);return e}},dequeue:function(a,b){b=b||"fx";var c=d.queue(a,b),e=c.shift();e==="inprogress"&&(e=c.shift()),e&&(b==="fx"&&c.unshift("inprogress"),e.call(a,function(){d.dequeue(a,b)})),c.length||d.removeData(a,b+"queue",!0)}}),d.fn.extend({queue:function(a,c){typeof a!=="string"&&(c=a,a="fx");if(c===b)return d.queue(this[0],a);return this.each(function(b){var e=d.queue(this,a,c);a==="fx"&&e[0]!=="inprogress"&&d.dequeue(this,a)})},dequeue:function(a){return this.each(function(){d.dequeue(this,a)})},delay:function(a,b){a=d.fx?d.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){d.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var h=/[\n\t\r]/g,i=/\s+/,j=/\r/g,k=/^(?:href|src|style)$/,l=/^(?:button|input)$/i,m=/^(?:button|input|object|select|textarea)$/i,n=/^a(?:rea)?$/i,o=/^(?:radio|checkbox)$/i;d.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"},d.fn.extend({attr:function(a,b){return d.access(this,a,b,!0,d.attr)},removeAttr:function(a,b){return this.each(function(){d.attr(this,a,""),this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.addClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"){var b=(a||"").split(i);for(var c=0,e=this.length;c<e;c++){var f=this[c];if(f.nodeType===1)if(f.className){var g=" "+f.className+" ",h=f.className;for(var j=0,k=b.length;j<k;j++)g.indexOf(" "+b[j]+" ")<0&&(h+=" "+b[j]);f.className=d.trim(h)}else f.className=a}}return this},removeClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"||a===b){var c=(a||"").split(i);for(var e=0,f=this.length;e<f;e++){var g=this[e];if(g.nodeType===1&&g.className)if(a){var j=(" "+g.className+" ").replace(h," ");for(var k=0,l=c.length;k<l;k++)j=j.replace(" "+c[k]+" "," ");g.className=d.trim(j)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,e=typeof b==="boolean";if(d.isFunction(a))return this.each(function(c){var e=d(this);e.toggleClass(a.call(this,c,e.attr("class"),b),b)});return this.each(function(){if(c==="string"){var f,g=0,h=d(this),j=b,k=a.split(i);while(f=k[g++])j=e?j:!h.hasClass(f),h[j?"addClass":"removeClass"](f)}else if(c==="undefined"||c==="boolean")this.className&&d._data(this,"__className__",this.className),this.className=this.className||a===!1?"":d._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(h," ").indexOf(b)>-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k<l;k++){var m=h[k];if(m.selected&&(d.support.optDisabled?!m.disabled:m.getAttribute("disabled")===null)&&(!m.parentNode.disabled||!d.nodeName(m.parentNode,"optgroup"))){a=d(m).val();if(i)return a;g.push(a)}}if(i&&!g.length&&h.length)return d(h[f]).val();return g}if(o.test(c.type)&&!d.support.checkOn)return c.getAttribute("value")===null?"on":c.value;return(c.value||"").replace(j,"")}return b}var n=d.isFunction(a);return this.each(function(b){var c=d(this),e=a;if(this.nodeType===1){n&&(e=a.call(this,b,c.val())),e==null?e="":typeof e==="number"?e+="":d.isArray(e)&&(e=d.map(e,function(a){return a==null?"":a+""}));if(d.isArray(e)&&o.test(this.type))this.checked=d.inArray(c.val(),e)>=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))d.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=d.event.special[h]||{};for(j=f||0;j<p.length;j++){q=p[j];if(e.guid===q.guid){if(l||n.test(q.namespace))f==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(f!=null)break}}if(p.length===0||f!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&d.removeEvent(a,h,s.handle),g=null,delete t[h]}if(d.isEmptyObject(t)){var w=s.handle;w&&(w.elem=null),delete s.events,delete s.handle,d.isEmptyObject(s)&&d.removeData(a,b,!0)}}},trigger:function(a,c,e){var f=a.type||a,g=arguments[3];if(!g){a=typeof a==="object"?a[d.expando]?a:d.extend(d.Event(f),a):d.Event(f),f.indexOf("!")>=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l<m;l++){var n=f[l];if(e||h.test(n.namespace)){c.handler=n.handler,c.data=n.data,c.handleObj=n;var o=n.handler.apply(this,k);o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[d.expando])return a;var e=a;a=d.Event(e);for(var f=this.props.length,g;f;)g=this.props[--f],a[g]=e[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=c.documentElement,i=c.body;a.pageX=a.clientX+(h&&h.scrollLeft||i&&i.scrollLeft||0)-(h&&h.clientLeft||i&&i.clientLeft||0),a.pageY=a.clientY+(h&&h.scrollTop||i&&i.scrollTop||0)-(h&&h.clientTop||i&&i.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:d.proxy,special:{ready:{setup:d.bindReady,teardown:d.noop},live:{add:function(a){d.event.add(this,F(a.origType,a.selector),d.extend({},a,{handler:E,guid:a.handler.guid}))},remove:function(a){d.event.remove(this,F(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){d.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},d.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},d.Event=function(a){if(!this.preventDefault)return new d.Event(a);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?w:v):this.type=a,this.timeStamp=d.now(),this[d.expando]=!0},d.Event.prototype={preventDefault:function(){this.isDefaultPrevented=w;var a=this.originalEvent;a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=w;var a=this.originalEvent;a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=w,this.stopPropagation()},isDefaultPrevented:v,isPropagationStopped:v,isImmediatePropagationStopped:v};var x=function(a){var b=a.relatedTarget;try{if(b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,d.event.handle.apply(this,arguments))}catch(e){}},y=function(a){a.type=a.data,d.event.handle.apply(this,arguments)};d.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){d.event.special[a]={setup:function(c){d.event.add(this,b,c&&c.selector?y:x,a)},teardown:function(a){d.event.remove(this,b,a&&a.selector?y:x)}}}),d.support.submitBubbles||(d.event.special.submit={setup:function(a,b){if(this.nodeName&&this.nodeName.toLowerCase()!=="form")d.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&d(b).closest("form").length&&C("submit",this,arguments)}),d.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&d(b).closest("form").length&&a.keyCode===13&&C("submit",this,arguments)});else return!1},teardown:function(a){d.event.remove(this,".specialSubmit")}});if(!d.support.changeBubbles){var z,A=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i<j;i++)d.event.add(this[i],a,h,e);return this}}),d.fn.extend({unbind:function(a,b){if(typeof a!=="object"||a.preventDefault)for(var e=0,f=this.length;e<f;e++)d.event.remove(this[e],a,b);else for(var c in a)this.unbind(c,a[c]);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){d.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var c=d.Event(a);c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result}},toggle:function(a){var b=arguments,c=1;while(c<b.length)d.proxy(a,b[c++]);return this.click(d.proxy(a,function(e){var f=(d._data(this,"lastToggle"+a.guid)||0)%c;d._data(this,"lastToggle"+a.guid,f+1),e.preventDefault();return b[f].apply(this,arguments)||!1}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var D={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};d.each(["live","die"],function(a,c){d.fn[c]=function(a,e,f,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:d(this.context);if(typeof a==="object"&&!a.preventDefault){for(var o in a)n[c](o,e,a[o],m);return this}d.isFunction(e)&&(f=e,e=b),a=(a||"").split(" ");while((h=a[i++])!=null){j=p.exec(h),k="",j&&(k=j[0],h=h.replace(p,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,h==="focus"||h==="blur"?(a.push(D[h]+k),h=h+k):h=(D[h]||h)+k;if(c==="live")for(var q=0,r=n.length;q<r;q++)d.event.add(n[q],"live."+F(h,m),{data:e,selector:m,handler:f,origType:h,origHandler:f,preType:l});else n.unbind("live."+F(h,m),f)}return this}}),d.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){d.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!=="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!=="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(f){if(f===!0)continue}else g=o=!0}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b==="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!=="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!=="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!=="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(a===b){g=!0;return 0}if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};d.find=k,d.expr=k.selectors,d.expr[":"]=d.expr.filters,d.unique=k.uniqueSort,d.text=k.getText,d.isXMLDoc=k.isXML,d.contains=k.contains}();var G=/Until$/,H=/^(?:parents|prevUntil|prevAll)/,I=/,/,J=/^.[^:#\[\.,]*$/,K=Array.prototype.slice,L=d.expr.match.POS,M={children:!0,contents:!0,next:!0,prev:!0};d.fn.extend({find:function(a){var b=this.pushStack("","find",a),c=0;for(var e=0,f=this.length;e<f;e++){c=b.length,d.find(a,this[e],b);if(e>0)for(var g=c;g<b.length;g++)for(var h=0;h<c;h++)if(b[h]===b[g]){b.splice(g--,1);break}}return b},has:function(a){var b=d(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(d.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(O(this,a,!1),"not",a)},filter:function(a){return this.pushStack(O(this,a,!0),"filter",a)},is:function(a){return!!a&&d.filter(a,this).length>0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e<f;e++)i=a[e],j[i]||(j[i]=d.expr.match.POS.test(i)?d(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e<f;e++){g=this[e];while(g){if(l?l.index(g)>-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/<tbody/i,U=/<|&#?\w+;/,V=/<(?:script|object|embed|option|style)/i,W=/checked\s*(?:[^=]|=\s*.checked.)/i,X={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div<div>","</div>"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1></$2>");try{for(var c=0,e=this.length;c<e;c++)this[c].nodeType===1&&(d.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(f){this.empty().append(a)}}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(d.isFunction(a))return this.each(function(b){var c=d(this),e=c.html();c.replaceWith(a.call(this,b,e))});typeof a!=="string"&&(a=d(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;d(this).remove(),b?d(b).before(a):d(c).append(a)})}return this.pushStack(d(d.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,e){var f,g,h,i,j=a[0],k=[];if(!d.support.checkClone&&arguments.length===3&&typeof j==="string"&&W.test(j))return this.each(function(){d(this).domManip(a,c,e,!0)});if(d.isFunction(j))return this.each(function(f){var g=d(this);a[0]=j.call(this,f,c?g.html():b),g.domManip(a,c,e)});if(this[0]){i=j&&j.parentNode,d.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?f={fragment:i}:f=d.buildFragment(a,this,k),h=f.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&d.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)e.call(c?Y(this[l],g):this[l],f.cacheable||m>1&&l<n?d.clone(h,!0,!0):h)}k.length&&d.each(k,ba)}return this}}),d.buildFragment=function(a,b,e){var f,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]==="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!V.test(a[0])&&(d.support.checkClone||!W.test(a[0]))&&(g=!0,h=d.fragments[a[0]],h&&(h!==1&&(f=h))),f||(f=i.createDocumentFragment(),d.clean(a,i,f,e)),g&&(d.fragments[a[0]]=h?f:1);return{fragment:f,cacheable:g}},d.fragments={},d.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){d.fn[a]=function(c){var e=[],f=d(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&f.length===1){f[b](this[0]);return this}for(var h=0,i=f.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1></$2>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]==="<table>"&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("<div>").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)e=this[g],f=e.style.display,!d._data(e,"olddisplay")&&f==="none"&&(f=e.style.display=""),f===""&&d.css(e,"display")==="none"&&d._data(e,"olddisplay",cd(e.nodeName));for(g=0;g<h;g++){e=this[g],f=e.style.display;if(f===""||f==="none")e.style.display=d._data(e,"olddisplay")||""}return this},hide:function(a,b,c){if(a||a===0)return this.animate(cc("hide",3),a,b,c);for(var e=0,f=this.length;e<f;e++){var g=d.css(this[e],"display");g!=="none"&&!d._data(this[e],"olddisplay")&&d._data(this[e],"olddisplay",g)}for(e=0;e<f;e++)this[e].style.display="none";return this},_toggle:d.fn.toggle,toggle:function(a,b,c){var e=typeof a==="boolean";d.isFunction(a)&&d.isFunction(b)?this._toggle.apply(this,arguments):a==null||e?this.each(function(){var b=e?a:d(this).is(":hidden");d(this)[b?"show":"hide"]()}):this.animate(cc("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,e){var f=d.speed(b,c,e);if(d.isEmptyObject(a))return this.each(f.complete);return this[f.queue===!1?"each":"queue"](function(){var b=d.extend({},f),c,e=this.nodeType===1,g=e&&d(this).is(":hidden"),h=this;for(c in a){var i=d.camelCase(c);c!==i&&(a[i]=a[c],delete a[c],c=i);if(a[c]==="hide"&&g||a[c]==="show"&&!g)return b.complete.call(this);if(e&&(c==="height"||c==="width")){b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(d.css(this,"display")==="inline"&&d.css(this,"float")==="none")if(d.support.inlineBlockNeedsLayout){var j=cd(this.nodeName);j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)}else this.style.display="inline-block"}d.isArray(a[c])&&((b.specialEasing=b.specialEasing||{})[c]=a[c][1],a[c]=a[c][0])}b.overflow!=null&&(this.style.overflow="hidden"),b.curAnim=d.extend({},a),d.each(a,function(c,e){var f=new d.fx(h,b,c);if(b$.test(e))f[e==="toggle"?g?"show":"hide":e](a);else{var i=b_.exec(e),j=f.cur();if(i){var k=parseFloat(i[2]),l=i[3]||(d.cssNumber[c]?"":"px");l!=="px"&&(d.style(h,c,(k||1)+l),j=(k||1)/f.cur()*j,d.style(h,c,j+l)),i[1]&&(k=(i[1]==="-="?-1:1)*k+j),f.custom(j,k,l)}else f.custom(j,e,"")}});return!0})},stop:function(a,b){var c=d.timers;a&&this.queue([]),this.each(function(){for(var a=c.length-1;a>=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||d.fx.stop()},interval:13,stop:function(){clearInterval(ca),ca=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){d.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),d.expr&&d.expr.filters&&(d.expr.filters.animated=function(a){return d.grep(d.timers,function(b){return a===b.elem}).length});var ce=/^t(?:able|d|h)$/i,cf=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?d.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,g=f.documentElement;if(!c||!d.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=f.body,i=cg(f),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||d.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||d.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:d.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);d.offset.initialize();var c,e=b.offsetParent,f=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(d.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===e&&(l+=b.offsetTop,m+=b.offsetLeft,d.offset.doesNotAddBorder&&(!d.offset.doesAddBorderForTableAndCells||!ce.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),f=e,e=b.offsetParent),d.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;d.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},d.offset={initialize:function(){var a=c.body,b=c.createElement("div"),e,f,g,h,i=parseFloat(d.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window);
\ No newline at end of file
diff --git a/eclipse.org-common/lib/jquery/jquery-1.5.2.min.js b/eclipse.org-common/lib/jquery/jquery-1.5.2.min.js
deleted file mode 100644
index f78f96a..0000000
--- a/eclipse.org-common/lib/jquery/jquery-1.5.2.min.js
+++ /dev/null
@@ -1,16 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.5.2
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Mar 31 15:28:23 2011 -0400
- */
-(function(a,b){function ci(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cf(a){if(!b_[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";b_[a]=c}return b_[a]}function ce(a,b){var c={};d.each(cd.concat.apply([],cd.slice(0,b)),function(){c[this]=a});return c}function b$(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bZ(){try{return new a.XMLHttpRequest}catch(b){}}function bY(){d(a).unload(function(){for(var a in bW)bW[a](0,1)})}function bS(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h==="string"&&(f[h.toLowerCase()]=a.converters[h]);l=k,k=e[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=f[m]||f["* "+k];if(!n){p=b;for(o in f){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=f[j[1]+" "+k];if(p){o=f[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&d.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function bR(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function bQ(a,b,c,e){if(d.isArray(b)&&b.length)d.each(b,function(b,f){c||bs.test(a)?e(a,f):bQ(a+"["+(typeof f==="object"||d.isArray(f)?b:"")+"]",f,c,e)});else if(c||b==null||typeof b!=="object")e(a,b);else if(d.isArray(b)||d.isEmptyObject(b))e(a,"");else for(var f in b)bQ(a+"["+f+"]",b[f],c,e)}function bP(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bJ,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l==="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bP(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bP(a,c,d,e,"*",g));return l}function bO(a){return function(b,c){typeof b!=="string"&&(c=b,b="*");if(d.isFunction(c)){var e=b.toLowerCase().split(bD),f=0,g=e.length,h,i,j;for(;f<g;f++)h=e[f],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bq(a,b,c){var e=b==="width"?bk:bl,f=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return f;d.each(e,function(){c||(f-=parseFloat(d.css(a,"padding"+this))||0),c==="margin"?f+=parseFloat(d.css(a,"margin"+this))||0:f-=parseFloat(d.css(a,"border"+this+"Width"))||0});return f}function bc(a,b){b.src?d.ajax({url:b.src,async:!1,dataType:"script"}):d.globalEval(b.text||b.textContent||b.innerHTML||""),b.parentNode&&b.parentNode.removeChild(b)}function bb(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function ba(a,b){if(b.nodeType===1){var c=b.nodeName.toLowerCase();b.clearAttributes(),b.mergeAttributes(a);if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(d.expando)}}function _(a,b){if(b.nodeType===1&&d.hasData(a)){var c=d.expando,e=d.data(a),f=d.data(b,e);if(e=e[c]){var g=e.events;f=f[c]=d.extend({},e);if(g){delete f.handle,f.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)d.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function $(a,b){return d.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Q(a,b,c){if(d.isFunction(b))return d.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return d.grep(a,function(a,d){return a===b===c});if(typeof b==="string"){var e=d.grep(a,function(a){return a.nodeType===1});if(L.test(b))return d.filter(b,e,!c);b=d.filter(b,e)}return d.grep(a,function(a,e){return d.inArray(a,b)>=0===c})}function P(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function H(a,b){return(a&&a!=="*"?a+".":"")+b.replace(t,"`").replace(u,"&")}function G(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,p=[],q=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;i<t.length;i++)g=t[i],g.origType.replace(r,"")===a.type?q.push(g.selector):t.splice(i--,1);f=d(a.target).closest(q,a.currentTarget);for(j=0,k=f.length;j<k;j++){m=f[j];for(i=0;i<t.length;i++){g=t[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,e=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,e=d(a.relatedTarget).closest(g.selector)[0];(!e||e!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){f=p[j];if(c&&f.level>c)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function E(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function y(){return!0}function x(){return!1}function i(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function h(a,c,e){if(e===b&&a.nodeType===1){e=a.getAttribute("data-"+c);if(typeof e==="string"){try{e=e==="true"?!0:e==="false"?!1:e==="null"?null:d.isNaN(e)?g.test(e)?d.parseJSON(e):e:parseFloat(e)}catch(f){}d.data(a,c,e)}else e=b}return e}var c=a.document,d=function(){function G(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(G,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x,y,z=Object.prototype.toString,A=Object.prototype.hasOwnProperty,B=Array.prototype.push,C=Array.prototype.slice,D=String.prototype.trim,E=Array.prototype.indexOf,F={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.2",length:0,size:function(){return this.length},toArray:function(){return C.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?B.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),x.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(C.apply(this,arguments),"slice",C.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:B,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){e=i[c],f=a[c];if(i===f)continue;l&&f&&(d.isPlainObject(f)||(g=d.isArray(f)))?(g?(g=!1,h=e&&d.isArray(e)?e:[]):h=e&&d.isPlainObject(e)?e:{},i[c]=d.extend(l,h,f)):f!==b&&(i[c]=f)}return i},d.extend({noConflict:function(b){a.$=f,b&&(a.jQuery=e);return d},isReady:!1,readyWait:1,ready:function(a){a===!0&&d.readyWait--;if(!d.readyWait||a!==!0&&!d.isReady){if(!c.body)return setTimeout(d.ready,1);d.isReady=!0;if(a!==!0&&--d.readyWait>0)return;x.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=d._Deferred();if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",y,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",y),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&G()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):F[z.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!A.call(a,"constructor")&&!A.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||A.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g<h;)if(c.apply(a[g++],e)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(var j=a[0];g<h&&c.call(j,g,j)!==!1;j=a[++g]){}return a},trim:D?function(a){return a==null?"":D.call(a)}:function(a){return a==null?"":(a+"").replace(j,"").replace(k,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var e=d.type(a);a.length==null||e==="string"||e==="function"||e==="regexp"||d.isWindow(a)?B.call(c,a):d.merge(c,a)}return c},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length==="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,b,c){var d=[],e;for(var f=0,g=a.length;f<g;f++)e=b(a[f],f,c),e!=null&&(d[d.length]=e);return d.concat.apply([],d)},guid:1,proxy:function(a,c,e){arguments.length===2&&(typeof c==="string"?(e=a,a=e[c],c=b):c&&!d.isFunction(c)&&(e=c,c=b)),!c&&a&&(c=function(){return a.apply(e||this,arguments)}),a&&(c.guid=a.guid=a.guid||c.guid||d.guid++);return c},access:function(a,c,e,f,g,h){var i=a.length;if(typeof c==="object"){for(var j in c)d.access(a,j,c[j],f,g,e);return a}if(e!==b){f=!h&&f&&d.isFunction(e);for(var k=0;k<i;k++)g(a[k],c,f?e.call(a[k],k,g(a[k],c)):e,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){F["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),E&&(d.inArray=function(a,b){return E.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?y=function(){c.removeEventListener("DOMContentLoaded",y,!1),d.ready()}:c.attachEvent&&(y=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",y),d.ready())});return d}(),e="then done fail isResolved isRejected promise".split(" "),f=[].slice;d.extend({_Deferred:function(){var a=[],b,c,e,f={done:function(){if(!e){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=d.type(i),j==="array"?f.done.apply(f,i):j==="function"&&a.push(i);k&&f.resolveWith(k[0],k[1])}return this},resolveWith:function(d,f){if(!e&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(d,f)}finally{b=[d,f],c=0}}return this},resolve:function(){f.resolveWith(this,arguments);return this},isResolved:function(){return c||b},cancel:function(){e=1,a=[];return this}};return f},Deferred:function(a){var b=d._Deferred(),c=d._Deferred(),f;d.extend(b,{then:function(a,c){b.done(a).fail(c);return this},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,promise:function(a){if(a==null){if(f)return f;f=a={}}var c=e.length;while(c--)a[e[c]]=b[e[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?f.call(arguments,0):c,--g||h.resolveWith(h,f.call(b,0))}}var b=arguments,c=0,e=b.length,g=e,h=e<=1&&a&&d.isFunction(a.promise)?a:d.Deferred();if(e>1){for(;c<e;c++)b[c]&&d.isFunction(b[c].promise)?b[c].promise().then(i(c),h.reject):--g;g||h.resolveWith(h,b)}else h!==a&&h.resolveWith(h,e?[a]:[]);return h.promise()}}),function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="   <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0,reliableMarginRight:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e)}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="<div style='width:4px;'></div>",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="<table><tr><td style='padding:0;border:0;display:none'></td><td>t</td></tr></table>";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(a.style.width="1px",a.style.marginRight="0",d.support.reliableMarginRight=(parseInt(c.defaultView.getComputedStyle(a,null).marginRight,10)||0)===0),b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function");return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}}();var g=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!i(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,g=b.nodeType,h=g?d.cache:b,j=g?b[d.expando]:d.expando;if(!h[j])return;if(c){var k=e?h[j][f]:h[j];if(k){delete k[c];if(!i(k))return}}if(e){delete h[j][f];if(!i(h[j]))return}var l=h[j][f];d.support.deleteExpando||h!=a?delete h[j]:h[j]=null,l?(h[j]={},g||(h[j].toJSON=d.noop),h[j][f]=l):g&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var f=this[0].attributes,g;for(var i=0,j=f.length;i<j;i++)g=f[i].name,g.indexOf("data-")===0&&(g=g.substr(5),h(this[0],g,e[g]))}}return e}if(typeof a==="object")return this.each(function(){d.data(this,a)});var k=a.split(".");k[1]=k[1]?"."+k[1]:"";if(c===b){e=this.triggerHandler("getData"+k[1]+"!",[k[0]]),e===b&&this.length&&(e=d.data(this[0],a),e=h(this[0],a,e));return e===b&&k[1]?this.data(k[0]):e}return this.each(function(){var b=d(this),e=[k[0],c];b.triggerHandler("setData"+k[1]+"!",e),d.data(this,a,c),b.triggerHandler("changeData"+k[1]+"!",e)})},removeData:function(a){return this.each(function(){d.removeData(this,a)})}}),d.extend({queue:function(a,b,c){if(a){b=(b||"fx")+"queue";var e=d._data(a,b);if(!c)return e||[];!e||d.isArray(c)?e=d._data(a,b,d.makeArray(c)):e.push(c);return e}},dequeue:function(a,b){b=b||"fx";var c=d.queue(a,b),e=c.shift();e==="inprogress"&&(e=c.shift()),e&&(b==="fx"&&c.unshift("inprogress"),e.call(a,function(){d.dequeue(a,b)})),c.length||d.removeData(a,b+"queue",!0)}}),d.fn.extend({queue:function(a,c){typeof a!=="string"&&(c=a,a="fx");if(c===b)return d.queue(this[0],a);return this.each(function(b){var e=d.queue(this,a,c);a==="fx"&&e[0]!=="inprogress"&&d.dequeue(this,a)})},dequeue:function(a){return this.each(function(){d.dequeue(this,a)})},delay:function(a,b){a=d.fx?d.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(){var c=this;setTimeout(function(){d.dequeue(c,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var j=/[\n\t\r]/g,k=/\s+/,l=/\r/g,m=/^(?:href|src|style)$/,n=/^(?:button|input)$/i,o=/^(?:button|input|object|select|textarea)$/i,p=/^a(?:rea)?$/i,q=/^(?:radio|checkbox)$/i;d.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"},d.fn.extend({attr:function(a,b){return d.access(this,a,b,!0,d.attr)},removeAttr:function(a,b){return this.each(function(){d.attr(this,a,""),this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.addClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"){var b=(a||"").split(k);for(var c=0,e=this.length;c<e;c++){var f=this[c];if(f.nodeType===1)if(f.className){var g=" "+f.className+" ",h=f.className;for(var i=0,j=b.length;i<j;i++)g.indexOf(" "+b[i]+" ")<0&&(h+=" "+b[i]);f.className=d.trim(h)}else f.className=a}}return this},removeClass:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.removeClass(a.call(this,b,c.attr("class")))});if(a&&typeof a==="string"||a===b){var c=(a||"").split(k);for(var e=0,f=this.length;e<f;e++){var g=this[e];if(g.nodeType===1&&g.className)if(a){var h=(" "+g.className+" ").replace(j," ");for(var i=0,l=c.length;i<l;i++)h=h.replace(" "+c[i]+" "," ");g.className=d.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,e=typeof b==="boolean";if(d.isFunction(a))return this.each(function(c){var e=d(this);e.toggleClass(a.call(this,c,e.attr("class"),b),b)});return this.each(function(){if(c==="string"){var f,g=0,h=d(this),i=b,j=a.split(k);while(f=j[g++])i=e?i:!h.hasClass(f),h[i?"addClass":"removeClass"](f)}else if(c==="undefined"||c==="boolean")this.className&&d._data(this,"__className__",this.className),this.className=this.className||a===!1?"":d._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ";for(var c=0,d=this.length;c<d;c++)if((" "+this[c].className+" ").replace(j," ").indexOf(b)>-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var j=i?f:0,k=i?f+1:h.length;j<k;j++){var m=h[j];if(m.selected&&(d.support.optDisabled?!m.disabled:m.getAttribute("disabled")===null)&&(!m.parentNode.disabled||!d.nodeName(m.parentNode,"optgroup"))){a=d(m).val();if(i)return a;g.push(a)}}if(i&&!g.length&&h.length)return d(h[f]).val();return g}if(q.test(c.type)&&!d.support.checkOn)return c.getAttribute("value")===null?"on":c.value;return(c.value||"").replace(l,"")}return b}var n=d.isFunction(a);return this.each(function(b){var c=d(this),e=a;if(this.nodeType===1){n&&(e=a.call(this,b,c.val())),e==null?e="":typeof e==="number"?e+="":d.isArray(e)&&(e=d.map(e,function(a){return a==null?"":a+""}));if(d.isArray(e)&&q.test(this.type))this.checked=d.inArray(c.val(),e)>=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=m.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&n.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var k=a.getAttributeNode("tabIndex");return k&&k.specified?k.value:o.test(a.nodeName)||p.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var l=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return l===null?b:l}h&&(a[c]=e);return a[c]}});var r=/\.(.*)$/,s=/^(?:textarea|input|select)$/i,t=/\./g,u=/ /g,v=/[^\w\s.|`]/g,w=function(a){return a.replace(v,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=x;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(a){return typeof d!=="undefined"&&d.event.triggered!==a.type?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=x);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),w).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j<p.length;j++){q=p[j];if(l||n.test(q.namespace))d.event.remove(a,r,q.handler,j),p.splice(j--,1)}continue}o=d.event.special[h]||{};for(j=f||0;j<p.length;j++){q=p[j];if(e.guid===q.guid){if(l||n.test(q.namespace))f==null&&p.splice(j--,1),o.remove&&o.remove.call(a,q);if(f!=null)break}}if(p.length===0||f!=null&&p.length===1)(!o.teardown||o.teardown.call(a,m)===!1)&&d.removeEvent(a,h,s.handle),g=null,delete t[h]}if(d.isEmptyObject(t)){var u=s.handle;u&&(u.elem=null),delete s.events,delete s.handle,d.isEmptyObject(s)&&d.removeData(a,b,!0)}}},trigger:function(a,c,e){var f=a.type||a,g=arguments[3];if(!g){a=typeof a==="object"?a[d.expando]?a:d.extend(d.Event(f),a):d.Event(f),f.indexOf("!")>=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(r,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=a.type,l[m]())}catch(p){}k&&(l["on"+m]=k),d.event.triggered=b}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l<m;l++){var n=f[l];if(e||h.test(n.namespace)){c.handler=n.handler,c.data=n.data,c.handleObj=n;var o=n.handler.apply(this,k);o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()));if(c.isImmediatePropagationStopped())break}}}return c.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),fix:function(a){if(a[d.expando])return a;var e=a;a=d.Event(e);for(var f=this.props.length,g;f;)g=this.props[--f],a[g]=e[g];a.target||(a.target=a.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),!a.relatedTarget&&a.fromElement&&(a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement);if(a.pageX==null&&a.clientX!=null){var h=c.documentElement,i=c.body;a.pageX=a.clientX+(h&&h.scrollLeft||i&&i.scrollLeft||0)-(h&&h.clientLeft||i&&i.clientLeft||0),a.pageY=a.clientY+(h&&h.scrollTop||i&&i.scrollTop||0)-(h&&h.clientTop||i&&i.clientTop||0)}a.which==null&&(a.charCode!=null||a.keyCode!=null)&&(a.which=a.charCode!=null?a.charCode:a.keyCode),!a.metaKey&&a.ctrlKey&&(a.metaKey=a.ctrlKey),!a.which&&a.button!==b&&(a.which=a.button&1?1:a.button&2?3:a.button&4?2:0);return a},guid:1e8,proxy:d.proxy,special:{ready:{setup:d.bindReady,teardown:d.noop},live:{add:function(a){d.event.add(this,H(a.origType,a.selector),d.extend({},a,{handler:G,guid:a.handler.guid}))},remove:function(a){d.event.remove(this,H(a.origType,a.selector),a)}},beforeunload:{setup:function(a,b,c){d.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}}},d.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},d.Event=function(a){if(!this.preventDefault)return new d.Event(a);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?y:x):this.type=a,this.timeStamp=d.now(),this[d.expando]=!0},d.Event.prototype={preventDefault:function(){this.isDefaultPrevented=y;var a=this.originalEvent;a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=y;var a=this.originalEvent;a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=y,this.stopPropagation()},isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x};var z=function(a){var b=a.relatedTarget;try{if(b&&b!==c&&!b.parentNode)return;while(b&&b!==this)b=b.parentNode;b!==this&&(a.type=a.data,d.event.handle.apply(this,arguments))}catch(e){}},A=function(a){a.type=a.data,d.event.handle.apply(this,arguments)};d.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){d.event.special[a]={setup:function(c){d.event.add(this,b,c&&c.selector?A:z,a)},teardown:function(a){d.event.remove(this,b,a&&a.selector?A:z)}}}),d.support.submitBubbles||(d.event.special.submit={setup:function(a,b){if(this.nodeName&&this.nodeName.toLowerCase()!=="form")d.event.add(this,"click.specialSubmit",function(a){var b=a.target,c=b.type;(c==="submit"||c==="image")&&d(b).closest("form").length&&E("submit",this,arguments)}),d.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,c=b.type;(c==="text"||c==="password")&&d(b).closest("form").length&&a.keyCode===13&&E("submit",this,arguments)});else return!1},teardown:function(a){d.event.remove(this,".specialSubmit")}});if(!d.support.changeBubbles){var B,C=function(a){var b=a.type,c=a.value;b==="radio"||b==="checkbox"?c=a.checked:b==="select-multiple"?c=a.selectedIndex>-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},D=function D(a){var c=a.target,e,f;if(s.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=C(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:D,beforedeactivate:D,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&D.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&D.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",C(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in B)d.event.add(this,c+".specialChange",B[c]);return s.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return s.test(this.nodeName)}},B=d.event.special.change.filters,B.focus=B.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function f(a){var c=d.event.fix(a);c.type=b,c.originalEvent={},d.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var e=0;d.event.special[b]={setup:function(){e++===0&&c.addEventListener(a,f,!0)},teardown:function(){--e===0&&c.removeEventListener(a,f,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i<j;i++)d.event.add(this[i],a,h,e);return this}}),d.fn.extend({unbind:function(a,b){if(typeof a!=="object"||a.preventDefault)for(var e=0,f=this.length;e<f;e++)d.event.remove(this[e],a,b);else for(var c in a)this.unbind(c,a[c]);return this},delegate:function(a,b,c,d){return this.live(b,c,d,a)},undelegate:function(a,b,c){return arguments.length===0?this.unbind("live"):this.die(b,null,c,a)},trigger:function(a,b){return this.each(function(){d.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){var c=d.Event(a);c.preventDefault(),c.stopPropagation(),d.event.trigger(c,b,this[0]);return c.result}},toggle:function(a){var b=arguments,c=1;while(c<b.length)d.proxy(a,b[c++]);return this.click(d.proxy(a,function(e){var f=(d._data(this,"lastToggle"+a.guid)||0)%c;d._data(this,"lastToggle"+a.guid,f+1),e.preventDefault();return b[f].apply(this,arguments)||!1}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var F={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};d.each(["live","die"],function(a,c){d.fn[c]=function(a,e,f,g){var h,i=0,j,k,l,m=g||this.selector,n=g?this:d(this.context);if(typeof a==="object"&&!a.preventDefault){for(var o in a)n[c](o,e,a[o],m);return this}d.isFunction(e)&&(f=e,e=b),a=(a||"").split(" ");while((h=a[i++])!=null){j=r.exec(h),k="",j&&(k=j[0],h=h.replace(r,""));if(h==="hover"){a.push("mouseenter"+k,"mouseleave"+k);continue}l=h,h==="focus"||h==="blur"?(a.push(F[h]+k),h=h+k):h=(F[h]||h)+k;if(c==="live")for(var p=0,q=n.length;p<q;p++)d.event.add(n[p],"live."+H(h,m),{data:e,selector:m,handler:f,origType:h,origHandler:f,preType:l});else n.unbind("live."+H(h,m),f)}return this}}),d.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),function(a,b){d.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}if(i.nodeType===1){f||(i.sizcache=c,i.sizset=g);if(typeof b!=="string"){if(i===b){j=!0;break}}else if(k.filter(b,[i]).length>0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g<h;g++){var i=d[g];if(i){var j=!1;i=i[a];while(i){if(i.sizcache===c){j=d[i.sizset];break}i.nodeType===1&&!f&&(i.sizcache=c,i.sizset=g);if(i.nodeName.toLowerCase()===b){j=i;break}i=i[a]}d[g]=j}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},k.matches=function(a,b){return k(a,null,null,b)},k.matchesSelector=function(a,b){return k(b,null,null,[a]).length>0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e<f;e++){var g,h=l.order[e];if(g=l.leftMatch[h].exec(a)){var j=g[1];g.splice(1,1);if(j.substr(j.length-1)!=="\\"){g[1]=(g[1]||"").replace(i,""),d=l.find[h](g,b,c);if(d!=null){a=a.replace(l.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!=="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},k.filter=function(a,c,d,e){var f,g,h=a,i=[],j=c,m=c&&c[0]&&k.isXML(c[0]);while(a&&c.length){for(var n in l.filter)if((f=l.leftMatch[n].exec(a))!=null&&f[2]){var o,p,q=l.filter[n],r=f[1];g=!1,f.splice(1,1);if(r.substr(r.length-1)==="\\")continue;j===i&&(i=[]);if(l.preFilter[n]){f=l.preFilter[n](f,j,d,i,e,m);if(f){if(f===!0)continue}else g=o=!0}if(f)for(var s=0;(p=j[s])!=null;s++)if(p){o=q(p,f,s,j);var t=e^!!o;d&&o!=null?t?g=!0:j[s]=!1:t&&(i.push(p),g=!0)}if(o!==b){d||(j=i),a=a.replace(l.match[n],"");if(!g)return[];break}}if(a===h)if(g==null)k.error(a);else break;h=a}return j},k.error=function(a){throw"Syntax error, unrecognized expression: "+a};var l=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b==="string",d=c&&!j.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1){}a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&k.filter(b,a,!0)},">":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&k.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=u;typeof b==="string"&&!j.test(b)&&(b=b.toLowerCase(),d=b,g=t),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!=="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!=="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!=="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(i,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return"text"===c&&(b===c||b===null)},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}k.error(e)},CHILD:function(a,b){var c=b[1],d=a;switch(c){case"only":case"first":while(d=d.previousSibling)if(d.nodeType===1)return!1;if(c==="first")return!0;d=a;case"last":while(d=d.nextSibling)if(d.nodeType===1)return!1;return!0;case"nth":var e=b[2],f=b[3];if(e===1&&f===0)return!0;var g=b[0],h=a.parentNode;if(h&&(h.sizcache!==g||!a.nodeIndex)){var i=0;for(d=h.firstChild;d;d=d.nextSibling)d.nodeType===1&&(d.nodeIndex=++i);h.sizcache=g}var j=a.nodeIndex-f;return e===0?j===0:j%e===0&&j/e>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var r,s;c.documentElement.compareDocumentPosition?r=function(a,b){if(a===b){g=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(r=function(a,b){var c,d,e=[],f=[],h=a.parentNode,i=b.parentNode,j=h;if(a===b){g=!0;return 0}if(h===i)return s(a,b);if(!h)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return s(e[k],f[k]);return k===c?s(a,f[k],-1):s(e[k],b,1)},s=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),k.getText=function(a){var b="",c;for(var d=0;a[d];d++)c=a[d],c.nodeType===3||c.nodeType===4?b+=c.nodeValue:c.nodeType!==8&&(b+=k.getText(c.childNodes));return b},function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g<h;g++)k(a,f[g],d);return k.filter(e,d)};d.find=k,d.expr=k.selectors,d.expr[":"]=d.expr.filters,d.unique=k.uniqueSort,d.text=k.getText,d.isXMLDoc=k.isXML,d.contains=k.contains}();var I=/Until$/,J=/^(?:parents|prevUntil|prevAll)/,K=/,/,L=/^.[^:#\[\.,]*$/,M=Array.prototype.slice,N=d.expr.match.POS,O={children:!0,contents:!0,next:!0,prev:!0};d.fn.extend({find:function(a){var b=this.pushStack("","find",a),c=0;for(var e=0,f=this.length;e<f;e++){c=b.length,d.find(a,this[e],b);if(e>0)for(var g=c;g<b.length;g++)for(var h=0;h<c;h++)if(b[h]===b[g]){b.splice(g--,1);break}}return b},has:function(a){var b=d(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(d.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(Q(this,a,!1),"not",a)},filter:function(a){return this.pushStack(Q(this,a,!0),"filter",a)},is:function(a){return!!a&&d.filter(a,this).length>0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e<f;e++)i=a[e],j[i]||(j[i]=d.expr.match.POS.test(i)?d(i,b||this.context):i);while(g&&g.ownerDocument&&g!==b){for(i in j)h=j[i],(h.jquery?h.index(g)>-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=N.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e<f;e++){g=this[e];while(g){if(l?l.index(g)>-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(P(c[0])||P(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=M.call(arguments);I.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!O[a]?d.unique(f):f,(this.length>1||K.test(e))&&J.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var R=/ jQuery\d+="(?:\d+|null)"/g,S=/^\s+/,T=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,U=/<([\w:]+)/,V=/<tbody/i,W=/<|&#?\w+;/,X=/<(?:script|object|embed|option|style)/i,Y=/checked\s*(?:[^=]|=\s*.checked.)/i,Z={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};Z.optgroup=Z.option,Z.tbody=Z.tfoot=Z.colgroup=Z.caption=Z.thead,Z.th=Z.td,d.support.htmlSerialize||(Z._default=[1,"div<div>","</div>"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(R,""):null;if(typeof a!=="string"||X.test(a)||!d.support.leadingWhitespace&&S.test(a)||Z[(U.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(T,"<$1></$2>");try{for(var c=0,e=this.length;c<e;c++)this[c].nodeType===1&&(d.cleanData(this[c].getElementsByTagName("*")),this[c].innerHTML=a)}catch(f){this.empty().append(a)}}return this},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(d.isFunction(a))return this.each(function(b){var c=d(this),e=c.html();c.replaceWith(a.call(this,b,e))});typeof a!=="string"&&(a=d(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;d(this).remove(),b?d(b).before(a):d(c).append(a)})}return this.length?this.pushStack(d(d.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,e){var f,g,h,i,j=a[0],k=[];if(!d.support.checkClone&&arguments.length===3&&typeof j==="string"&&Y.test(j))return this.each(function(){d(this).domManip(a,c,e,!0)});if(d.isFunction(j))return this.each(function(f){var g=d(this);a[0]=j.call(this,f,c?g.html():b),g.domManip(a,c,e)});if(this[0]){i=j&&j.parentNode,d.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?f={fragment:i}:f=d.buildFragment(a,this,k),h=f.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&d.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)e.call(c?$(this[l],g):this[l],f.cacheable||m>1&&l<n?d.clone(h,!0,!0):h)}k.length&&d.each(k,bc)}return this}}),d.buildFragment=function(a,b,e){var f,g,h,i=b&&b[0]?b[0].ownerDocument||b[0]:c;a.length===1&&typeof a[0]==="string"&&a[0].length<512&&i===c&&a[0].charAt(0)==="<"&&!X.test(a[0])&&(d.support.checkClone||!Y.test(a[0]))&&(g=!0,h=d.fragments[a[0]],h&&(h!==1&&(f=h))),f||(f=i.createDocumentFragment(),d.clean(a,i,f,e)),g&&(d.fragments[a[0]]=h?f:1);return{fragment:f,cacheable:g}},d.fragments={},d.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){d.fn[a]=function(c){var e=[],f=d(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&f.length===1){f[b](this[0]);return this}for(var h=0,i=f.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){ba(a,e),f=bb(a),g=bb(e);for(h=0;f[h];++h)ba(f[h],g[h])}if(b){_(a,e);if(c){f=bb(a),g=bb(e);for(h=0;f[h];++h)_(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||W.test(i)){if(typeof i==="string"){i=i.replace(T,"<$1></$2>");var j=(U.exec(i)||["",""])[1].toLowerCase(),k=Z[j]||Z._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=V.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]==="<table>"&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&S.test(i)&&m.insertBefore(b.createTextNode(S.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bd=/alpha\([^)]*\)/i,be=/opacity=([^)]*)/,bf=/-([a-z])/ig,bg=/([A-Z]|^ms)/g,bh=/^-?\d+(?:px)?$/i,bi=/^-?\d/,bj={position:"absolute",visibility:"hidden",display:"block"},bk=["Left","Right"],bl=["Top","Bottom"],bm,bn,bo,bp=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bm(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bm)return bm(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bf,bp)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bq(a,b,e):d.swap(a,bj,function(){f=bq(a,b,e)});if(f<=0){f=bm(a,b,b),f==="0px"&&bo&&(f=bo(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bh.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return be.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bd.test(f)?f.replace(bd,e):c.filter+" "+e}}),d(function(){d.support.reliableMarginRight||(d.cssHooks.marginRight={get:function(a,b){var c;d.swap(a,{display:"inline-block"},function(){b?c=bm(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bn=function(a,c,e){var f,g,h;e=e.replace(bg,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bo=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bh.test(d)&&bi.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bm=bn||bo,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var br=/%20/g,bs=/\[\]$/,bt=/\r?\n/g,bu=/#.*$/,bv=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bw=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bx=/^(?:about|app|app\-storage|.+\-extension|file|widget):$/,by=/^(?:GET|HEAD)$/,bz=/^\/\//,bA=/\?/,bB=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bC=/^(?:select|textarea)/i,bD=/\s+/,bE=/([?&])_=[^&]*/,bF=/(^|\-)([a-z])/g,bG=function(a,b,c){return b+c.toUpperCase()},bH=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bI=d.fn.load,bJ={},bK={},bL,bM;try{bL=c.location.href}catch(bN){bL=c.createElement("a"),bL.href="",bL=bL.href}bM=bH.exec(bL.toLowerCase())||[],d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bI)return bI.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("<div>").append(c.replace(bB,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bC.test(this.nodeName)||bw.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(bt,"\r\n")}}):{name:b.name,value:c.replace(bt,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bL,isLocal:bx.test(bM[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bO(bJ),ajaxTransport:bO(bK),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bR(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bS(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bF,bG)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bv.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bu,"").replace(bz,bM[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bD),e.crossDomain==null&&(q=bH.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bM[1]||q[2]!=bM[2]||(q[3]||(q[1]==="http:"?80:443))!=(bM[3]||(bM[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bP(bJ,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!by.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(bA.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bE,"$1_="+w);e.url=x+(x===e.url?(bA.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bP(bK,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bQ(g,a[g],c,f);return e.join("&").replace(br,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bT=d.now(),bU=/(\=)\?(&|$)|\?\?/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bT++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bU.test(b.url)||f&&bU.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bU,l),b.url===j&&(f&&(k=k.replace(bU,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bV=d.now(),bW,bX;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bZ()||b$()}:bZ,bX=d.ajaxSettings.xhr(),d.support.ajax=!!bX,d.support.cors=bX&&"withCredentials"in bX,bX=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),!a.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bW[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bW||(bW={},bY()),h=bV++,g.onreadystatechange=bW[h]=c):c()},abort:function(){c&&c(0,1)}}}});var b_={},ca=/^(?:toggle|show|hide)$/,cb=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cc,cd=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(ce("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)e=this[g],f=e.style.display,!d._data(e,"olddisplay")&&f==="none"&&(f=e.style.display=""),f===""&&d.css(e,"display")==="none"&&d._data(e,"olddisplay",cf(e.nodeName));for(g=0;g<h;g++){e=this[g],f=e.style.display;if(f===""||f==="none")e.style.display=d._data(e,"olddisplay")||""}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ce("hide",3),a,b,c);for(var e=0,f=this.length;e<f;e++){var g=d.css(this[e],"display");g!=="none"&&!d._data(this[e],"olddisplay")&&d._data(this[e],"olddisplay",g)}for(e=0;e<f;e++)this[e].style.display="none";return this},_toggle:d.fn.toggle,toggle:function(a,b,c){var e=typeof a==="boolean";d.isFunction(a)&&d.isFunction(b)?this._toggle.apply(this,arguments):a==null||e?this.each(function(){var b=e?a:d(this).is(":hidden");d(this)[b?"show":"hide"]()}):this.animate(ce("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,e){var f=d.speed(b,c,e);if(d.isEmptyObject(a))return this.each(f.complete);return this[f.queue===!1?"each":"queue"](function(){var b=d.extend({},f),c,e=this.nodeType===1,g=e&&d(this).is(":hidden"),h=this;for(c in a){var i=d.camelCase(c);c!==i&&(a[i]=a[c],delete a[c],c=i);if(a[c]==="hide"&&g||a[c]==="show"&&!g)return b.complete.call(this);if(e&&(c==="height"||c==="width")){b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY];if(d.css(this,"display")==="inline"&&d.css(this,"float")==="none")if(d.support.inlineBlockNeedsLayout){var j=cf(this.nodeName);j==="inline"?this.style.display="inline-block":(this.style.display="inline",this.style.zoom=1)}else this.style.display="inline-block"}d.isArray(a[c])&&((b.specialEasing=b.specialEasing||{})[c]=a[c][1],a[c]=a[c][0])}b.overflow!=null&&(this.style.overflow="hidden"),b.curAnim=d.extend({},a),d.each(a,function(c,e){var f=new d.fx(h,b,c);if(ca.test(e))f[e==="toggle"?g?"show":"hide":e](a);else{var i=cb.exec(e),j=f.cur();if(i){var k=parseFloat(i[2]),l=i[3]||(d.cssNumber[c]?"":"px");l!=="px"&&(d.style(h,c,(k||1)+l),j=(k||1)/f.cur()*j,d.style(h,c,j+l)),i[1]&&(k=(i[1]==="-="?-1:1)*k+j),f.custom(j,k,l)}else f.custom(j,e,"")}});return!0})},stop:function(a,b){var c=d.timers;a&&this.queue([]),this.each(function(){for(var a=c.length-1;a>=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:ce("show",1),slideUp:ce("hide",1),slideToggle:ce("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!cc&&(cc=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||d.fx.stop()},interval:13,stop:function(){clearInterval(cc),cc=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){d.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit:a.elem[a.prop]=a.now}}}),d.expr&&d.expr.filters&&(d.expr.filters.animated=function(a){return d.grep(d.timers,function(b){return a===b.elem}).length});var cg=/^t(?:able|d|h)$/i,ch=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?d.fn.offset=function(a){var b=this[0],c;if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);try{c=b.getBoundingClientRect()}catch(e){}var f=b.ownerDocument,g=f.documentElement;if(!c||!d.contains(g,b))return c?{top:c.top,left:c.left}:{top:0,left:0};var h=f.body,i=ci(f),j=g.clientTop||h.clientTop||0,k=g.clientLeft||h.clientLeft||0,l=i.pageYOffset||d.support.boxModel&&g.scrollTop||h.scrollTop,m=i.pageXOffset||d.support.boxModel&&g.scrollLeft||h.scrollLeft,n=c.top+l-j,o=c.left+m-k;return{top:n,left:o}}:d.fn.offset=function(a){var b=this[0];if(a)return this.each(function(b){d.offset.setOffset(this,a,b)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return d.offset.bodyOffset(b);d.offset.initialize();var c,e=b.offsetParent,f=b,g=b.ownerDocument,h=g.documentElement,i=g.body,j=g.defaultView,k=j?j.getComputedStyle(b,null):b.currentStyle,l=b.offsetTop,m=b.offsetLeft;while((b=b.parentNode)&&b!==i&&b!==h){if(d.offset.supportsFixedPosition&&k.position==="fixed")break;c=j?j.getComputedStyle(b,null):b.currentStyle,l-=b.scrollTop,m-=b.scrollLeft,b===e&&(l+=b.offsetTop,m+=b.offsetLeft,d.offset.doesNotAddBorder&&(!d.offset.doesAddBorderForTableAndCells||!cg.test(b.nodeName))&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),f=e,e=b.offsetParent),d.offset.subtractsBorderForOverflowNotVisible&&c.overflow!=="visible"&&(l+=parseFloat(c.borderTopWidth)||0,m+=parseFloat(c.borderLeftWidth)||0),k=c}if(k.position==="relative"||k.position==="static")l+=i.offsetTop,m+=i.offsetLeft;d.offset.supportsFixedPosition&&k.position==="fixed"&&(l+=Math.max(h.scrollTop,i.scrollTop),m+=Math.max(h.scrollLeft,i.scrollLeft));return{top:l,left:m}},d.offset={initialize:function(){var a=c.body,b=c.createElement("div"),e,f,g,h,i=parseFloat(d.css(a,"marginTop"))||0,j="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=(e==="absolute"||e==="fixed")&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=ch.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!ch.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=ci(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=ci(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window);
\ No newline at end of file
diff --git a/eclipse.org-common/lib/jquery/jquery-1.7.2.min.js b/eclipse.org-common/lib/jquery/jquery-1.7.2.min.js
deleted file mode 100644
index 16ad06c..0000000
--- a/eclipse.org-common/lib/jquery/jquery-1.7.2.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/*! jQuery v1.7.2 jquery.com | jquery.org/license */
-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"