changeset 71:ad2e970ffd9f

Merge with e5d7223053809b37e83a2cc8590e9bcfbe1958c0
author dwinter
date Sun, 05 May 2013 12:36:28 +0200
parents fd167f42cf34 (current diff) e5d722305380 (diff)
children 5cb46852ac05
files MPIWGRoot.py MPIWGStaff.py zpt/MPIWGFolderChangeWeight.zpt zpt/MPIWGNamesForm.zpt zpt/addPublications.zpt zpt/addPublicationsBib.zpt zpt/bibliography.zpt zpt/changePublications_special.zpt zpt/editAdditionalLinks.zpt zpt/editAwards.zpt zpt/editBibliographyEntry.zpt zpt/editCV.zpt zpt/editDownloads.zpt zpt/editHistoricalNames.zpt zpt/editImageStaff.zpt zpt/editMPIWGStaff.zpt zpt/editMPIWGStaff_main.zpt zpt/editMainData.zpt zpt/editProfile.zpt zpt/editPublications.zpt zpt/editTalks.zpt zpt/editTeaching.zpt zpt/edit_MPIWGDisciplinesThemes.zpt zpt/edit_MPIWGDisciplinesThemesNeu.zpt zpt/edit_MPIWGKeywords.zpt zpt/edit_MPIWGRelatedPublications.zpt zpt/edit_MPIWGStaff.zpt zpt/edit_imageForm.zpt zpt/harvest_main.zpt zpt/harvest_members_main.zpt zpt/members_main.zpt zpt/newBibliographyEntry.zpt zpt/newBibliographyEntryDocType.zpt zpt/no_project.zpt zpt/previewFrame.zpt zpt/project/extendedBibliography_template.zpt zpt/projectImageView.zpt zpt/project_main.zpt zpt/publications_full_main.zpt zpt/talks_full_main.zpt zpt/teaching_full_main.zpt
diffstat 53 files changed, 513 insertions(+), 2300 deletions(-) [+]
line wrap: on
line diff
--- a/MPIWGProjects.py	Sun May 05 12:33:53 2013 +0200
+++ b/MPIWGProjects.py	Sun May 05 12:36:28 2013 +0200
@@ -5,54 +5,32 @@
 
 """
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
-from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
-from Products.ZCatalog.CatalogPathAwareness import CatalogAware
 from OFS.Image import Image
 from App.ImageFile import ImageFile
 from OFS.SimpleItem import SimpleItem
 from OFS.Folder import Folder
-from OFS.Image import Image
-from OFS.Cache import Cacheable
 from AccessControl import ClassSecurityInfo
-from AccessControl import getSecurityManager
 from Globals import package_home
 import urllib
 import re
 import os 
 import email
 import xmlhelper  # Methoden zur Verwaltung der projekt xml
-import xmlrpclib
 import sys
-from types import *
 import logging
 import time
 
 import xml.etree.ElementTree as ET
 
-from SrvTxtUtils import getInt, unicodify, utf8ify, serialize, refreshingImageFileIndexHtml
-from Products.MPIWGBibliography.BibliographyManager import BibliographyManager
-from bibliography import *
+from SrvTxtUtils import getInt, unicodify, utf8ify, serialize, refreshingImageFileIndexHtml, shortenString
 from Products.ZDBInterface.ZDBInterfaceFolder import ZDBInterfaceFolder
-# import xml.dom.minidom
-# from Ft.Xml.XPath import Evaluate
-# from Ft.Xml.XPath.Context import Context
-# from Ft.Xml.Domlette import NonvalidatingReader,PrettyPrint, Print
-# from Ft.Xml import EMPTY_NAMESPACE
-# import copy
-# import updatePersonalWWW
-
-# import MPIWGStaff
 
 from HashTree import HashTree
-from MPIWGHelper import *
 
 import MPIWGRoot
 import MPIWGLink
 import MPIWGTemplate
 
-import transaction
-
-
 # TODO: better names for the fields
 fieldLabels = {'WEB_title':'WEB_Title',
          'xdata_01':'Responsible Scientists',
@@ -97,6 +75,7 @@
     link = None
     bookId = None
     
+    # templates
     editDescription = PageTemplateFile('zpt/project/related_publication/edit_basic', globals())
     
     
@@ -255,16 +234,14 @@
 
     meta_type = "MPIWGProject_image"
 
-    def showImage(self, imageUrl=None):
-        """show Images at an extra page"""
-        #self.getContent('WEB_project_description', filter='yes')  # get the content and store image infos into session
-        pt = PageTemplateFile(os.path.join(package_home(globals()), 'zpt', 'projectImageView.zpt')).__of__(self)
-        return pt()
-    
+    # templates
+    showImage = PageTemplateFile('zpt/project/image/projectImageView', globals())
+    editForm = PageTemplateFile('zpt/project/image/edit_basic', globals())
+
     def editImage(self, file=None, caption=None, RESPONSE=None):
         """edit the Image"""
         if (not file) and (not caption):
-            pt = PageTemplateFile(os.path.join(package_home(globals()), 'zpt', 'edit_imageForm.zpt')).__of__(self)
+            pt = self.editForm
             return pt()
 
         if file and (not file.filename.lstrip().rstrip() == ""):
@@ -277,7 +254,7 @@
             self.redirect(RESPONSE, "../manageImages")
 
 
-class MPIWGProject(CatalogAware, Folder, Cacheable):
+class MPIWGProject(Folder):
     """Class for Projects"""
     
     security = ClassSecurityInfo()
@@ -325,10 +302,7 @@
     description_only_html = PageTemplateFile('zpt/project/description_only_html', globals())
     # additional pages
     additionalPublications = PageTemplateFile('zpt/project/pubman/show_publications', globals())
-
-    # TODO: this should go away
-    extendedBibliography = PageTemplateFile('zpt/project/extendedBibliography_template', globals())
-    # TODO: compat
+    # TODO: remove compat
     edit_MPIWGProject_main = edit_template
 
 
@@ -494,13 +468,12 @@
         return '%s/%s' % (baseUrl, self.getId())
                 
               
-    def getThumbUrl(self, default='http://defaultthumb.jpg'):
+    def getThumbUrl(self, default=None):
         """returns the URL of the project thumbnail image"""
         thumb = self.projectThumb
         if thumb is None:
             # get thumb from list (thumb is last image)
             imgs = self.getImageList()
-            url = default
             if len(imgs) > 0:
                 thumb = imgs[-1]
                 self.projectThumb = thumb
@@ -669,22 +642,33 @@
         return items          
         
     
-    def addPublication(self, text, RESPONSE=None):
+    def addPublication(self, text=None, link=None, RESPONSE=None):
         """add an MPIWG_Publication"""
-        number = self._getLastPublicationNumber() + 1
-        name = "publication_" + str(number)
-        while hasattr(self, name):
-            number += 1
+        if text or link:
+            number = self._getLastPublicationNumber() + 1
             name = "publication_" + str(number)
+            while hasattr(self, name):
+                number += 1
+                name = "publication_" + str(number)
+            
+            newPublication = MPIWGProject_publication(name)
         
-        newPublication = MPIWGProject_publication(name)
+            self._setObject(name, newPublication)
+            obj = getattr(self, name)
+            obj.text = text
+            obj.link = link
+            obj.enabled = True;
+            obj.place = self._getLastPublicationNumber() + 1
+            obj.id = name
+            # hasLinkToBookPage updates bookid if available
+            if obj.hasLinkToBookPage() and not text:
+                # take title from book page
+                try:
+                    book = self.en.books[obj.bookId]
+                    obj.text = book.getInfo('title')
+                except:
+                    pass
 
-        self._setObject(name, newPublication)
-        obj = getattr(self, name)
-        obj.text = text[0:]
-        obj.enabled = True;
-        obj.place = self._getLastPublicationNumber() + 1
-        obj.id = name
         if RESPONSE is not None:
             self.redirect(RESPONSE, 'managePublications')
 
@@ -1776,7 +1760,7 @@
             #
             if updateResponsibleScientistsList:
                 newScientists = {}
-                names = project.identifyNames(p.getResponsibleScientists())
+                names = project.identifyNames(project.getResponsibleScientists())
                 for name in names:
                     logging.debug("updateAllProjectMembers: name=%s" % repr(name))
                     members = names[name]
--- a/MPIWGRoot.py	Sun May 05 12:33:53 2013 +0200
+++ b/MPIWGRoot.py	Sun May 05 12:36:28 2013 +0200
@@ -1,45 +1,22 @@
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
 from App.ImageFile import ImageFile
-
-from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
-from Products.ZCatalog.CatalogPathAwareness import CatalogAware
 from OFS.Image import Image
 from Globals import package_home
-import urllib
 import string
-import re
 import os
-from types import *
 import logging
-from OFS.SimpleItem import SimpleItem
 from OFS.Folder import Folder
 from AccessControl import ClassSecurityInfo
-import time
-import xml.dom.minidom
 import sys
-import transaction
-import copy
-from BeautifulSoup import BeautifulSoup, Comment
-from ZODB import FileStorage, DB
-from ZEO import ClientStorage
 
+from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
 
 from MPIWGHelper import *
 import updatePersonalWWW
-from bibliography import *
 import MPIWGStaff
 from SrvTxtUtils import getInt, getAt, utf8ify, refreshingImageFileIndexHtml
 
 
-def sortWeight(x,y):
-    try:
-        x1=int(getattr(x[1],'weight','0'))
-        y1=int(getattr(y[1],'weight','0'))
-    except:
-        return 0
-    return cmp(x1,y1)
-
-
 class MPIWGRoot(ZSQLExtendFolder):
     """Stammordner fuer den Web-Server"""
 
@@ -69,14 +46,25 @@
     main_template = PageTemplateFile('zpt/www/main_template', globals())
     common_template = PageTemplateFile('zpt/www/common_template', globals())
     mpiwg_css = ImageFile('css/mpiwg.css', globals())
-    # make docuviewer_css refreshable for development
+    # make mpiwg_css refreshable for development
     mpiwg_css.index_html = refreshingImageFileIndexHtml
+    jquery_js = ImageFile('js/jquery.js', globals())
+    mpiwg_js = ImageFile('js/mpiwg.js', globals())
+    # make mpiwg_js refreshable for development
+    mpiwg_js.index_html = refreshingImageFileIndexHtml
+
+
+    def __init__(self, id, title):
+        """init"""
+        self.id=id
+        self.title=title
 
 
     def getLang(self):
         """returns the default language"""
         return self.lang
 
+
     def browserCheck(self):
         """check the browsers request to find out the browser type"""
         bt = {}
@@ -105,33 +93,6 @@
         return bt
 
 
-    def createOrUpdateId_raw(self):
-        """create sequence to create ids for bibliography"""
-        debug=None
-        #suche groesste existierende id
-        founds=self.ZSQLQuery("select id from bibliography")
-        
-        if founds:
-            ids=[int(x.id[1:]) for x in founds]
-            maximum=max(ids)
-            
-            id_raw=self.ZSQLQuery("select nextval('id_raw')",debug=debug)
-            
-            if id_raw:
-                self.ZSQLQuery("drop sequence id_raw",debug=debug)
-            
-            self.ZSQLQuery("create sequence id_raw start %i"%(maximum+1),debug=debug)
-        
-    
-    def queryLink(self,link):
-        """append querystring to the link"""
-        return "%s?%s"%(link,self.REQUEST.get('QUERY_STRING',''))
-
-    def getKategory(self,url):
-        """kategorie"""
-        splitted=url.split("/")
-        return splitted[4]
-
     def isNewCapital(self,text=None,reset=None):
         
         if text:
@@ -145,61 +106,35 @@
                 return True
             else:
                 return False
-    
-    def subNavStatic(self,obj):
-        """subnav" von self"""
-        subs=self.ZopeFind(obj,obj_metatypes=['MPIWGTemplate','MPIWGLink'])
-        subret=[]
 
-        for x in subs:
-            if not(x[1].title==""):
-                subret.append(x)
-        subret.sort(sortWeight)
-        return subret
     
     def getSubsections(self, here=None):
         """return sub-navigation elements i.e. elements below sections"""
         p = here
         if p is None:
             p = self
+            
         sec = None
         # descend parents to the root (and remember the last id)
         while p is not None and p.meta_type != 'MPIWGRoot':
             sec = p
             p = p.aq_parent
     
-        subsecs = sec.objectItems(self.nav_meta_types)
+        subsecs = sec.objectItems(spec=self.nav_meta_types)
         subsecs = [s for s in subsecs if s[1].title != ""]
-        subsecs.sort(sortWeight)
+        subsecs.sort(key=lambda x:int(getattr(x[1],'weight','0')))
         return subsecs
 
     # compatibility
     subNav = getSubsections
                 
-    def isType(self,object,meta_type):
-        """teste ob ein object vom meta_type ist."""
-        return (object.meta_type==meta_type)
-    
-    def isActive(self,name):
-        """teste ob subnavigation aktiv"""
-        for part in self.REQUEST['URL'].split("/"):
-            if part==name:
-                return True
-        return False
-        
-    
+
     def getSections(self):
         """returns a list of all sections i.e. top-level MPIWGFolders"""
         items = self.objectValues(spec='MPIWGFolder')[:]
         items.sort(key=lambda x:int(x.weight))
         return items
 
-    def getSectionStyle(self, name, style=""):
-        """returns a string with the given style + '-sel' if the current section == name"""
-        if self.getSection() == name:
-            return style + '-sel'
-        else:
-            return style    
 
     def getPathStyle(self, path, selected, style=""):
         """returns a string with the given style + 'sel' if path == selected."""
@@ -208,6 +143,7 @@
         else:
             return style    
 
+
     def getFeatures(self, num=None):
         """returns a list of the last num Features"""
         dir = getattr(self, 'features', None)
@@ -221,6 +157,7 @@
             items = items[-num:]
         return items
 
+
     def getDepartments(self):
         """returns a list of the Departments"""
         dir = getattr(self, 'departments', None)
@@ -231,6 +168,7 @@
         items.sort(key=lambda x:int(x.weight))
         return items
 
+
     def getDepartment(self, projectNumber=None):
         """returns a Department object"""
         dir = getattr(self, 'departments', None)
@@ -253,7 +191,7 @@
 
     def getStaffFolder(self):
         """returns the MPIWGStaffFolder"""
-        dir = getattr(self, 'members_test', None) # TODO: fix the test
+        dir = getattr(self, 'members', None) # TODO: fix the test
         return dir
 
 
@@ -272,98 +210,6 @@
         """unicodify"""
         return unicodify(s)
     
-    # TODO: remove
-    def replaceNotEmpty(self,format,field):
-        """replace not empty"""
-        if field and (not field.lstrip()==''):
-            return format%field
-            #return self.decode(format%field)
-        else:
-            return ""
-        
-
-        
-    def redirectIndex_html(self,request):
-        #return request['URL1']+'/index_html'
-        
-        return urllib.urlopen(request['URL1']+'/index_html').read()
-
-    
-    def formatBibliography(self,here,found):
-        """format"""
-        return formatBibliography(here,found)
-    
-    def getValue(self,fieldStr):
-        """Inhalt des Feldes"""
-        
-        if type(fieldStr)==StringType:
-            field=fieldStr
-        else:
-            field=fieldStr[0]
-        try:
-            if field[len(field)-1]==";":
-                field=field[0:len(field)-1]
-        except:
-
-            """nothing"""
-        field=re.sub(r';([^\s])','; \g<1>',field)
-        return field.encode('utf-8')
-
-
-    
-    def sortedNames(self,list):
-        """sort names"""
-
-        def sortLastName(x_c,y_c):
-            try:
-                x=urllib.unquote(x_c).encode('utf-8','ignore')
-            except:
-                x=urllib.unquote(x_c)
-
-            try:
-                y=urllib.unquote(y_c).encode('utf-8','ignore')
-            except:
-                x=urllib.unquote(y_c)
-                
-
-            
-            try:
-                last_x=x.split()[len(x.split())-1]
-                last_y=y.split()[len(y.split())-1]
-
-            except:
-
-                last_x=""
-                last_y=""
-            
-            
-            
-            if last_x<last_y:
-                return 1
-            elif last_x>last_y:
-                return -1
-            else:
-                return 0
-            
-        list.sort(sortLastName)
-        list.reverse()
-        
-        return list
-    
-    def __init__(self, id, title):
-        """init"""
-        self.id=id
-        self.title=title
-
-
-    def urlQuote(self,str):
-        """quote"""
-        return urllib.quote(str)
-
-    def urlUnQuote(self,str):
-        """quote"""
-        return urllib.unquote(str)
-    
 
     def changeMPIWGRootForm(self):
         """edit"""
@@ -386,7 +232,7 @@
             RESPONSE.redirect('manage_main')
 
     
-        
+    # TODO: is this used?
     def updatePublicationDB(self,personId=None):
         """updates the publication db, i.e. copy year and type into the main table"""
         
@@ -412,7 +258,6 @@
     
     def showNewDBEntries(self):
         """zeige neue Eintraege in der Datenbank ohne e-mail adressen bzw. fuer die noch kein Object angelegt wurde"""
-        
         qstr="select * from personal_www where web_object_created='no' and not key=''"
         res=self.ZSQLQuery(qstr)
         
@@ -420,8 +265,7 @@
         return pt(newEntries=res)
    
     def createNewStaffObjects(self,RESPONSE):
-        """create new staff object"""
-        
+        """create new staff object"""        
         memberFolder=getattr(self,'members')
         args=self.REQUEST.form
         arg_k=args.keys()
@@ -589,14 +433,6 @@
         return ret+"</body></html>"
                      
 
-    def updateInstitutsbiliography(self):
-        """update the Institutsbibliogrpahy"""
-        self.upDateSQL('personalwww.xml')
-        return "<html><body>DONE</body></html>"
-
-
-    
-
     def updatePersonalwww_html(self):
         """update form for the homepages web form"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','updatePersonalwww.zpt')).__of__(self)
@@ -621,105 +457,6 @@
         return pt()
     
 
-     
-
-    def getAllMembers(self):
-        #ret=[]
-        
-        def sorter(x,y):
-            return cmp(x[0].lower(),y[0].lower())
-                    
-        results=self.MembersCatalog({'isPublished':True})
-       
-        ret=[(unicodify(", ".join([proj.lastName, proj.firstName])), proj.getKey) for proj in results]
-        
-        ret.sort(sorter)
-        return ret
-    
-    
-    def printAllMembers(self):
-        """print"""
-        members=self.getAllMembers()
-        ret=""
-        for x in members:
-            ret+="<p>%s</p>"%x
-        return ret
-    
-        
-    def makeList(self,entry):
-        """makes a list out of one entry or repeat a list"""
-        if type(entry) is StringType:
-            return [entry]
-        else:
-            return entry
-
-    def getTreeRSS(self,dep=None,date=None,onlyActive=1,onlyArchived=0):
-        """generateTree"""
-        rss="""<?xml version="1.0" encoding="utf-8"?>
-                 <rss version="2.0">
-                   <channel>"""
-        
-        for obj in self.getTree(dep, date, onlyActive, onlyArchived):
-            linkStr="""<link>http://www.mpiwg-berlin.mpg.de/en/research/projects/%s</link>"""
-            rss+="""<item>"""
-            rss+=linkStr%obj[3].getId()
-            rss+="""</item>"""
-            if hasattr(obj[3],'publicationList'):
-                rss+="""<item>"""
-                rss+=linkStr%(obj[3].getId()+"/publicationList");
-                rss+="""</item>"""
-        rss+="""</channel>
-        </rss>"""
-
-        return rss
-
-        
-    def getRelativeUrlFromPerson(self,list):
-        """get urls to person list"""
-        ret=[]
-        persons=list.split(";")
-        for person in persons:
-            
-            if len(person)>1: #nicht nur Trennzeichen
-                splitted=person.split(",")
-                if len(splitted)==1:
-                    splitted=person.split(" ")
-                splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]
-                if splittedNew[0]=='':
-                    del splittedNew[0]
-                search=string.join(splittedNew,' AND ')
-                
-                if not search=='':
-
-                    try:
-                        proj=self.MembersCatalog({'title':search})
-                    except:
-                        proj=None
-
-                if proj:
-                    #ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url,person.encode('utf-8')))
-                    ret.append("<a href=%s >%s</a>"%('members/'+proj[0].id+'/index.html',person))
-                else:
-                    #ret.append("%s"%person.encode('utf-8'))
-                    ret.append("%s"%person)
-        return string.join(ret,";")
-        
-    def getMemberIdFromKey(self,key):
-        """gibt die ensprechende id  im members Ordner zum key"""
-        
-        if key=="":
-            return ""
-        try:
-            key=utf8ify(key)
-            catalogged=self.MembersCatalog({'getKey':key})
-            if len(catalogged)==0:
-                return ""
-            else:
-                return catalogged[0].getObject().getId()
-        
-        except:
-            return ""
-
     def getAllProjectPublications(self):
             """get all publications"""
             fw=file("/tmp/allProjectPublications","w")
--- a/MPIWGRoot_deleted_methods.py	Sun May 05 12:33:53 2013 +0200
+++ b/MPIWGRoot_deleted_methods.py	Sun May 05 12:36:28 2013 +0200
@@ -1,3 +1,11 @@
+
+def sortWeight(x,y):
+    x1=int(getattr(x[1],'weight','0'))
+    y1=int(getattr(y[1],'weight','0'))
+    return cmp(x1,y1)
+
+
+
 class MPIWGRoot_deleted:
     
     
@@ -853,4 +861,257 @@
         return getattr(self, field)
 
 
-      
+
+        
+    def redirectIndex_html(self,request):
+        #return request['URL1']+'/index_html'
+        
+        return urllib.urlopen(request['URL1']+'/index_html').read()
+
+    
+    def formatBibliography(self,here,found):
+        """format"""
+        return formatBibliography(here,found)
+    
+    def getValue(self,fieldStr):
+        """Inhalt des Feldes"""
+        
+        if type(fieldStr)==StringType:
+            field=fieldStr
+        else:
+            field=fieldStr[0]
+        try:
+            if field[len(field)-1]==";":
+                field=field[0:len(field)-1]
+        except:
+
+            """nothing"""
+        field=re.sub(r';([^\s])','; \g<1>',field)
+        return field.encode('utf-8')
+
+
+    
+    def sortedNames(self,list):
+        """sort names"""
+
+        def sortLastName(x_c,y_c):
+            try:
+                x=urllib.unquote(x_c).encode('utf-8','ignore')
+            except:
+                x=urllib.unquote(x_c)
+
+            try:
+                y=urllib.unquote(y_c).encode('utf-8','ignore')
+            except:
+                x=urllib.unquote(y_c)
+                
+
+            
+            try:
+                last_x=x.split()[len(x.split())-1]
+                last_y=y.split()[len(y.split())-1]
+
+            except:
+
+                last_x=""
+                last_y=""
+            
+            
+            
+            if last_x<last_y:
+                return 1
+            elif last_x>last_y:
+                return -1
+            else:
+                return 0
+            
+        list.sort(sortLastName)
+        list.reverse()
+        
+        return list
+
+    def createOrUpdateId_raw(self):
+        """create sequence to create ids for bibliography"""
+        debug=None
+        #suche groesste existierende id
+        founds=self.ZSQLQuery("select id from bibliography")
+        
+        if founds:
+            ids=[int(x.id[1:]) for x in founds]
+            maximum=max(ids)
+            
+            id_raw=self.ZSQLQuery("select nextval('id_raw')",debug=debug)
+            
+            if id_raw:
+                self.ZSQLQuery("drop sequence id_raw",debug=debug)
+            
+            self.ZSQLQuery("create sequence id_raw start %i"%(maximum+1),debug=debug)
+        
+    
+    def queryLink(self,link):
+        """append querystring to the link"""
+        return "%s?%s"%(link,self.REQUEST.get('QUERY_STRING',''))
+
+    def getKategory(self,url):
+        """kategorie"""
+        splitted=url.split("/")
+        return splitted[4]
+
+    def isType(self,object,meta_type):
+        """teste ob ein object vom meta_type ist."""
+        return (object.meta_type==meta_type)
+    
+
+    # TODO: remove
+    def replaceNotEmpty(self,format,field):
+        """replace not empty"""
+        if field and (not field.lstrip()==''):
+            return format%field
+            #return self.decode(format%field)
+        else:
+            return ""
+        
+    
+    def urlQuote(self,str):
+        """quote"""
+        return urllib.quote(str)
+
+    def urlUnQuote(self,str):
+        """quote"""
+        return urllib.unquote(str)
+    
+    def updateInstitutsbiliography(self):
+        """update the Institutsbibliogrpahy"""
+        self.upDateSQL('personalwww.xml')
+        return "<html><body>DONE</body></html>"
+
+
+    
+
+     
+
+    def getAllMembers(self):
+        #ret=[]
+        
+        def sorter(x,y):
+            return cmp(x[0].lower(),y[0].lower())
+                    
+        results=self.MembersCatalog({'isPublished':True})
+       
+        ret=[(unicodify(", ".join([proj.lastName, proj.firstName])), proj.getKey) for proj in results]
+        
+        ret.sort(sorter)
+        return ret
+    
+    
+    def printAllMembers(self):
+        """print"""
+        members=self.getAllMembers()
+        ret=""
+        for x in members:
+            ret+="<p>%s</p>"%x
+        return ret
+    
+        
+    def makeList(self,entry):
+        """makes a list out of one entry or repeat a list"""
+        if type(entry) is StringType:
+            return [entry]
+        else:
+            return entry
+
+    def getTreeRSS(self,dep=None,date=None,onlyActive=1,onlyArchived=0):
+        """generateTree"""
+        rss="""<?xml version="1.0" encoding="utf-8"?>
+                 <rss version="2.0">
+                   <channel>"""
+        
+        for obj in self.getTree(dep, date, onlyActive, onlyArchived):
+            linkStr="""<link>http://www.mpiwg-berlin.mpg.de/en/research/projects/%s</link>"""
+            rss+="""<item>"""
+            rss+=linkStr%obj[3].getId()
+            rss+="""</item>"""
+            if hasattr(obj[3],'publicationList'):
+                rss+="""<item>"""
+                rss+=linkStr%(obj[3].getId()+"/publicationList");
+                rss+="""</item>"""
+        rss+="""</channel>
+        </rss>"""
+
+        return rss
+
+        
+    def getRelativeUrlFromPerson(self,list):
+        """get urls to person list"""
+        ret=[]
+        persons=list.split(";")
+        for person in persons:
+            
+            if len(person)>1: #nicht nur Trennzeichen
+                splitted=person.split(",")
+                if len(splitted)==1:
+                    splitted=person.split(" ")
+                splittedNew=[re.sub(r'\s(.*)','$1',split) for split in splitted]
+                if splittedNew[0]=='':
+                    del splittedNew[0]
+                search=string.join(splittedNew,' AND ')
+                
+                if not search=='':
+
+                    try:
+                        proj=self.MembersCatalog({'title':search})
+                    except:
+                        proj=None
+
+                if proj:
+                    #ret.append("<a href=%s >%s</a>"%(proj[0].absolute_url,person.encode('utf-8')))
+                    ret.append("<a href=%s >%s</a>"%('members/'+proj[0].id+'/index.html',person))
+                else:
+                    #ret.append("%s"%person.encode('utf-8'))
+                    ret.append("%s"%person)
+        return string.join(ret,";")
+        
+    def getMemberIdFromKey(self,key):
+        """gibt die ensprechende id  im members Ordner zum key"""
+        
+        if key=="":
+            return ""
+        try:
+            key=utf8ify(key)
+            catalogged=self.MembersCatalog({'getKey':key})
+            if len(catalogged)==0:
+                return ""
+            else:
+                return catalogged[0].getObject().getId()
+        
+        except:
+            return ""
+
+    def subNavStatic(self,obj):
+        """subnav" von self"""
+        subs=self.ZopeFind(obj,obj_metatypes=['MPIWGTemplate','MPIWGLink'])
+        subret=[]
+
+        for x in subs:
+            if not(x[1].title==""):
+                subret.append(x)
+        subret.sort(sortWeight)
+        return subret
+    
+
+    def isActive(self,name):
+        """teste ob subnavigation aktiv"""
+        for part in self.REQUEST['URL'].split("/"):
+            if part==name:
+                return True
+        return False
+        
+    
+    def getSectionStyle(self, name, style=""):
+        """returns a string with the given style + '-sel' if the current section == name"""
+        if self.getSection() == name:
+            return style + '-sel'
+        else:
+            return style    
+
+
--- a/MPIWGStaff.py	Sun May 05 12:33:53 2013 +0200
+++ b/MPIWGStaff.py	Sun May 05 12:36:28 2013 +0200
@@ -1169,6 +1169,10 @@
     """MPIWG staff member object from database"""
     
     security = ClassSecurityInfo()
+    
+    # templates
+    mainEditFile=PageTemplateFile('zpt/staff/edit_main', globals())    
+    
 
     def __init__(self, folder, dbresult):
         """constructor: takes parent MPIWGStaffFolder and content"""
@@ -1312,10 +1316,6 @@
             return style    
 
 
-    
-    mainEditFile=PageTemplateFile(os.path.join(package_home(globals()),'zpt/staff','edit_main.zpt'))
-    
-    
     security.declareProtected('View management screens','edit')    
     def edit(self,REQUEST=None):
         """Edit the  basic information"""
--- a/SrvTxtUtils.py	Sun May 05 12:33:53 2013 +0200
+++ b/SrvTxtUtils.py	Sun May 05 12:36:28 2013 +0200
@@ -9,10 +9,11 @@
 import urllib
 import urllib2
 import logging
+import time
 
 import xml.etree.ElementTree as ET
 
-srvTxtUtilsVersion = "1.7"
+srvTxtUtilsVersion = "1.8"
 
 map_months = {'en': [u"",
                u"January",
@@ -174,3 +175,9 @@
     # call original method
     return ImageFile.index_html(self, REQUEST, RESPONSE)
 
+
+def shortenString(s, l, ellipsis='...'):
+    """returns a string of length l (or l-1) by omitting characters in the middle of s, replacing with ellipsis."""
+    l1 = int((l - len(ellipsis)) / 2)
+    return "%s%s%s"%(s[:l1],ellipsis,s[-l1:])
+
--- a/css/mpiwg.css	Sun May 05 12:33:53 2013 +0200
+++ b/css/mpiwg.css	Sun May 05 12:36:28 2013 +0200
@@ -479,7 +479,7 @@
 
 div.tool.box div.searchbox input.text {
     height: 20px;
-    width: 380px;
+    width: 370px;
     background-color: #9fa0a7;
     color: white;
     font-size: 14px;
@@ -692,12 +692,20 @@
     width: 140px;
 }
 
-div.mini.source div.thumb img {
-    /* width: 120px; */
-} 
+div.row.triple div.mini div.thumb img {
+    width: 140px;
+    height: 87px;
+}
+
+div.row.triple div.mini.source div.thumb img {
+    /* thumb size for sources given by digilib */
+    width: auto;
+    height: auto;
+}
 
 div.mini div.type {
     color: #9f917a;
+    margin-top: 0.5em;
 }
 
 div.mini div.title {
@@ -709,18 +717,18 @@
     margin-top: 0.5em;
 }
 
-div.box div.website div.description {
+div.mini div.link {
+    margin-top: 0.5em;
+}
+
+div.mini.website div.description {
     /* initially hidden */
     display: none;
 }
 
-div.box div.website.item {
-    min-height: 180px;
-    position: relative;
-    margin: 10px 0 0 0;
-}
-
-div.box div.website.item div.fold {
+div.box.foldable div.fold {
+    /* initially hidden */
+    display: none;
     position: absolute;
     bottom: 0;
     right: 0;
@@ -759,6 +767,62 @@
     line-height: 1.5;
 }
 
+/*
+ * table with articles
+ */
+table.articles {
+    /* no space between cells */
+    border-collapse: collapse;
+}
+
+table.articles td {
+    vertical-align: top;
+    text-align: left;
+    line-height: 1.5;
+    padding: 1em 1em 0.5em 0;
+}
+table.articles td:last-child {
+    padding-right: 0;
+}
+
+table.articles th {
+    font-family: Georgia, Times, serif;
+    font-size: 16px;
+    font-weight: normal;
+    font-style: italic;
+    color: #887163;
+    text-align: left;
+    border-bottom: 3px solid #dccbae;
+}
+
+table.articles tr.abstract td {
+    /* abstract has no padding-top */
+    padding: 0 0 0.5em 0;
+}
+
+table.articles td.line {
+    border-bottom: 1px solid #dccbae;
+}
+
+table.articles h3.fold_head {
+    font-size: 12px;
+    background-color: #f6f2eb;
+    padding: 3px;
+}
+
+table.articles h3.fold_head img {
+    margin: 0 5px 0 3px;
+}
+
+table.articles div.fold_body {
+    padding: 0.5em 0 0 20px;
+}
+
+.foldable img.fold_closed {
+    /* fold is initially open */
+    display: none;
+}
+
 /* 
  * sidebar 
  */
@@ -789,6 +853,12 @@
     border-bottom: 1px solid #dccbae;
 }
 
+/* like sidebar without line */
+div.sidebox {
+    width: 220px;
+    padding: 0 0 20px 0;
+}
+
 /*
  * footer
  */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/js/jquery-1.9.1.min.js	Sun May 05 12:36:28 2013 +0200
@@ -0,0 +1,5 @@
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.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 contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/js/jquery.js	Sun May 05 12:36:28 2013 +0200
@@ -0,0 +1,5 @@
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.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 contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/js/mpiwg.js	Sun May 05 12:36:28 2013 +0200
@@ -0,0 +1,31 @@
+/*
+ * Javascript for MPIWG website
+ */ 
+
+$(document).ready(function() {
+	/*
+	 * autosubmit forms
+	 */
+	$('form.autosubmit').find('.autosubmit').change(function () {
+		this.form.submit();
+	});
+	// hide submit button
+	$('form.autosubmit input[type="submit"].autosubmit').hide();
+	
+	/*
+	 * foldout divs
+	 */
+	$('.foldable').each(function () {
+		var $this = $(this);
+		var $head = $this.find('.fold_head');
+		var $img = $head.find('img');
+		var $body = $this.find('.fold_body');
+		$head.on('click', function () {
+			$body.slideToggle('fast');
+			$img.toggle();
+		}).css('cursor', 'pointer');
+		// hide body initially
+		$body.hide();
+		$img.toggle();
+	});
+});
\ No newline at end of file
--- a/zpt/MPIWGFolderChangeWeight.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<html>
-<h2>Change Weight</h2>
-<form action="changeWeight" method="pro">
-<input tal:attributes="value here/weight|string:0" name="weight"><br>
-<input type="submit">
-</form>
-</html>
--- a/zpt/MPIWGNamesForm.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<html>
-<head>
-   <title>The title</title>
-</head>
-<body>
-
-<div>
-
-<h1>Upload list of Names</h1>
-<p>Komma separated list: email,lastname,firstname</p>
-<form method="post" action="importNames" enctype="multipart/form-data">
-<p>Folder</p>
-<input name="folderName">
-<p>File:</p>
-<input type="file" name="fileupload"/>
-<input type="submit">
-</form>
-</div>
-</body>
-</html>
--- a/zpt/addPublications.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:publications" />
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-
-  <h3>Add entries from the <i>Institutsbibliographie</i></h3>
-  <p>On this page you can search the Institutsbibliographie for your publications and add them to the list of publications that appears on your staff-page.</p>
-  <form name="search" action="addPublications" method="get">
-  <table>
-    <tr>
-      <td>Author</td>
-      <td tal:content="structure python:here.ZSQLsearchOptions(fieldname='author')" />
-      <td><input name="author" len="30"></td>
-    </tr>
-    <tr>
-      <td>Title</td>
-      <td tal:content="structure python:here.ZSQLsearchOptions(fieldname='title')" />
-      <td><input name="title" len="30"></td>
-    </tr>
-  </table>
-  <input type="submit" value="search">
-  </form>
-  <form name="add" action="addPublications" method="get">
-  <input type="hidden" value="add" name="mode">
-  <tal:block tal:condition="python:here.REQUEST.get('fromSearch','0')=='1'">
-    <table>
-      <tr tal:repeat="foundb python:here.ZSQLFind(_table='institutsbiblio')">
-        <td><input type="checkbox" tal:attributes="value python:str(foundb.id)" name="addEntries"></td>
-        <td tal:content="structure python:here.decode(here.formatBiblHelp(None,'','',foundb))" />
-      </tr>
-    </table>
-    <input type="submit" value="add" name="submit">
-  </tal:block>
-  </form>
-  <!-- <h3><a href="newBibliography">Add a separate entry</a></h3> -->
-  <h3><a href="editPublications">Back to publication list</a></h3>
-</tal:block>
-</html>
-
--- a/zpt/addPublicationsBib.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:publications" />
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-
-  <h3>Add Publications</h3>
-  <p> There are two ways to add publications to your list. </p>
-  <ol> 
-    <li> Publications that were created and released at the MPIWG are stored in a database, the <u>Instituts-Bibliographie</u>.<br/> In 
-         that case you can <b>search for and add them</b> <a href="addPublications"><img src="images/arr_right.gif" border="0"/> here</a>. </li>
-    <li> If you want to add publications that <u>have not been released at the MPIWG</u>,<br/> you may need to <b>add separate entries</b> 
-         <a href="newBibliography"><img src="images/arr_right.gif" border="0"/> here</a>.</li>
-  </ol>
-  <!-- <h3><a href="newBibliography">Add a separate entry</a></h3> -->
-  <h3><a href="editPublications">Back to publication list</a></h3>
-</tal:block>
-</html>
-
--- a/zpt/bibliography.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<tal:block tal:condition="not:python=here.ZSQLisEmpty(found.id_institutsbibliographie)" 
-	   tal:define="foundIB python:ZSQLInlineSearch(_table='institutsbiblio',id=found.id_institutsbibliographie)[0]">
-
-  <tal:block tal:condition="python:foundIB.reference_type.lower()=='journal article'">
-    <span tal:replace="foundIB/author_semi_colon"/>&quot;<span tal:replace="foundIB/title"/>&quot;
-    <i><span tal:replace="foundIB/secondary_title"/></i>
-    <span tal:replace="foundIB/volume"/>&quot;
-    (<span tal:condition
-
-ret=""
-if not found.id_institutsbibliographie=='':
-    foundIB=here.ZSQLInlineSearch(_table='institutsbiblio',id=found.id_institutsbibliographie)[0]
-    if foundIB.reference_type.lower()=='journal article':
-        ret+=foundIB.author_semi_colon+"&quot;"+foundIB.title+"&quot;"+"<i>%s</i>"%foundIB.secondary_title+foundIB.volume+"&quot;("
-        if not foundIB.number=='':
-            ret+=foundIB.number+"&nbsp;"
-        ret+=foundIB.year+")"
-        if not foundIB.pages=='':
-            ret+=": "+foundIB.pages+"."
-        
-        
-<!--
-[FMP-Field: Author_semi_colon]. &quot;[FMP-Field: Title].&quot <i>[FMP-Field: Secondary Title]</i> [FMP-Field: Volume] ([FMP-If: Number.neq.][FMP-Field: Number] [/FMP-If][FMP-Field: year])[FMP-If: pages.neq.]: [FMP-Field: pages][/FMP-IF]. 
-[FMP-elseif: Reference Type.eq.Edited Book]
-[FMP-Field: Author_semi_colon] (Editor/s). <i>[FMP-Field: Title]</i>. [FMP-If: Place Published.neq.][FMP-Field: Place Published]: [/FMP-if][FMP-if: publisher.neq.][FMP-Field: Publisher], [/FMP-If][FMP-Field: year].
-[FMP-elseif: Reference Type.eq.Book Section]
-[FMP-Field: Author_semi_colon]. &quot;[FMP-Field: Title].&quot In <i>[FMP-Field: Secondary Title]</i>[FMP-If: Secondary_Author_semi_colon.neq.], eds.: [FMP-Field: Secondary_Author_semi_colon][/FMP-if]. [FMP-If: Pages.neq.][FMP-Field: Pages].[/FMP-If][FMP-If: Place Published.neq.][FMP-Field: Place Published][/FMP-IF][FMP-If: Publisher.neq.]: [FMP-Field: Publisher],[/FMP-If] [FMP-Field: Year].
-[FMP-elseif: Reference Type.eq.Book]
-[FMP-Field: Author_semi_colon]. <i>[FMP-Field: Title]</i>. [FMP-Field: Place Published]: [FMP-Field: Publisher], [FMP-Field: year].
-[FMP-elseif: Reference Type.eq.Newspaper Article]
-[FMP-Field: Author_semi_colon]. &quot;[FMP-Field: Title].&quot <i>[FMP-Field: Secondary Title]</i>, [FMP-Field: Date].[FMP-Field: Year], [FMP-Field: Pages].
-[/FMP-if]
-[/FMP-InlineAction]
-
-
-
-
-[FMP-else]
-
-
-[FMP-InlineAction: -db=bibliography, ID="{Field: ID_gen_bib}", -find]
-[FMP-IF: Reference Type.eq.Journal Article] 
-[FMP-Field: Author_semi_colon]. &quot;[FMP-Field: Title].&quot <i>[FMP-Field: Secondary Title]</i> [FMP-Field: Volume] ([FMP-If: Number.neq.][FMP-Field: Number] [/FMP-If][FMP-Field: year])[FMP-If: Pages.neq.]: [FMP-Field: Pages][/FMP-IF]. 
-[FMP-else][FMP-IF: Reference Type.eq.Edited Book]
-[FMP-Field: Author_semi_colon] (Editor/s). <i>[FMP-Field: Title]</i>. [FMP-If: Place Published.neq.][FMP-Field: Place Published]: [/FMP-if][FMP-if: publisher.neq.][FMP-Field: Publisher], [/FMP-If][FMP-Field: year].
-[FMP-else][FMP-IF: Reference Type.eq.Book Section]
-[FMP-Field: Author_semi_colon]. &quot;[FMP-Field: Title].&quot In <i>[FMP-Field: Secondary Title]</i>[FMP-If: Secondary_Author_semi_colon.neq.], eds.: [FMP-Field: Secondary_Author_semi_colon][/FMP-if]. [FMP-If: Pages.neq.][FMP-Field: Pages].[/FMP-If][FMP-If: Place Published.neq.][FMP-Field: Place Published][/FMP-IF][FMP-If: Publisher.neq.]: [FMP-Field: Publisher],[/FMP-If] [FMP-Field: Year].
-[FMP-else][FMP-IF: Reference Type.eq.Book]
-[FMP-Field: Author_semi_colon]. <i>[FMP-Field: Title]</i>. [FMP-Field: Place Published]: [FMP-Field: Publisher], [FMP-Field: year].
-[FMP-else][FMP-IF: Reference Type.eq.Newspaper Article]
-[FMP-Field: Author_semi_colon]. &quot;[FMP-Field: Title].&quot <i>[FMP-Field: Secondary Title]</i>, [FMP-Field: Date].[FMP-Field: Year], [FMP-Field: Pages].
-[/FMP-if][/FMP-if][/FMP-if][/FMP-if][/FMP-if]
-[/FMP-InlineAction]
-[/FMP-IF] 
--->
--- a/zpt/changePublications_special.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<html>
-<body>
-<h2>Change free text field publication overview for front page</h2>
-<form action="changePublications_special" method="post">
-<input type="checkbox" name="usePublicationsSpecial" value="1">Use free text field<br>
-<textarea name="specialPublicationsField" cols="80" rows="40" tal:content="python:getattr(here,'specialPublicationsField','')"></textarea>
-<br>
-<input type="submit" value="submit">
-</form>
-</body>
-</html>
--- a/zpt/editAdditionalLinks.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:additionalLink" />
-<p>You can add links to documents or project websites you want to provide and are relevant for
-presenting your work and research interests</p>
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-  <form action="changeResearch" method="post">
-  <input type="hidden" name="key_main" tal:attributes="value python:here.decode(person.key)">
-  <input type="hidden" name="main_fields" value="additionalLink__title">
-  <table tal:define="founds2 python:here.ZSQLInlineSearch(_table='additionalLink',key_main=person.key)" >
-   <tal:x tal:repeat="found2 python:here.sortPriority(founds2)">
-    <tr class="fliesstext">
-      <td>Text over Link</td>
-      <td><input tal:attributes="name python:'additionalLink__title__'+str(found2.oid); 
-				     value python:here.decode(found2.title)" size="80" /> </td>
-	</tr>
-	<tr>
-		<td>Url</td>
-     	<td><input tal:attributes="name python:'additionalLink__link__'+str(found2.oid); 
-				     value python:here.decode(found2.link)" size="80" /></td>
-	</tr>
-	<tr>
-      <td valign="top">Priority <input tal:attributes="name python:'additionalLink__priority__'+str(found2.oid);
-				     value python:here.decode(found2.priority)"
-        size="3" />
-      </td>
-      <td valign="top">Publish 
-        <tal:x tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'additionalLink__published__'+str(found2.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found2.published)" />
-      &nbsp;&nbsp;<a tal:attributes="href python:'deleteField?table=additionalLink&oid=%s'%found2.oid">delete this link</a>
-      </td>
-    </tr>
-    <tr>
-    	<td colspan="2"><hr/></td>
-   	</tr>
-    </tal:x>
-    <tr >
-      <td colspan="2"><b>Add new link</b></td>
-    </tr>
-    <tr>
-   		<td>Text over Link</td>
-   		<td><input tal:attributes="name python:'additionalLink__title__new'" size="80"/></td>
-    </tr>
-    <tr>
-    	<td>Url</td>
-     	<td><input tal:attributes="name python:'additionalLink__link__new'" size="80" /></td>
-    </tr>
-    <tr>
-      <td>Priority <input tal:attributes="name python:'additionalLink__priority__new'" size="3"></td>
-      <td valign="top">Publish
-        <tal:x tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'additionalLink__published__new',
-			     yes_no_list,
-			     boxType='radio',
-			     checked='yes')" />
-			     </td>
-    </tr>
-  </table>
-  <input type="submit" value="submit">
-
-  </form>
-  <p>Please contact the IT Group <a href="mailto:itgroup@mpiwg-berlin.mpg.de">itgroup@mpiwg-berlin.mpg.de</a>, if you intend
-  to link to documents not available in the net and if you want to publish these.</p>
-</tal:block>
-</body>
-</html>
--- a/zpt/editAwards.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-  <tal:block metal:fill-slot="navsel" tal:define="global menusel string:awards"/>
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-
-<form action="editAwards" method="post">
-<input type="hidden" name="oid" tal:attributes="value person/oid">
-<textarea name="awards" tal:content="python:person.awards" cols=80 rows=10>
-</textarea>
-<br>
-<input type="submit" value="submit">
-</tal:block>
-</body>
-</html>
--- a/zpt/editBibliographyEntry.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:publications" />
-<tal:block metal:fill-slot="body">
-<tal:block
-    tal:define="found python:here.ZSQLInlineSearchU(_table='bibliography',id=here.REQUEST['id']);
-        mapping python:here.metadata.main.meta.bib.generateMappingForType(type=found.reference_type)">
-
-  <h3>Edit a separate publication</h3>
-
-    <form action="ZSQLChange" method="get">
-    <input type="hidden" name="-format" value="editPublications">
-    <input type="hidden" name="-identify" tal:attributes="value python:'oid='+str(found.oid)">
-    <input type="hidden" name="-table" value="bibliography">
-    <table>
-      <tal:block tal:repeat="mapElement python:mapping.keys()">
-        <tr tal:condition="python:mapping[mapElement][1]!=''">
-          <td tal:content="python:mapping[mapElement][1].encode('utf-8')"/>
-          <td><input size="80" tal:attributes="value python:getattr(found,mapElement); name mapElement" />
-        </tr>
-      </tal:block>
-    </table>
-    <input type="submit" value="change" />
-    </form>
-
-    <h3><a href="editPublications">Back to publication list</a></h3>
-
-  </tal:block>
-  </tal:block>
-</body>
-</html>
-
--- a/zpt/editCV.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-  <tal:block metal:fill-slot="navsel" tal:define="global menusel string:cv"/>
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-<form action="editCV" method="post">
-<input type="hidden" name="oid" tal:attributes="value person/oid">
-<textarea name="cv" tal:content="python:person.cv" cols=80 rows=10>
-</textarea>
-<br>
-<input type="submit" value="submit">
-</tal:block>
-</body>
-</html>
--- a/zpt/editDownloads.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<head>
-</head>
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:downloads" />
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-<p>Here you can upload your CV and and publication list to be downloaded from your homepage.</p>
-<p>The documents should be in <b>PDF format</b>. Add the add bottom of this page you find <a href="#templates">templates</a> for OpenOffice and
-Word to make it easier for you to create these documents.</p>
-<form action="changeDownloads" method="post" enctype="multipart/form-data">
-<h2>Your CV</h2>
-<p><input type="file" name="cv_pdf"/></p>
-<p>Remember that documents should be in <b>PDF format</b>. <br/><input type="submit" value="Upload the file"/></p>
-<p><a href="downloadCV">Download the CV currently stored at the server.</a> (last update:<span tal:content="here/getLastUpdateCV"/>)</p>
-<p>publish: <tal:x tal:content="structure python:here.ZSQLSelectionFromCRList(
-           'cv_publish',
-           yes_no_list,
-           boxType='radio',
-           checked=getattr(here,'cv_publish','no'))" /></p>
-
-<h2>Publication list</h2>
-<p><input type="file" name="publications_pdf"/></p>
-<p>Remember that documents should be in <b>PDF format</b>. <br/><input type="submit" value="Upload the file"/></p>
-<p><a href="downloadPublications">Download the publicaton list currently stored at the server. </a>(last update:<span tal:content="here/getLastUpdatePublications"/>)</p>
-<p>publish: <tal:x tal:content="structure python:here.ZSQLSelectionFromCRList(
-           'publications_publish',
-           yes_no_list,
-           boxType='radio',
-           checked=getattr(here,'publications_publish','no'))" /></p>
-
-<p><input type="submit" value="Update"/></p>
-
-</form>
-<br/> <br/>
-<a name="templates"/><h3>Download Templates:</h3>
-<ul>
-  <li>For OpenOffice Writer:
-    <ul>
-      <li><a href="downloads/publications_template.ott">Publication List</a> </li>
-	  <li><a href="downloads/CV_template.ott">CV</a></li>
-    </ul>	
-  </li>
-  <li>For Ms Word:
-    <ul>
-	 <li><a href="downloads/Vorlage_Publikation.dot">Publication List</a></li>
-	 <li><a href="downloads/Beispiel_CV.doc">CV</a></li>
-    </ul>
-  </li>
-</ul>
-</tal:block>
-
-</body>
-</html>
--- a/zpt/editHistoricalNames.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-<h2> Edit historical names </h2>
-
-<tal:block tal:define="names here/nameIndexEdited/keys; dummy python:names.sort()">
-<table>
-   <tal:x tal:repeat="name names">
-	<form action="editNameIndex" method="post">
-   	<tr>
-         <td tal:content="name">NAME</td>
-         <td>
-         	<input type="hidden" name="name" tal:attributes="value name">
-         	<textarea cols=50 rows=5 name="occurrances" tal:content="python:'\n'.join(here.nameIndexEdited[name])">OCCURENCES</textarea>
-         </td>
-         <td>
-         	<a target="names" tal:attributes="href python:'misc/search/namesMentioned?name=%s'%name">Show occurances</a>
-         </td>
-         <td>
-         	<input type="submit" value="delete" name="submit">
-         	<input type="submit" value="change" name="submit">
-         <tr>
-    </tr>	
-    </form>
-   </tal:x>
-   </table>
-   <h2>Add name</h2>
-   <table>
-   <form action="editNameIndex" method="post">
-   <tr>
-         <td><input name="name" size=50>
-         </td>
-         <td>
-         	<textarea cols=50 rows=5 name="occurrances"></textarea>
-         </td>
-         
-         <td>
-         	<input type="submit" value="add" name="submit">
-         	
-         <tr>
-    </tr>	
-   </form>
-   </table>
-   
-    <!-- Don't change from here -->
-  </tal:block>
\ No newline at end of file
--- a/zpt/editImageStaff.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-  <tal:block metal:fill-slot="navsel" tal:define="global menusel string:image"/>
-
-  <tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
- <form action="updateImage" method="post" enctype="multipart/form-data">
-  	<p>Show this photo on the homepage: <span tal:replace="structure python:here.ZSQLSelectionFromCRList(
-			     'publishImage',
-			     yes_no_list,
-			     boxType='radio',
-			     checked=here.getPublishImage())"/>
-  	</p>
-    <p>
-    <span tal:condition="here/getImageObj" tal:replace="structure python:here.getImageObj().thumb()"/></p>	
-
-<!-- 
-    <p>Filename:<input type="file" name="file" size="30"></p>
-    <p>Images should not be too big. Allowed formats: JPEG, TIFF or PNG. Files must have proper extension *.jpg, *.tif or *.png.</p>
--->    
-    <p>Please contact the IT-support (support@mpiwg-berlin.mpg.de) to upload a picture for you.</p>
-    
-    <input type="submit"/>
-  </form>
-    
- </tal:block>
- </body>
- </html>
\ No newline at end of file
--- a/zpt/editMPIWGStaff.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<head>
-</head>
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:research" />
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-
-  <form action="changeCurrentWork" method="post">
-  <input type="hidden" name="key" tal:attributes="value person/key"/>
-   <h3>Short entry</h3>
-  <p>This entry appears only in the staff lists at: <a href="../staff/fullist.html">Fullist</a> and the
-  lists of members of you department</p>
-  <table tal:define="found2 python:person">
-    <tr>
-      <th />
-      <th>Show</th>
-    </tr>
-    <tr class="fliesstext">
-      <td><input tal:attributes="name python:'current_work';
-				     value python:here.decode(found2.current_work)" size="80" />
-      </td>
-      <td
-        tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'publish',
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found2.current_work_p)" />
-    </tr>
-  </table>
-  <input type="submit" value="submit"/>
- 
-  <h3>Research interests</h3>
-  <p>This entry isn't displayed anymore, please describe your research interests in your <a href="editProfile">Profile</a></p>
-
-  </form>
-  <h3>Projects</h3>
-  <p>Projects cannot be edited from this pages. Entries are automatically generated.</p>
-</tal:block>
-</body>
-</html>
--- a/zpt/editMPIWGStaff_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:define-macro="page">
-<head>
-  <tal:block tal:define="global person python:here.ZSQLInlineSearchU(_table='personal_www',key=here.getKeyUTF8())"/>
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <link rel="stylesheet" href="editstaff.css" type="text/css"/>  
-  <metal:x metal:define-slot="javascript"/>
-</head>
-<body onload="kupu = startKupu();">
-  <h2 class="title">Edit homepage of <span tal:replace="python:here.decode(person.first_name)"/> <span tal:replace="python:here.decode(person.last_name)"/></h2>
-  <metal:block metal:define-slot="navsel"/>
-   <p>Please contact the support group <a href="mailto:support@mpiwg-berlin.mpg.de">support@mpiwg-berlin.mpg.de (Tel. 247)</a>, if you need any help.</p>
-  
-  <div class="mainnav">
-    <span tal:attributes="class python:here.getPathStyle('maindata', menusel, 'mainmenu')"><a href="editMainData">Contact</a></span>
-    <span tal:attributes="class python:here.getPathStyle('cv', menusel, 'mainmenu')"><a href="editProfile">Profile</a></span>
-    <span tal:attributes="class python:here.getPathStyle('publications', menusel, 'mainmenu')"><a href="editPublications">Publications</a></span>
-    <span tal:attributes="class python:here.getPathStyle('research', menusel, 'mainmenu')"><a href="edit">Research: short entry</a></span>
-    <span tal:attributes="class python:here.getPathStyle('image', menusel, 'mainmenu')"><a href="editImage">Photo</a></span>
-    <span tal:attributes="class python:here.getPathStyle('downloads', menusel, 'mainmenu')"><a href="editDownloads">Edit 
-downloads</a></span>
-    <!--  <span tal:attributes="class python:here.getPathStyle('cv', menusel, 'mainmenu')"><a href="editCV">Curriculum Vitae</a></span>-->
-    
-    <!--  <span tal:attributes="class python:here.getPathStyle('awards', menusel, 'mainmenu')"><a href="editAwards">Awards</a></span>-->
-    <span tal:attributes="class python:here.getPathStyle('talks', menusel, 'mainmenu')"><a href="editTalks">Talks</a></span>
-    <span tal:attributes="class python:here.getPathStyle('teaching', menusel, 'mainmenu')"><a href="editTeaching">Teaching</a></span>
-    <span tal:attributes="class python:here.getPathStyle('additionalLink', menusel, 'mainmenu')"><a href="editAdditionalLinks">Additional links</a></span>
- 
-    
-    
-    <span class="mainmenu"><a tal:attributes="href python:'http://www.mpiwg-berlin.mpg.de/en/staff/members/'+here.getId()+'/index_html'" target="_blank">View</a></span>
-  </div>
-  <div class="content">
-  <tal:block metal:define-slot="body"/>
-   </div>
-</body>
-</html>
--- a/zpt/editMainData.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-  <tal:block metal:fill-slot="navsel" tal:define="global menusel string:maindata"/>
-  <tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno';
-  global person python:here.ZSQLInlineSearchU(_table='personal_www',key=here.getKeyUTF8())"
-  >
-  <form action="editMainData" method="get">
-  <table>
-  	<tr>
-  		<td><b>Name</b></td>
-  		<td><input size="30" tal:attributes="value python:here.unicodify(person.last_name)" name="last_name"></td>
-  	</tr>
-  	<tr>
-  		<td><b>First Name</b></td>
-  		<td><input size="30" tal:attributes="value python:here.decode(person.first_name)" name="first_name"></td>
-  	</tr>
-  	<tr>
-  	 	<td><b>Academic degrees and position</b></td>
-  		<td><textarea  tal:content="python:here.decode(person.titles_new)" name="titles_new" cols="60" rows="3"/></td>
-  	</tr>
-  	<tr>
-  		<td><b>Status</b></td>
-  		<td tal:content="python:here.decode(person.status)"/>
-  	</tr>
-  	<tr>
-  		<td><b>Department</b></td>
-  		<td tal:content="python:here.decode(person.department)"/>
-  	</tr>
-  	<tr>
-  		<td><b>Stay</b></td>
-  		<td><span tal:content="python:here.decode(person.date_from)"/> to
-  		  <span tal:content="python:here.decode(person.date_to)"/>
-  		</td>
-  	<tr>
-  		<td><b>Funded by (external funding)</b></td>
-  		<td><input size="30" tal:attributes="value python:here.decode(person.funded_by)" name="funded_by"></td>
-  	</tr>
-  	
-<!--  	<tr>
-  	 	<td><b>Home institution</b></td>
-  		<td><input size="30" tal:attributes="value python:here.decode(person.home_inst)" name="home_inst"></td>
-  	</tr>-->
- </table>
- <table>
-    <tr><th></th><th></th><th align="left">show</th></tr>
- 	<tr>
- 		<td><b>email (MPIWG)</b></td>
- 		<td tal:content="python:here.decode(person.e_mail)"/>
- 		<td valign="top" tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'e_mail_p',
-			     yes_no_list,
-			     boxType='radio',
-			     checked=person.e_mail_p)"/>
- 	</tr>
- 	<tr>
- 		<td><b>email (additional)</b></td>
- 		<td><input size="30" name="e_mail2" tal:attributes="value python:here.decode(person.e_mail2)"></td>
- 		<td valign="top" tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'e_mail2_p',
-			     yes_no_list,
-			     boxType='radio',
-			     checked=person.e_mail2_p)"/>
- 	</tr>
- 	<tr>
- 		<td><b>Room</b></td>
- 		<td><input size="30" name="room_no" tal:attributes="value python:here.decode(person.room_no)"></td>
- 		<td>(never published)</td>
- 	</tr>
- 	
-<!-- 	<tr>
- 		<td><b>Private homepage</b></td>
- 		<td><input size="30" name="private_homepage" tal:attributes="value python:here.decode(person.private_homepage)"></td>
- 		<td>&nbsp;</td>
- 	</tr>
- -->	
- 	<tr>
- 		<td><b>Telephone</b></td>
- 		<td><input size="30" name="telefon" tal:attributes="value python:here.decode(person.telefon)"></td>
- 		<td valign="top" tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'telefon_p',
-			     yes_no_list,
-			     boxType='radio',
-			     checked=person.telefon_p)"/>
- 	</tr>
- 	<tr>
- 		<td><b>Fax</b></td>
- 		<td><input size="30" name="fax" tal:attributes="value python:here.decode(person.fax)"></td>
- 		<td valign="top" tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'fax_p',
-			     yes_no_list,
-			     boxType='radio',
-			     checked=person.fax_p)"/>
- 	</tr>
- </table>
- <input type="submit" value="submit">
- </form>
- <p>To add references to your homepage at other institutions plese use <a href="editAdditionalLinks">the additional links tab</a></p>
- </tal:block>
- </body>
- </html>
- 
\ No newline at end of file
--- a/zpt/editProfile.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<metal:x metal:fill-slot="javascript">
-<metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" use-macro="here/kupuEditor/kupumacros/macros/head">
-  <metal:macros fill-slot="bootstrap-editor">
-    <script type="text/javascript" src="/kupuEditor/kupuinit_form.js"> </script>
-    <script type="text/javascript" src="/kupuEditor/kupustart_form.js"> </script>
-  </metal:macros>
-</metal:macros>
-</metal:x>
-<body>
-  <tal:block metal:fill-slot="navsel" tal:define="global menusel string:cv"/>
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-<form action="editProfile" method="post">
-<input type="hidden" name="oid" tal:attributes="value person/oid">
-<tal:x condition="python:(person.profile is None) | (person.profile=='')">
-<p>You haven't edited your profile yet, this entry is  generated automatically from you old CV entry, your current work entry, and research interests entry from you old profile! </p>
-	
-</tal:x>
-
-
-
-    <div><span class="kupu-tb-buttongroup">
-	<button type="button" id="kupu-preview-button" title="preview: alt-p" accesskey="p">Preview</button>
-      </span>
-      <span class="kupu-tb-buttongroup">
-	<button type="button" id="kupu-save-button" title="save: alt-s" accesskey="s">Publish</button>
-      </span>
-    </div>
-  <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" use-macro="here/kupuEditor/kupumacros/macros/xmlconfig">
-    <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" fill-slot="dst">saveEditedContent</metal:macros>
-  </metal:macros>
-  <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" use-macro="here/kupuEditor/kupumacros/macros/fulleditor">
-       
-    <!--  <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" fill-slot="tb_select_styles">
-       <span id="kupu-tb-styles"/>
-     </metal:macros>
-      <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" fill-slot="buttongroup_subsuper">
-       <span id="kupu-bg-subsuper"/>
-       <span id="kupu-subscript-button"/>
-       <span id="kupu-superscript-button"/>
-       </metal:macros>
-       
-       <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" fill-slot="buttongroup_justify">
-       <span id="kupu-justifyleft-button"/>
-       <span id="kupu-justifycenter-button"/>
-       <span id="kupu-justifyright-button"/>
-       </metal:macros>
-       <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" fill-slot="buttongroup_list">
-       <span id="kupu-list-ol-addbutton"/>    
-       <span id="kupu-list-ul-addbutton"/>
-       
-       </metal:macros>
-       <metal:macros xmlns:metal="http://xml.zope.org/namespaces/metal" fill-slot="buttongroup_indent"/>
-       -->
-   
-    <metal:macros fill-slot="toolbox_properties">
-      <div class="kupu-toolbox" id="kupu-toolbox-properties"><input type="hidden" class="wide" id="kupu-properties-title" /> <input
-        type="hidden" class="wide" id="kupu-properties-description" /></div>
-    </metal:macros>
-    <metal:macros fill-slot="toolbox_tables">
-      <div class="kupu-toolbox" id="kupu-toolbox-properties"><input type="hidden" class="wide" id="kupu-table-classchooser" /> <input
-        type="hidden" class="wide" id="kupu-table-newrows" /> <input type="hidden" class="wide" id="kupu-table-newcols" /></div>
-    </metal:macros>
-    <metal:macros fill-slot="editorframe">
-      
-        <iframe class="kupu-editor-iframe" id="kupu-editor" frameborder="0" scrolling="auto" src="fulldoc"
-          tal:attributes="src python:here.REQUEST['URL1']+'/getProfile?time='+here.REQUEST.get('time','0')"> 
-        </iframe>
-      
-    </metal:macros>
-  </metal:macros>
-
-
-  </form>
-
-
-<br/>
-</tal:block>
-</body>
-</html>
--- a/zpt/editPublications.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:publications" />
-
-<tal:block metal:fill-slot="body"
-  tal:define="yes_no_list python:'yes\nno'; sortingMode python:'year\npriority'">
-
-
-
-
-  <h2>Publication list</h2>
-  <p>(You can not change entries from the <i>Institutsbibliographie</i> here)</p>
-  <form action="changeSortingMode" method="post">
-  <p>Sort by:</p>
-  <table>
-    <td valign="top"
-      tal:content="structure python:here.ZSQLSelectionFromCRList(
-           'sortingMode',
-           sortingMode,
-           boxType='radio',
-           checked=here.getSortingMode())" />
-    <td><input type="submit" value="change"></td>
-  </table>
-  </form>
-
-  <form action="changePublications" method="post">
-  <input type="hidden" name="key_main" tal:attributes="value python:here.decode(person.key)">
-  <input type="hidden" name="main_fields"
-    value="publications__title,publications__publish">
-
-  <tal:block
-    tal:define="books python:here.ZSQLSimpleSearch('select *,oid from publications where lower(key_main)=\'%s\' and lower(referencetype)in (\'book\') and publish=\'yes\' order by priority'%here.getKey().lower());
-			     edited_books python:here.ZSQLSimpleSearch('select *,oid from publications where lower(key_main)=\'%s\' and lower(referencetype)in (\'edited book\') and publish=\'yes\' order by priority'%here.getKey().lower());
-			     not_displayed python:here.ZSQLSimpleSearch('select *,oid from publications where lower(key_main)=\'%s\' and publish=\'no\' order by priority'%here.getKey().lower());
-			     articles python:here.ZSQLSimpleSearch('select *,oid from publications where lower(key_main)=\'%s\' and lower(referencetype) not in (\'book\',\'edited book\') and publish=\'yes\' order by priority'%here.getKey().lower())">
-
-    <tal:block tal:condition="books">
-      <h3>Books</h3>
-      <table>
-        <tr>
-          <th />
-          <th />
-          <th>Priority</th>
-          <th align="left" width="100">Show</th>
-        </tr>
-        <tal:x tal:repeat="found python:here.sortBibliography(books)">
-        <tr>
-          <td><a tal:condition="python:found.id_gen_bib and (not found.id_gen_bib=='')"
-            tal:attributes="href python:'editBibliography?id=%s'%found.id_gen_bib">edit</a>
-          <a
-            tal:attributes="href python:'deleteField?table=publications&oid=%s'%found.oid">delete</a></td>
-          <td><span tal:replace="structure python:here.formatBibliography(here,here.decode(found))" /></td>
-          <td valign="top"><input
-            tal:attributes="name python:'publications__priority__'+str(found.oid);
-				     value python:here.integer(found.priority)"
-            size="3" /></td>
-          <td valign="top"
-            tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'publications__publish__'+str(found.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found.publish)" />
-			    
-        </tr>
-        <tr>
-        <td>&nbsp;</td>
-        <td valign="top"><em>Link:</em><input
-            tal:attributes="name python:'publications__link__'+str(found.oid);
-				     value python:getattr(found,'link','')"
-            size="150" /></td>
-        <td>&nbsp;</td>
-        <td>&nbsp;</td>
-        </tr>
-         </tal:x>
-      </table>
-    </tal:block>
-
-    <tal:block tal:condition="edited_books">
-      <h3>Edited Books</h3>
-      <table>
-        <tr>
-          <th/>
-          <th/>
-          <th>Priority</th>
-          <th align="left" width="100">Show</th>
-        </tr>
-        <tal:x tal:repeat="found python:here.sortBibliography(edited_books)">
-        <tr>
-          <td><a tal:condition="python:found.id_gen_bib and (not found.id_gen_bib=='')"
-            tal:attributes="href python:'editBibliography?id=%s'%found.id_gen_bib">edit</a>
-          <a
-            tal:attributes="href python:'deleteField?table=publications&oid=%s'%found.oid">delete</a></td>
-          <td><span tal:replace="structure python:here.formatBibliography(here,here.decode(found))" /></td>
-          <td valign="top"><input
-            tal:attributes="name python:'publications__priority__'+str(found.oid);
-			   		value python:here.integer(found.priority)"
-            size="3" /></td>
-          <td valign="top"
-            tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'publications__publish__'+str(found.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found.publish)" />
-        </tr>
-        <tr>
-        <td>&nbsp;</td>
-        <td valign="top"><em>Link:</em><input
-            tal:attributes="name python:'publications__link__'+str(found.oid);
-				     value python:getattr(found,'link','')"
-            size="150" /></td>
-        <td>&nbsp;</td>
-        <td>&nbsp;</td>
-        </tr>
-         </tal:x>
-      </table>
-    </tal:block>
-    
-   <tal:block tal:condition="articles">
-      <h3>Articles and Chapters</h3>
-      <table>
-        <tr>
-          <th/>
-          <th/>
-          <th>Priority</th>
-          <th align="left" width="100">Show</th>
-        </tr>
-        <tal:x tal:repeat="found python:here.sortBibliography(articles)">
-        <tr>
-          <td><a tal:condition="python:found.id_gen_bib and (not found.id_gen_bib=='')"
-            tal:attributes="href python:'editBibliography?id=%s'%found.id_gen_bib">edit</a>
-          <a
-            tal:attributes="href python:'deleteField?table=publications&oid=%s'%found.oid">delete</a></td>
-          <td><span tal:replace="structure python:here.formatBibliography(here,here.decode(found))" /></td>
-          <td valign="top"><input
-            tal:attributes="name python:'publications__priority__'+str(found.oid);
-				     value python:here.integer(found.priority)"
-            size="3" /></td>
-          <td valign="top"
-            tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'publications__publish__'+str(found.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found.publish)" />
-        </tr>
-        <tr>
-        <td>&nbsp;</td>
-        <td valign="top"><em>Link:</em><input
-            tal:attributes="name python:'publications__link__'+str(found.oid);
-				     value python:getattr(found,'link','')"
-            size="150" /></td>
-        <td>&nbsp;</td>
-        <td>&nbsp;</td>
-        </tr>
-         </tal:x>
-      </table>
-    </tal:block>
-
-  <tal:block tal:condition="not_displayed">
-    <h3>Currently not shown</h3>
-    <table>
-      <tr>
-        <th />
-        <th />
-        <th>Priority</th>
-        <th align="left" width="100">Show</th>
-      </tr>
-      <tal:x tal:repeat="found python:here.sortBibliography(not_displayed)">
-      <tr>
-        <td><a
-          tal:attributes="href python:'deleteField?table=publications&oid=%s'%found.oid">delete</a></td>
-        <td><span tal:replace="structure python:here.formatBibliography(here,here.decode(found))" /></td>
-        <td valign="top"><input
-          tal:attributes="name python:'publications__priority__'+str(found.oid);
-		   				     value python:here.integer(found.priority)"
-          size="3" /></td>
-        <td valign="top"
-          tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'publications__publish__'+str(found.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found.publish)" />
-      </tr>
-      <tr>
-        <td>&nbsp;</td>
-        <td valign="top"><em>Link:</em><input
-            tal:attributes="name python:'publications__link__'+str(found.oid);
-				     value python:getattr(found,'link','')"
-            size="150" /></td>
-        <td>&nbsp;</td>
-        <td>&nbsp;</td>
-        </tr>
-         </tal:x>
-    </table>
-    </tal:block>
-    
-  </tal:block>
-   <input type="submit" value="change">
-  </form>
-
-<br/> <br/> <br/> 
-  
-  <form action="changePublicationSelectionMode" method="post">
-
-    <h3>Select the 5 publications to be displayed in the first part of your homepage</h3>
-    <p>Choose the first 5 of my list following the order of</p>
-    <table tal:define="sm python:here.getPublicationSelectionMode()">
-      <tr tal:condition="python:sm=='priority'">
-	<td><span><input type="radio" name="publicationSelectionMode" value="year" />year</span>
-	  <span><input checked type="radio" name="publicationSelectionMode" value="priority" />priority</span></td>
-	<td><input type="submit" value="change"></td>
-	</tr>
-      <tr tal:condition="not:python:sm=='priority'">
-	<td><span><input checked type="radio" name="publicationSelectionMode" value="year" />
-	    year</span> <span><input type="radio" name="publicationSelectionMode"
-				     value="priority" /> priority</span></td>
-	<td><input type="submit" value="change"></td>
-	</tr>
-      </table>
-      </form>
-      
-      <br/><br/>
-      <h3><a href="addPublicationsBib">Add Publications to your list</a></h3>
-   <!--   <h4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="addPublications">Add 
-entries from the Institutsbibliographie</a></h4>
-      <h4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="newBibliography">Add an entry that cannot be found in the 
-Institutsbibliographie</a></h4> -->
-
-</tal:block>
-</body>
-</html>
--- a/zpt/editTalks.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:talks" />
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-  <form action="changeResearch" method="post">
-  <input type="hidden" name="key_main" tal:attributes="value python:here.decode(person.key)">
-  <input type="hidden" name="main_fields" value="talks__title">
-  <table tal:define="founds2 python:here.ZSQLInlineSearch(_table='talks',key_main=person.key)">
-    <tr>
-      <th>Date</th>
-      <th>Title/Place/Link</th>
-      <th>Priority</th>
-      <th>Show</th>
-    </tr>
-    <tr class="fliesstext" tal:repeat="found2 python:here.sortPriority(founds2)">
-      <td valign="top">
-        <input tal:attributes="name python:'talks__date__'+str(found2.oid); 
-				     value found2/date" size="10" />
-      </td>
-      <td>
-        <input tal:attributes="name python:'talks__title__'+str(found2.oid); 
-				     value python:here.decode(found2.title)" size="80" /><br>
-        <input tal:attributes="name python:'talks__place__'+str(found2.oid); 
-				     value python:here.decode(found2.place)" size="80" /><br>
-        <input tal:attributes="name python:'talks__link__'+str(found2.oid); 
-				     value python:here.decode(found2.link)" size="80" />
-      </td>
-      <td valign="top">
-        <input tal:attributes="name python:'talks__priority__'+str(found2.oid); value found2/priority" size="3" />
-      </td>
-      <td valign="top"
-        tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'talks__published__'+str(found2.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found2.published)" />
-      <td>
-        <a tal:attributes="href python:'deleteField?table=talks&oid=%s'%found2.oid">delete</a>
-      </td>
-    </tr>
-    <tr colspan="4">
-      <td>Add new</td>
-    </tr>
-    <tr>
-      <td valign="top"><input tal:attributes="name python:'talks__date__new'" size="10" /></td>
-      <td><input tal:attributes="name python:'talks__title__new'" size="80"> <br>
-      <input tal:attributes="name python:'talks__place__new'" size="80" /> <br>
-      <input tal:attributes="name python:'talks__link__new'" size="80" /></td>
-      <td><input tal:attributes="name python:'talks__priority__new'" size="3"></td>
-      <td valign="top"
-        tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'talks__published__new',
-			     yes_no_list,
-			     boxType='radio',
-			     checked='yes')" />
-    </tr>
-  </table>
-  <input type="submit" value="submit">
-
-  </form>
-</tal:block>
-</body>
-</html>
--- a/zpt/editTeaching.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:teaching" />
-
-<tal:block metal:fill-slot="body" tal:define="yes_no_list python:'yes\nno'">
-  <form action="changeResearch" method="post">
-  <input type="hidden" name="key_main" tal:attributes="value python:here.decode(person.key)">
-  <input type="hidden" name="main_fields" value="teaching__title">
-  <table tal:define="founds2 python:here.ZSQLInlineSearch(_table='teaching',key_main=person.key)">
-    <tr>
-      <th>Date</th>
-      <th>Title/Place/Link</th>
-      <th>Priority</th>
-      <th>Show</th>
-    </tr>
-    <tr class="fliesstext" tal:repeat="found2 python:here.sortPriority(founds2)">
-      <td valign="top"><input tal:attributes="name python:'teaching__date__'+str(found2.oid); 
-				     value python:here.decode(found2.date)" size="10" />
-      </td>
-
-      <td><input tal:attributes="name python:'teaching__title__'+str(found2.oid); 
-				     value python:here.decode(found2.title)" size="80" /> <br>
-      <input tal:attributes="name python:'teaching__place__'+str(found2.oid); 
-				     value python:here.decode(found2.place)" size="80" /> <br>
-      <input tal:attributes="name python:'teaching__link__'+str(found2.oid); 
-				     value python:here.decode(found2.link)" size="80" /></td>
-
-      <td valign="top"><input tal:attributes="name python:'teaching__priority__'+str(found2.oid);
-				     value found2/priority"
-        size="3" /></td>
-      <td valign="top"
-        tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'teaching__published__'+str(found2.oid),
-			     yes_no_list,
-			     boxType='radio',
-			     checked=found2.published)" />
-      <td><a tal:attributes="href python:'deleteField?table=teaching&oid=%s'%found2.oid">delete</a></td>
-    </tr>
-    <tr colspan="4">
-      <td>Add new</td>
-    </tr>
-    <tr>
-      <td valign="top"><input tal:attributes="name python:'teaching__date__new'" size="10" /></td>
-      <td><input tal:attributes="name python:'teaching__title__new'" size="80"> <br>
-      <input tal:attributes="name python:'teaching__place__new'" size="80" /> <br>
-      <input tal:attributes="name python:'teaching__link__new'" size="80" /></td>
-      <td><input tal:attributes="name python:'teaching__priority__new'" size="3"></td>
-      <td valign="top"
-        tal:content="structure python:here.ZSQLSelectionFromCRList(
-			     'teaching__published__new',
-			     yes_no_list,
-			     boxType='radio',
-			     checked='yes')" />
-    </tr>
-  </table>
-  <input type="submit" value="submit">
-
-  </form>
-</tal:block>
-</body>
-</html>
--- a/zpt/edit_MPIWGDisciplinesThemes.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-<html>
-<body>
-<h2>Edit Disciplines and themes: <span tal:replace="python:here.WEB_title[0]"/></h2>
-<h3>Disciplines</h3>
-<form method="post" action="editMPIWGDisciplinesThemes">
-<tal:block tal:replace="python:here.getContent('xdata_09')"/>
-
-<tal:block tal:repeat="discipline here/getDisciplineList">
-  <tal:block tal:condition="python:here.isChecked(discipline,here.getContent('xdata_09'))">
-    <input tal:attributes="value discipline" name="disciplines" type="checkbox" checked><span tal:replace="discipline"/>
-  </tal:block>
-  <tal:block tal:condition="not:python:here.isChecked(discipline,here.getContent('xdata_09'))">
-    <input tal:attributes="value discipline" name="disciplines" type="checkbox"><span tal:replace="discipline"/>
-  </tal:block>
-</tal:block>
-<br>
-<h3>Themes</h3>
-<tal:block tal:repeat="theme here/getThemeList">
-  <tal:block tal:condition="python:here.isChecked(theme,here.getContent('xdata_10'))">
-    <input tal:attributes="value theme" name="themes" type="checkbox" checked><span tal:replace="theme"/>
-  </tal:block>
-  <tal:block tal:condition="not:python:here.isChecked(theme,here.getContent('xdata_10'))">
-    <input tal:attributes="value theme" name="themes" type="checkbox"><span tal:replace="theme"/>
-  </tal:block><br>
-</tal:block>
-<br>
-<input type="submit" value="change">
-</form>
-</body>
-</html>
--- a/zpt/edit_MPIWGDisciplinesThemesNeu.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/edit_MPIWGProject_main/macros/page">
-<head>
-</head>
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:themes" />
-<tal:block metal:fill-slot="body">
-  <h3>Disciplines</h3>
-  <form method="post" action="editMPIWGDisciplinesThemes">
-  <input type="hidden" name="fromEdit" value="yes" />
-  <ul class="plain" tal:repeat="discipline here/getDisciplineList">
-    <li tal:condition="python:here.isChecked(discipline,here.getContent('xdata_09'))">
-      <input tal:attributes="value discipline" name="disciplines" type="checkbox" checked>
-      <span tal:replace="discipline" />
-    </li>
-    <li tal:condition="not:python:here.isChecked(discipline,here.getContent('xdata_09'))">
-      <input tal:attributes="value discipline" name="disciplines" type="checkbox">
-      <span tal:replace="discipline" />
-    </li>
-  </ul>
-  <br>
-  <h3>Themes</h3>
-  <ul class="plain" tal:repeat="theme here/getThemeList">
-    <li tal:condition="python:here.isChecked(theme,here.getContent('xdata_10'))">
-      <input tal:attributes="value theme" name="themes" type="checkbox" checked>
-      <span tal:replace="theme" />
-    </li>
-    <li tal:condition="not:python:here.isChecked(theme,here.getContent('xdata_10'))">
-      <input tal:attributes="value theme" name="themes" type="checkbox">
-      <span tal:replace="theme" />
-    </li>
-  </ul>
-  <p><input type="submit" value="change"/></p>
-  </form>
-</tal:block>
-</body>
-</html>
--- a/zpt/edit_MPIWGKeywords.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<html>
-<body>
-<form method="POST" action="editMPIWGProject">
-<h2>Basis Information</h2>
-<table>
-<tr>
-<td>Project Title</td>
-<td><input tal:attributes="name python:'WEB_title'; value python:here.getContent('WEB_title')" size=100/></td>
-</tr>
-<tal:block tal:repeat="field here/getDataFields">
-<tr>
-<td tal:content="field"/>
-<td> <input tal:attributes="name field; value python:here.getContent(field)" size=100/></td>
-</tr>
-<tr tal:condition="python:here.isCheckField(field)">
-<td colspan=2 height="20">
-<tal:block  tal:define="checkList python:here.giveCheckList(here,field)">
-<tal:block  repeat="item checkList/keys">
-<span tal:replace="item"/>:
-<tal:block tal:condition="python:len(checkList[item])>0">
-found
-</tal:block>
-<tal:block tal:condition="not:python:len(checkList[item])>0">
-<font color="#ff0000">not found</font>
-</tal:block>
-
-
-<!--<input tal:repeat="prop python:checkList[item]" 
-       type="radio" 
-       tal:attributes="name python:'val_%s'%field; value python:prop[0].getId()" 
-       tal:content="python:prop[1]"/>-->
-</tal:block>
-<br>
-</tal:block>
-</td>
-</tr>
-</tal:block>
-</table>
-
-  
-<input type="submit">
-</form>
-</body>
-</html>
--- a/zpt/edit_MPIWGRelatedPublications.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-<html>
-<head>
-<meta http-equiv="content-type" content="text/html; charset=utf-8">
-</head>
-<body>
-<form method="POST" action="editMPIWGProject">
-
-<h3>Edit Related Publications</h3>
-
-<span tal:replace="structure python:here.Epoz('WEB_related_pub', data=here.getContent('WEB_related_pub'), toolbox='/toolbox', lang='en', path='', widget='', style='width: 600px; height: 500px; border: 1px solid #000000;', button='background-color: #EFEFEF; border: 1px solid #A0A0A0; cursor: pointer; margin-right: 1px; margin-bottom: 1px;', css='', charset='utf-8')"/>
-
-
-  
-<input type="submit">
-</form>
-</body>
-</html>
--- a/zpt/edit_MPIWGStaff.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-<html>
-<head>
-   <title>The title</title>
-</head>
-<body>
-
-<div>
-
-<h1>Edit</h1>
-<h2>!Please use this form only if you really know what you do, for the change of names the
-../edit methods should be used!</h2>
-<form method="post" action="changeMPIWGStaff">
-
-<p>LastName:
-<input name="lastName" tal:attributes="value here/lastName"/></p>
-<p>FirstName:
-<input name="firstName" tal:attributes="value here/firstName"/></p>
-
-<p>Key:
-<input name="key" tal:attributes="value here/getKey"/></p>
-<input type="submit">
-</form>
-</div>
-</body>
-</html>
--- a/zpt/edit_imageForm.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/edit_MPIWGProject_main/macros/page">
-<head>
-</head>
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:images" />
-<tal:block metal:fill-slot="body">
-  <h3>Edit Image</h3>
-  <form action="editImage" method="post" enctype="multipart/form-data">
-  <table>
-    <tr><th>Image</th><th>Caption</th></tr>
-    <tr>
-      <td><div tal:content="structure python:here.tag(scale=250.0 / here.height)"/></td>
-      <td><textarea tal:content="structure python:getattr(here,'caption','')" name="caption" rows="3" cols="60"></textarea></td>
-    </tr>
-    <tr>
-      <td><p>Upload new image:<input type="file" name="file" len="50"/></p></td>
-    </tr>
-  </table>
-  <p>
-  <input type="submit" value="submit"/>
-  </p>
-  </form>
-  
-  <h3><a href="../manageImages">Back to image list</a></h3>
-</tal:block>
-</body>
-</html>
--- a/zpt/harvest_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-<html>
-
-<body>
-
-      <tal:block tal:replace="structure here/versionHeader"/>
-      <h1 tal:content="structure python:here.getContent('WEB_project_header')">History of Scientific Objectivity, 18th-19th Cs</h1>
-     
-      <p><i tal:content="structure python:here.getContent('xdata_01')">Names of responsible persons </i></p>
-      <p tal:condition="not:python:here.getContent('xdata_08')==''">Other involved scholars: <i tal:content="structure python:here.getContent('xdata_08')">Scholars </i></p>
-      <p tal:condition="not:python:here.getContent('xdata_12')==''">Cooperation Partners: <i tal:content="structure python:here.getContent('xdata_12')">Partners </i></p>
-      <br/>
-
-      <div class="indent" tal:content="structure python:here.getContent('WEB_project_description')">
-	<p>
-		In the middle decades of the nineteenth century objectivity established itself as a (if not the) cardinal epistemic virtue in the sciences. From astronomy to paleontology to physiology, new ways of making images, assessing error, and designing experiments were enlisted in the service of objectivity. 
-	</p>
-	<p>
-		This triumph of objectivity over rival epistemic virtues like truth and certainty is all the more remarkable because objectivity had emerged only decades before. Only circa 1850 did the modern sense of "objectivity" make its way into dictionaries in the major European languages. The ideals and practices associated with objectivity in the sciences emerge at roughly the same time. 
-	</p>
-	<p>
-		The story of how objectivity became so central to science is one of actions as well as words. Objectivity changed how science was done in concrete, specific ways. Photography, self-registering instruments, the method of least squares, and machines for measuring the personal equations of observers were all examples of these new scientific practices of objectivity 
-	</p>
-      </div>
-
-<tal:comment>  
-      <tal:block tal:condition="not:python:here.getContent('xdata_11')==''">
-	<h2>Related items at the digital research library</h2>
-	<p tal:content="structure python:here.getContent('xdata_11')">
-				Item 1 
-				<br>
-				Item 2 
-				<br>
-				Item 3 
-				<br>
-	</p>
-      </tal:block>
-
-      <tal:block tal:condition="not:python:here.getContent('WEB_related_pub')==''">
-	<h2> Related Publications</h2> 
-
-	<p tal:define="pub python:here.getContent('WEB_related_pub')" tal:content="structure pub">
-		"Die Kultur der wissenschaftlichen Objektivit&auml;t," in: Michael Hagner, ed., Ansichten der Wissenschaftsgeschichte (Frankfurt am Main: Fischer Taschenbuchverlag GmbH, 2001): 137-158. 
-		<br>
-		(with Peter Galison), "The Image of Objectivity," Representations no. 40 (Fall 1992): 81-128. Translated into German (2002) 
-		<br>
-		"Objectivity and the Escape from Perspective," Social Studies of Science 22(1992): 597-618 
-	</p>
-      </tal:block>
-
-      <tal:block tal:condition="not:python:here.getContent('xdata_13')==''">
-	<h2>Funding Institutions</h2>
-	  <p tal:content="structure python:here.getContent('xdata_13')">Funding </p>
-      </tal:block>
-</tal:comment>
-</body>
-</html>
--- a/zpt/harvest_members_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
-<html>
-  <body>
-
-<div class="haupttext">
-     <p>&nbsp;</p>
-    <tal:block tal:define="found python:here.ZSQLInlineSearchU(_table='personal_www',key=here.getKeyUTF8(),publish_the_data='yes')">
-     <tal:block tal:condition="found">
-
-      <tal:block tal:define="founds2 python:here.ZSQLInlineSearch(_table='current_work',id_main=found.id,publish='yes')" tal:condition="founds2">	
-	<h1>Current work</h1>
-
-	  <p class="fliesstext" tal:repeat="found2 founds2">
-	    <span tal:replace="found2/current"/>
-	  </p>
-
-      </tal:block>
-
-      <tal:block tal:define="founds2 python:here.ZSQLInlineSearch(_table='research_interest',id_main=found.id,published='yes')" tal:condition="founds2">	
-	<h1>Research interests</h1>
-	<ul class="liste">
-	  <li tal:repeat="found2 founds2">
-	    <span tal:replace="found2/interest"/>
-	  </li>
-	</ul>
-      </tal:block>
-   
-
-<!-- Curriculum vitae -->  
-      <tal:block tal:condition="not:python:here.ZSQLisEmpty(found.cv)">
-	<h1>Curriculum vitae</h1>
-	<p class="fliesstext" tal:content="structure python:here.formatAscii(found.cv)"> [FMP-Field: CV] </p>
-      </tal:block>
-
-<!-- Awards -->  
-      <tal:block tal:condition="not:python:here.ZSQLisEmpty(found.awards)">
-	<h1>Awards</h1>
-	<p class="fliesstext"  tal:content="structure python:here.formatAscii(found.awards)"> [FMP-Field: awards, break] </p>
-      </tal:block>
-
-<!-- Selected publications -->
-     <tal:block tal:condition="here/usePublicationsSpecial|python:False">  
-     <h1>Selected publications</h1>
-	<ul class="liste">
-        <tal:block tal:replace="structure here/specialPublicationsField"/>
-	  <li>
-	    <a tal:attributes="href python:'publications_full?-table=personal_www&amp;id='+found.id">more</a> 
-	  </li>
-	</ul>
-      </tal:block>
-
-      <tal:block tal:condition="not:here/usePublicationsSpecial|python:False">  
-      <tal:block tal:condition="python:here.ZSQLInlineSearch(storename='search3',_table='publications',id_main=found.id,_max=10000,publish='yes')">
-	<h1>Selected publications</h1>
-
-	<ul class="liste">
-	  <li tal:repeat="found3 python:here.sortBibliography(here.ZSQLInlineSearch(storename='search3',_table='publications',id_main=found.id,_max=10000,publish='yes'),here.getPublicationSelectionMode())">
-	    <span tal:replace="structure python:here.en.formatBibliography(here,found3)"/>
-	  </li>
-	  <li tal:condition="python:here.ZSQLFoundCount(storename='search3')>5">
-	    <a tal:attributes="href python:'publications_full?-table=personal_www&amp;id='+found.id">more</a> 
-	  </li>
-	</ul>
-      </tal:block>
-      </tal:block>
-<!-- Talks -->  
-      <tal:block tal:define="founds4 python:here.ZSQLInlineSearch(storename='search4',_table='talks',id_main=found.id,_max=10000,_sort='priority',published='yes')" tal:condition="founds4">
-	<h1>Talks and presentations</h1>
-	<ul class="liste">
-	  <li tal:repeat="found4 python:here.sortPriority(founds4)">
-	    <span tal:condition="not:python:here.ZSQLisEmpty(found4.link)">
-	      <a tal:attributes="href found4/link"><span tal:replace="found4/date"/> &#150; <span tal:replace="found4/place"/> &#150; <span tal:replace="found4/title"/></a>
-	    </span>
-	    <span tal:condition="python:here.ZSQLisEmpty(found4.link)">
-	      <span tal:replace="found4/date"/> &#150; <span tal:replace="found4/place"/> &#150; <span tal:replace="found4/title"/>
-	    </span>
-	  </li>
-	  <li tal:condition="python:here.ZSQLFoundCount(storename='search4')>5">
-	    <a tal:attributes="href python:'talks_full?-table=personal_www&amp;id='+found.id">more</a>
-	  </li>
-	</ul>
-      </tal:block>
-
-<!-- >Teaching activities -->  
-      <tal:block tal:define="founds5 python:here.ZSQLInlineSearch(storename='search5',_table='teaching',id_main=found.id,_max=1000,_sort='priority')" tal:condition="founds5">
-	<h1>Teaching activities</h1>
-	<ul class="liste">
-	  <li tal:repeat="found5 python:here.sortPriority(founds5)">
-	    <span tal:condition="not:python:here.ZSQLisEmpty(found5.link)"> 
-	      <a tal:attributes="href found5/link"><span tal:replace="found5/date"/> &#150; <span tal:replace="found5/place"/> &#150; <span tal:replace="found5/title"/>
-	      </a>
-	    </span>
-            <span tal:condition="python:here.ZSQLisEmpty(found5.link)">
-		<span tal:replace="found5/date"/> &#150; <span tal:replace="found5/place"/> &#150; <span tal:replace="found5/title"/>
-	    </span>
-	  </li>
-	  <li tal:condition="python:here.ZSQLFoundCount(storename='search5')>5" class="p_indent"><a tal:attributes="href python:'teaching_full?-table=personal_www&amp;id='+found.id">more</a>
-	  </li>
-	</ul>
-      </tal:block>
-      </tal:block>
-    </tal:block>
-</div>
-  </body>
-</html>
--- a/zpt/members_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-<html metal:use-macro="here/main_template/macros/page">
-<head>
-<title tal:content="template/title">The title</title>
-</head>
-<body>
-
-<tal:block metal:fill-slot="body" tal:define="found python:here.ZSQLInlineSearch(_table='personal_www',username=here.getId())[0]">
-<table class="center">
-	  <td valign="top" width="610"> 
-	    
-           <div id="NameTitle" style="position:absolute; width:365px; height:37px; z-index:3; left: 161px; top: 63px; visibility: visible"> 
-          <h2><span tal:replace="found/title"/> <span tal:replace="found/vorname"/> <span tal:replace="found/name"/></h2>
-	 </div>
-        <div id="Position" style="position:absolute; width:365px; height:30px; z-index:5; left: 161px; top: 115px; visibility: visible"> 
-          <h3><span tal:replace="found/position"/></h3>
-      </div>
-        <div id="StayAtMpiwg" style="position:absolute; width:365px; height:32px; z-index:6; left: 161px; top: 158px; visibility: visible"> 
-          <p class="p_noindent">Residence:<br>
-          <span tal:replace="found/stay_at_mpiwg"/></p>
-      </div>
-        <div id="Adress" style="position:absolute; width:365px; height:90px; z-index:4; left: 161px; top: 210px"> 
-          <p class="p_noindent">&nbsp;<br>
-          &nbsp;<br>
-          &nbsp;<br>
-          &nbsp;</p>
-        </div>
-<!-- middle right (PIM) -->
-        <div id="ContactsImg" style="position:absolute; width:355px; height:114px; z-index:1; left: 286px; top: 220px; visibility: visible;"> 
-        <table width="400" border="0">
-            <tr> 
-              <td rowspan="4" width="48"><img src="images/EmailResponseOrg.gif" width="40" height="49" align="middle"><img src="bilder/leer.gif" width="1" height="100" align="middle"> 
-              </td>
-	    <tal:block tal:condition="python:found.telefon_p=='yes'">
-	    <td width="84" height="25"> 
-                <p>tel.:</p>
-            </td>
-            <td width="180" height="25"> 
-               <p  class="p_noindent" tal:content="found/telefon">[FMP-Field: telefon]</p>
-           </td>
-           </tal:block>
-          </tr>
-          <tr> 
-	     <tal:block tal:condition="python:found.e_mail_p=='yes'">
-            <td width="84" height="25"> 
-                <p>email:</p>
-            </td>
-            <td width="180" height="25"> 
-                <p class="p_noindent"> <a tal:attributes="href python:'mailto:'+found.e_mail" tal:content="found/e_mail">[FMP-Field: e_mail]</a></p>
-            </td>
-	    </tal:block>
-          </tr>
-          <tr> 
-	    <tal:block tal:condition="python:found.fax_p=='yes'">
-	      <td width="84" height="25"> 
-                <p>fax:</p>
-			</td>
-             <td width="180" height="25">               
-           <p  class="p_noindent" tal:content="found/fax">[FMP-Field: fax]</p>          
-              </td>
-	     </tal:block>
-          </tr>
-          <tr> 
-	    <tal:block tal:condition="not:python:here.ZSQLisEmpty(found.private_homepage)">
-            <td width="84" height="25"> 
-                <p>homepage:</p>
-            </td>
-              <td width="180" height="25"> 
-                <p class="p_noindent"><a tal:attributes="href found/private_homepage" target="_new" tal:content="found/private_homepage">[FMP-Field: private_homepage]</a></p>
-            </td>   
-	      </tal:block>
-          </tr>
-        </table>
-<!-- middle right (PIM) END -->
-</div>
-        <!-- bottom right -->
-
-        <div id="Daten" style="position:absolute; z-index:10; left: 173px; top: 350px; width: 578px; height: 589px; visibility: visible"> 
-
-          <div id="Teaching" style="position:relative; width:581px; z-index:14;"> 
-            <img src="images/en/Fieldnames72_NBProjectsMPI.jpg" width="211" height="33"> 
-            <p> </p>
-	    <tal:block tal:repeat="projects python:here.getProjectsOfMember(email=here.getId())">
-            <p tal:repeat="project python:projects[1]" class="p_noindent"> <a tal:attributes="href python:project.absolute_url+'/index.html'"><span tal:replace="python:project.WEB_title[0].encode('utf-8')"/></a></p>
-            <br/>
-		</tal:block>							
-            <p> 
-
-              &nbsp;</p>
-          </div>
-      
-
-</table>
-</tal:block>
-  </body>
-</html>
-<!-- to be done institutsbiliographie integrieren
-images
-
-published yes or no abfragen
--->
--- a/zpt/newBibliographyEntry.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:publications" />
-<tal:block metal:fill-slot="body" tal:define="mapping python:here.metadata.main.meta.bib.generateMappingForType(type=here.REQUEST['_docType'])">
-	<h3>Add a separate publication</h3>	
-	<p>Type: <b tal:content="python:here.REQUEST['_docType']"/></p>
-	<form action="" method="get">
-	<input type="hidden" name="-format" value="editPublications">
-	<input type="hidden" name="-table" value="bibliography">
-	<input type="hidden" name="_docType" tal:attributes="value here/REQUEST/_docType">
-	<input type="hidden" name="_addEntry" value="yes">
-	<table>
-		<tal:block tal:repeat="mapElement python:here.metadata.main.meta.bib.getFields()">
-		<tr tal:condition="python:mapping[mapElement][1]!=''">
-			<td tal:content="python:mapping[mapElement][1].encode('utf-8')"/>
-			
-			<td>
-			<input size="80" tal:attributes="name mapElement"/>
-		</tr>
-		</tal:block>
-	</table>
-	<input type="submit" value="add"/>
-  </form>
-  </tal:block>
-</body>
-</html>
-				
\ No newline at end of file
--- a/zpt/newBibliographyEntryDocType.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html metal:use-macro="here/mainEditFile/macros/page">
-<body>
-<tal:block metal:fill-slot="navsel" tal:define="global menusel string:publications" />
-<tal:block metal:fill-slot="body">
-<h2>Add a separate publication</h2>
-
-<form method="get" action="newBibliography">
-<span>Type of publication: </span>
-<span tal:replace="structure python:here.ZSQLOptionsFromCRList('_docType',here.getDocTypes())"/>
-<input type="submit" value="submit">
-</form>
-</tal:block>
-</body>
-</html>
--- a/zpt/no_project.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-<html metal:use-macro="here/main_template/macros/page">
-<body metal:fill-slot="body">
-<p>This page didn't exit at the selected time!</p>
-<p>There is an actual version at:</p>
-<p><a tal:attributes="href python:here.REQUEST['URL1']" Tal:content="python:here.REQUEST['URL1']"/></p>
-</body>
-</html>
--- a/zpt/previewFrame.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<html>
-<body>
-<h2>Preview</h2>
-<p>
-<a tal:attributes="href python:here.REQUEST['URL1']+'/edit?fromPreview=True'">Edit</a>
-<a tal:attributes="href python:here.REQUEST['URL1']+'/saveFromPreview'">Save and Publish</a>
-</p>
-<iframe tal:attributes="src python:here.REQUEST['URL1']+'/previewTemplate'" width="100%" height="100%"></iframe>
-</body>
-</html>
--- a/zpt/project/edit_publications.zpt	Sun May 05 12:33:53 2013 +0200
+++ b/zpt/project/edit_publications.zpt	Sun May 05 12:36:28 2013 +0200
@@ -26,7 +26,10 @@
 
   <h3>Add a project publication</h3>
   <form tal:attributes="action string:$root/addPublication" method="post">
-    <textarea name="text" rows="3" cols="80"></textarea>
+    <p><b>Bibliographical entry:</b><br/>
+      <textarea name="text" rows="2" cols="80"></textarea>
+    </p>
+    <p><b>Link:</b> <input name="link" size="60"/> (optional, can be link to MPIWG book page)</p>
     <p><input type="submit" value="submit"/></p>
   </form>
 
--- a/zpt/project/extendedBibliography_template.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html metal:define-macro="page">
-<metal:x metal:use-macro="here/main_template/macros/page">
-  <head>
-<tal:block metal:fill-slot="title">
-  <title tal:content="string:${here/getNumber} ${here/getProjectTitle}-Bibliography" />
-</tal:block>
-<tal:block metal:fill-slot="head"
-  tal:define="global proBaseUrl string:$root/${secmap/research}/projects;
-              global dept here/getDepartmentId;" />
-  </head>
-  <body>
-
-    <!-- middle column -->
-    <div class="center" metal:fill-slot="center">
-      <tal:block tal:replace="structure here/versionHeader" />
-      <tal:x tal:define="started here/getStartedAt" tal:condition="here/isArchivedProject">
-        <p>
-          (<span tal:condition="started" tal:content="string:$started-" /><span tal:condition="not:started">Completed:</span> <span
-            tal:content="here/getCompletedAt" />)
-        </p>
-      </tal:x>
-
-      <h1 tal:content="here/getProjectTitle">History of Scientific Objectivity, 18th-19th Cs</h1>
-      <p class="maintext_authors">
-        <tal:block tal:repeat="person here/getResponsibleScientistsList">
-          <a tal:omit-tag="python:not (person['username'] and here.isActiveMember(person['key']))"
-            tal:attributes="href string:$root/${secmap/staff}/members/${person/username}" tal:content="person/name"> Name of
-            responsible person</a>
-          <tal:block tal:condition="not:repeat/person/end">, </tal:block>
-        </tal:block>
-      </p>
-
-      <p class="maintext_more" tal:define="others here/getInvolvedScholars" tal:condition="others">
-        Other involved scholars: <span tal:content="structure others">Scholars </span>
-      </p>
-      <p class="maintext_more" tal:define="partners here/getCooperationPartners" tal:condition="partners">
-        Cooperation Partners: <span tal:content="structure partners">Partners</span>
-      </p>
-
-      <h2>Extended Bibliography</h2>
-
-      <tal:block
-        tal:define="
-             wgb python:here.getPublicationsOfTypes('workingGroupBook');
-             books python:here.getPublicationsOfTypes('book');
-             edited_books python:here.getPublicationsOfTypes('edited book');
-             articles python:here.getPublicationsOfTypes(['book','edited book'],neg=True);">
-
-        <tal:block tal:condition="wgb">
-          <h3>Working Group Books</h3>
-          <ul class="publicationlist">
-            <li tal:repeat="found3 wgb"><span tal:replace="structure python:here.decode(here.formatBibliography(found3))" /></li>
-          </ul>
-        </tal:block>
-        <tal:block tal:condition="books">
-          <h3>Books</h3>
-          <ul class="publicationlist">
-            <li tal:repeat="found3 books"><span tal:replace="structure python:here.decode(here.formatBibliography(found3))" />
-            </li>
-          </ul>
-        </tal:block>
-
-        <tal:block tal:condition="edited_books">
-          <h3>Edited Books</h3>
-          <ul class="publicationlist">
-            <li tal:repeat="found3 edited_books"><span
-              tal:replace="structure python:here.decode(here.formatBibliography(found3))" /></li>
-          </ul>
-        </tal:block>
-
-        <tal:block tal:condition="articles">
-          <h3>Articles and Chapters</h3>
-          <ul class="publicationlist">
-            <li tal:repeat="found3 articles"><span tal:replace="structure python:here.decode(here.formatBibliography(found3))" />
-            </li>
-          </ul>
-        </tal:block>
-      </tal:block>
-
-    </div>
-
-  </body>
-</metal:x>
-</html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/zpt/project/image/edit_basic.zpt	Sun May 05 12:36:28 2013 +0200
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html metal:use-macro="here/edit_MPIWGProject_main/macros/page">
+<head>
+</head>
+<body>
+<tal:block metal:fill-slot="navsel" tal:define="global menusel string:images" />
+<tal:block metal:fill-slot="body">
+  <h3>Edit Image</h3>
+  <form action="editImage" method="post" enctype="multipart/form-data">
+  <table>
+    <tr><th>Image</th><th>Caption</th></tr>
+    <tr>
+      <td><div tal:content="structure python:here.tag(scale=250.0 / here.height)"/></td>
+      <td><textarea tal:content="structure python:getattr(here,'caption','')" name="caption" rows="3" cols="60"></textarea></td>
+    </tr>
+    <tr>
+      <td><p>Upload new image:<input type="file" name="file" len="50"/></p></td>
+    </tr>
+  </table>
+  <p>
+  <input type="submit" value="submit"/>
+  </p>
+  </form>
+  
+  <h3><a href="../manageImages">Back to image list</a></h3>
+</tal:block>
+</body>
+</html>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/zpt/project/image/projectImageView.zpt	Sun May 05 12:36:28 2013 +0200
@@ -0,0 +1,20 @@
+<!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>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title tal:content="here/title_or_id"/>
+    <link rel="stylesheet" type="text/css" href="http://www.mpiwg-berlin.mpg.de/en/mpiwg.css" />
+    <link rel="shortcut icon" href="http://www.mpiwg-berlin.mpg.de/favicon.ico" />
+  </head>
+  <body>
+    <div id="wrapper">
+    <div class="content">
+      <div align="left" tal:define="imTag python:getattr(here,'tag',None)">
+        <img tal:condition="imTag" tal:replace="structure python:imTag()">
+      </div>
+      <p tal:content="structure python:getattr(here,'caption','')">J.-A.-D. Ingres: Mme Moitessier, 1856. l/Lw. 120 x 92,1 cm. London, National Gallery.</p>
+    </div>
+    </div>
+  </body>
+</html>
--- a/zpt/project/related_publication/edit_basic.zpt	Sun May 05 12:33:53 2013 +0200
+++ b/zpt/project/related_publication/edit_basic.zpt	Sun May 05 12:36:28 2013 +0200
@@ -9,11 +9,12 @@
   <h3>Edit a project publication</h3>
   
   <form action="editPublication" method="post" enctype="multipart/form-data">
-  <p>Bibliographical entry</p>
+  <p><b>Bibliographical entry:</b><br/>
     <textarea tal:content="structure python:getattr(here,'text','')" name="text" rows="3" cols="80"></textarea>
-    
-  <p>Link</p>
+  </p>
+  <p><b>Link:</b><br/>
   	<input size="100" tal:attributes="value python:getattr(here,'link','')" name="link">
+  </p>
   
   <h4>Image</h4>
   <p>Only images of MPIWG book pages are displayed. The link above has to be a link to a MPIWG book page.</p>
--- a/zpt/projectImageView.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-<!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>
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title tal:content="here/title_or_id"/>
-    <link rel="stylesheet" type="text/css" href="http://www.mpiwg-berlin.mpg.de/en/mpiwg.css" />
-    <link rel="shortcut icon" href="http://www.mpiwg-berlin.mpg.de/favicon.ico" />
-  </head>
-  <body>
-    <div id="wrapper">
-    <div class="content">
-      <div align="left" tal:define="imTag python:getattr(here,'tag',None)">
-        <img tal:condition="imTag" tal:replace="structure python:imTag()">
-      </div>
-      <p tal:content="structure python:getattr(here,'caption','')">J.-A.-D. Ingres: Mme Moitessier, 1856. l/Lw. 120 x 92,1 cm. London, National Gallery.</p>
-    </div>
-    </div>
-  </body>
-</html>
--- a/zpt/project_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-        "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
-<html metal:use-macro="here/main_template/macros/page">
-<head>
-	<title> Max Planck Institute for the History of Science </title> 
-</head>
-<body>
-<tal:block metal:fill-slot="body">
-      <tal:block tal:replace="structure here/versionHeader"/>
-      <h1 tal:content="structure python:here.getContent('WEB_project_header')">History of Scientific Objectivity, 18th-19th Cs</h1>
-     
-      <p><i tal:content="structure python:here.getUrlFromPerson(here.getContent('xdata_01'))">Names of responsible persons </i></p>
-      <p tal:condition="not:python:here.getContent('xdata_08')==''">Other involved scholars: <i tal:content="structure python:here.getUrlFromPerson(here.getContent('xdata_08'))">Scholars </i></p>
-      <p tal:condition="not:python:here.getContent('xdata_12')==''">Cooperation Partners: <i tal:content="structure python:here.getContent('xdata_12')">Partners </i></p>
-      <br/>
-
-      <div class="indent" tal:content="structure python:here.getContent('WEB_project_description')">
-	<p>
-		In the middle decades of the nineteenth century objectivity established itself as a (if not the) cardinal epistemic virtue in the sciences. From astronomy to paleontology to physiology, new ways of making images, assessing error, and designing experiments were enlisted in the service of objectivity. 
-	</p>
-	<p>
-		This triumph of objectivity over rival epistemic virtues like truth and certainty is all the more remarkable because objectivity had emerged only decades before. Only circa 1850 did the modern sense of "objectivity" make its way into dictionaries in the major European languages. The ideals and practices associated with objectivity in the sciences emerge at roughly the same time. 
-	</p>
-	<p>
-		The story of how objectivity became so central to science is one of actions as well as words. Objectivity changed how science was done in concrete, specific ways. Photography, self-registering instruments, the method of least squares, and machines for measuring the personal equations of observers were all examples of these new scientific practices of objectivity 
-	</p>
-      </div>
-
-      <tal:block tal:define="contexts python:here.getContexts(parents=here.getContent('xdata_05'),depth=1)" tal:condition="contexts">
-	<h2>This activity is part of</h2>
-	<ul type="none">
-	  <li tal:repeat="context contexts">
-	    <a tal:content="python:context[0].getContent('WEB_title')" tal:attributes="href python:context[0].absolute_url()+'/index.html'"/>
-	  </li>
-	</ul>
-      </tal:block>
-
-      <tal:block tal:define="contexts python:here.getContexts(childs=here.getContent('xdata_05'),depth=1)" tal:condition="contexts">
-	<h2>Research activities covered by this activity</h2>
-	<ul type="none">
-	  <li tal:repeat="context contexts">
-	    <a tal:content="python:context[0].getContent('WEB_title')" tal:attributes="href python:context[0].absolute_url()+'/index_html'"/>
-	  </li>
-	</ul>
-      </tal:block>
-
-      <tal:block tal:condition="not:python:here.getContent('xdata_11')==''">
-	<h2>Related items at the digital research library</h2>
-	<p tal:content="structure python:here.getContent('xdata_11')">
-				Item 1 
-				<br>
-				Item 2 
-				<br>
-				Item 3 
-				<br>
-	</p>
-      </tal:block>
-
-      <tal:block tal:condition="not:python:here.getContent('WEB_related_pub')==''">
-	<h2> Related Publications</h2> 
-
-	<p tal:define="pub python:here.getContent('WEB_related_pub')" tal:content="structure pub">
-		"Die Kultur der wissenschaftlichen Objektivit&auml;t," in: Michael Hagner, ed., Ansichten der Wissenschaftsgeschichte (Frankfurt am Main: Fischer Taschenbuchverlag GmbH, 2001): 137-158. 
-		<br>
-		(with Peter Galison), "The Image of Objectivity," Representations no. 40 (Fall 1992): 81-128. Translated into German (2002) 
-		<br>
-		"Objectivity and the Escape from Perspective," Social Studies of Science 22(1992): 597-618 
-	</p>
-      </tal:block>
-
-      <tal:block tal:condition="not:python:here.getContent('xdata_13')==''">
-	<h2>Funding Institutions</h2>
-	  <p tal:content="structure python:here.getContent('xdata_13')">Funding </p>
-      </tal:block>
-
-</tal:block>
-</body>
-</html>
--- a/zpt/publications_full_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-<html metal:use-macro="here/main_template/macros/page">
-<head>
-<title tal:content="template/title">The title</title>
-</head>
-<body>
-
-<tal:block metal:fill-slot="body" tal:define="found python:here.ZSQLFind()[0]">
-<table>
-	  <td valign="top" width="610"> 
-        <div id="Photo" style="position:absolute; width:200px; height:265px; z-index:2; left:483px; top:61px; visibility:visible"> 
-       [FMP-if: image .neq.] 
-               <b><img src="http://www.mpiwg-berlin.mpg.de/[FMP-Image: image]"></b> 
-      [FMP-else]&nbsp;[/FMP-if] 
-       </div>
-      <div id="NameTitle" style="position:absolute; width:323px; height:37px; z-index:3; left: 161px; top: 63px; visibility: visible"> 
-          <h3><span tal:replace="found/title"/> <span tal:replace="found/vorname"/> <span tal:replace="found/name"/></h3>
-      </div>
-        <div id="Position" style="position:absolute; width:323px; height:30px; z-index:5; left: 161px; top: 115px; visibility: visible"> 
-          <h4><span tal:replace="found/position"/></h4>
-      </div>
-        <div id="StayAtMpiwg" style="position:absolute; width:323px; height:32px; z-index:6; left: 161px; top: 158px; visibility: visible"> 
-          <p>Residence:<br>
-          <span tal:replace="found/stay_at_mpiwg"/></p>
-      </div>
-        <div id="Adress" style="position:absolute; width:323px; height:90px; z-index:4; left: 161px; top: 210px"> 
-          <p>Max Planck Institute for the History of Science<br>
-          Wilhelmstra&szlig;e 44<br>
-          D - 10117 Berlin<br>
-          Germany</p>
-	  <p class="p_indent"> <img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0"> 
-              <a tal:attributes="href python:'members/'+found.username"> 
-              main </a> </p>
-        </div>
-	 
-          
-            
-<!-- middle right (PIM) -->
-        <div id="ContactsImg" style="position:absolute; width:355px; height:114px; z-index:1; left: 286px; top: 329px; visibility: visible;"> 
-        <table width="400" border="0">
-           
-          <div id="Conferences" style="position:relative; width:581px; z-index:15;"> 
-            <img src="images/en/Fieldnames72_NBPublications.jpg" width="211" height="33"> 
-	    <p/>
-	    <tal:block tal:repeat="found3 python:here.ZSQLInlineSearch(storename='search3',_table='publications',id_main=found.id,_sort='priority')">
-            <p class="p_indent"> <img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0"> 
-	      <span tal:replace="structure python:here.formatBibliography(here,found3)"/>
-            <p> 
-	    </tal:block>
-	   
-            <!--<p class="p_indent"> <a href="institutsbiblio/FMPro?-db=personal-www&amp;-max=1&amp;-Lay=ALL&amp;-format=search_inst_bib.html&amp;ID=[FMP-Field: ID]&amp;-Error=null.html&amp;-find" target="_new"> 
-              search the institute's bibliography </a> -->
-              <!-- Please do not delete -->
-              &nbsp; 
-            <p> 
-              <!-- Please do not delete -->
-              &nbsp;</p>
-            </div>
-	 
-	
-</table>
-</tal:block>
-  </body>
-</html>
-<!-- to be done institutsbiliographie integrieren
-images
-weitere seiten fuer mehr als 5 treffer (publ./talks/teaching)
-bilbiography einfuegen
-published yes or no abfragen
--->
--- a/zpt/talks_full_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-<html metal:use-macro="here/main_template/macros/page">
-<head>
-<title tal:content="template/title">The title</title>
-</head>
-<body>
-
-<tal:block metal:fill-slot="body" tal:define="found python:here.ZSQLFind()[0]">
-<table>
-	  <td valign="top" width="610"> 
-        <div id="Photo" style="position:absolute; width:200px; height:265px; z-index:2; left:483px; top:61px; visibility:visible"> 
-       [FMP-if: image .neq.] 
-               <b><img src="http://www.mpiwg-berlin.mpg.de/[FMP-Image: image]"></b> 
-      [FMP-else]&nbsp;[/FMP-if] 
-       </div>
-      <div id="NameTitle" style="position:absolute; width:323px; height:37px; z-index:3; left: 161px; top: 63px; visibility: visible"> 
-          <h3><span tal:replace="found/title"/> <span tal:replace="found/vorname"/> <span tal:replace="found/name"/></h3>
-      </div>
-        <div id="Position" style="position:absolute; width:323px; height:30px; z-index:5; left: 161px; top: 115px; visibility: visible"> 
-          <h4><span tal:replace="found/position"/></h4>
-      </div>
-        <div id="StayAtMpiwg" style="position:absolute; width:323px; height:32px; z-index:6; left: 161px; top: 158px; visibility: visible"> 
-          <p>Residence:<br>
-          <span tal:replace="found/stay_at_mpiwg"/></p>
-      </div>
-        <div id="Adress" style="position:absolute; width:323px; height:90px; z-index:4; left: 161px; top: 210px"> 
-          <p>Max Planck Institute for the History of Science<br>
-          Wilhelmstra&szlig;e 44<br>
-          D - 10117 Berlin<br>
-          Germany</p>
-	  <p class="p_indent"> <img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0"> 
-              <a tal:attributes="href python:'members/'+found.username"> 
-              main </a> </p>
-        </div>
-	 
-          
-            
-<!-- middle right (PIM) -->
-        <div id="ContactsImg" style="position:absolute; width:355px; height:114px; z-index:1; left: 286px; top: 329px; visibility: visible;"> 
-        <table width="400" border="0">
-           <tal:block tal:define="founds4 python:here.ZSQLInlineSearch(storename='search4',_table='talks',id_main=found.id,_sort='priority')">
-        
-	  <div tal:condition="founds4" id="Publications" style="position:relative; width:581px; z-index:16;"> 
-            <img src="images/en/Fieldnames72_NBTalksPres.jpg" width="211" height="33"> 
-            <p> </p>
-	    <tal:block tal:repeat="found4 founds4">
-            
-            <p tal:condition="not:python:here.ZSQLisEmpty(found4.link)" class="p_indent"> <a tal:attributes="href found4/link"><img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0">&nbsp; 
-              <span tal:replace="found4/date"/> &#150; <span tal:replace="found4/place"/> &#150; <span tal:replace="found4/title"/>
-              </a></p>
-
-            <p tal:condition="python:here.ZSQLisEmpty(found4.link)" class="p_indent"><img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0">&nbsp; 
-	      <span tal:replace="found4/date"/> &#150; <span tal:replace="found4/place"/> &#150; <span tal:replace="found4/title"/>
-            </p>
-            </tal:block>
-            
-            <p> 
-              <!-- Please do not delete -->
-              &nbsp;</p>
-            </div>
-	 </tal:block>
-	
-</table>
-</tal:block>
-  </body>
-</html>
-<!-- to be done institutsbiliographie integrieren
-images
-weitere seiten fuer mehr als 5 treffer (publ./talks/teaching)
-bilbiography einfuegen
-published yes or no abfragen
--->
--- a/zpt/teaching_full_main.zpt	Sun May 05 12:33:53 2013 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-<html metal:use-macro="here/main_template/macros/page">
-<head>
-<title tal:content="template/title">The title</title>
-</head>
-<body>
-
-<tal:block metal:fill-slot="body" tal:define="found python:here.ZSQLFind()[0]">
-<table>
-	  <td valign="top" width="610"> 
-        <div id="Photo" style="position:absolute; width:200px; height:265px; z-index:2; left:483px; top:61px; visibility:visible"> 
-       [FMP-if: image .neq.] 
-               <b><img src="http://www.mpiwg-berlin.mpg.de/[FMP-Image: image]"></b> 
-      [FMP-else]&nbsp;[/FMP-if] 
-       </div>
-      <div id="NameTitle" style="position:absolute; width:323px; height:37px; z-index:3; left: 161px; top: 63px; visibility: visible"> 
-          <h3><span tal:replace="found/title"/> <span tal:replace="found/vorname"/> <span tal:replace="found/name"/></h3>
-      </div>
-        <div id="Position" style="position:absolute; width:323px; height:30px; z-index:5; left: 161px; top: 115px; visibility: visible"> 
-          <h4><span tal:replace="found/position"/></h4>
-      </div>
-        <div id="StayAtMpiwg" style="position:absolute; width:323px; height:32px; z-index:6; left: 161px; top: 158px; visibility: visible"> 
-          <p>Residence:<br>
-          <span tal:replace="found/stay_at_mpiwg"/></p>
-      </div>
-        <div id="Adress" style="position:absolute; width:323px; height:90px; z-index:4; left: 161px; top: 210px"> 
-          <p>Max Planck Institute for the History of Science<br>
-          Wilhelmstra&szlig;e 44<br>
-          D - 10117 Berlin<br>
-          Germany</p>
-	  <p class="p_indent"> <img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0"> 
-              <a tal:attributes="href python:'members/'+found.username"> 
-              main </a> </p>
-        </div>
-	 
-          
-            
-<!-- middle right (PIM) -->
-        <div id="ContactsImg" style="position:absolute; width:355px; height:114px; z-index:1; left: 286px; top: 329px; visibility: visible;"> 
-        <table width="400" border="0">
-        
-	  <tal:block tal:define="founds5 python:here.ZSQLInlineSearch(storename='search5',_table='teaching',id_main=found.id,_max=5,_sort='priority')">
-         
-          <div tal:condition="founds5" id="Teaching" style="position:relative; width:581px; z-index:18;"> 
-            <img src="images/en/Fieldnames72_NBTeaching.jpg" width="211" height="33"> 
-            <p> </p>
-	    <tal:block tal:repeat="found5 founds5">
-            
-              <p tal:condition="not:python:here.ZSQLisEmpty(found5.link)" class="p_indent"> <a tal:attributes="href found4/link"><img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0">&nbsp; 
-		  <span tal:replace="found5/date"/> &#150; <span tal:replace="found5/place"/> &#150; <span tal:replace="found5/title"/>
-              </a></p>
-
-              <p  tal:condition="python:here.ZSQLisEmpty(found5.link)" class="p_indent"><img src="bilder/RightArrowSmall.jpg" width="17" height="9" border="0">&nbsp; 
-	      <span tal:replace="found5/date"/> &#150; <span tal:replace="found5/place"/> &#150; <span tal:replace="found5/title"/>
-               </p>
-	    </tal:block>
-</div>
-	</tal:block>
-</table>
-</tal:block>
-  </body>
-</html>
-
--- a/zpt/www/main_template.zpt	Sun May 05 12:33:53 2013 +0200
+++ b/zpt/www/main_template.zpt	Sun May 05 12:36:28 2013 +0200
@@ -26,6 +26,8 @@
 <title metal:define-slot="title">Max Planck Institute for the History of Science</title>
 <link rel="stylesheet" type="text/css" tal:attributes="href string:$root/mpiwg_css" />
 <link rel="shortcut icon" href="http://www.mpiwg-berlin.mpg.de/favicon.ico" />
+<script type="text/javascript" tal:attributes="src string:$root/jquery_js"></script>
+<script type="text/javascript" tal:attributes="src string:$root/mpiwg_js"></script>
 <tal:block metal:define-slot="head" />
 </head>
 <body>