← Back to team overview

zorba-coders team mailing list archive

[Merge] lp:~zorba-coders/zorba/new_xqdoc_sorin into lp:zorba

 

Sorin Marian Nasoi has proposed merging lp:~zorba-coders/zorba/new_xqdoc_sorin into lp:zorba.

Commit message:
New and improved XQDoc.
Each module is completely decoupled from one to another and therefore more reusable. This will enable more people like 28msec to reuse this components and improve their maturity.
As an example, the HTML generation, the navigation generation, and the batch processing are completely decoupled.
Moreover, the schema and example resolution now is more modular for the Zorba and 28msec website.

Requested reviews:
  Sorin Marian Nasoi (sorin.marian.nasoi)
Related bugs:
  Bug #928454 in Zorba: "de-coupling the XQDoc XHTMLS and Zorba CSS"
  https://bugs.launchpad.net/zorba/+bug/928454
  Bug #1018179 in Zorba: "Integrate new XQDoc modules in the make doc command"
  https://bugs.launchpad.net/zorba/+bug/1018179
  Bug #1018183 in Zorba: "XQDoc link normalization"
  https://bugs.launchpad.net/zorba/+bug/1018183

For more details, see:
https://code.launchpad.net/~zorba-coders/zorba/new_xqdoc_sorin/+merge/169654
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~zorba-coders/zorba/new_xqdoc_sorin/+merge/169654
Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'cmake_modules/ZorbaModule.cmake'
--- cmake_modules/ZorbaModule.cmake	2013-05-28 22:22:59 +0000
+++ cmake_modules/ZorbaModule.cmake	2013-06-15 18:04:29 +0000
@@ -948,7 +948,6 @@
 #if the external module is not compiled in zorba, it will set the variables to point to executables and files in the installed zorba
 #if you want to use the files from your local zorba build, you have to set the variables manually
 #the variables are:
-# ZORBA_XQDOC_XML_XQ  - points to file xqdoc-xml.xq
 # ZORBA_XQDOC_HTML_XQ - points to file xqdoc-html.xq
 # ZORBA_XQDOC_OUTPUT_DIR - points to the output dir for xml and html
 # ZORBA_XHTML_REQUISITES_PATH - points to the dir containing the html requisites (images, lib, styles, templates dirs)
@@ -956,33 +955,11 @@
 MACRO (ADD_XQDOC_TARGETS)
   MESSAGE(STATUS "ADD_XQDOC_TARGETS")
 
-  SET(ZORBA_XQDOC_XML_XQ
-    ${CMAKE_BINARY_DIR}/xqdoc/generator/xqdoc-xml.xq
-      CACHE PATH
-      "The XQDoc XML generator for external modules.")
   SET(ZORBA_XQDOC_HTML_XQ
     ${CMAKE_BINARY_DIR}/xqdoc/generator/xqdoc-html.xq
       CACHE PATH
       "The XQDoc XHTML generator for external modules.")
 
-  ADD_CUSTOM_TARGET(xqdoc-xml
-    ${Zorba_EXE}
-      --omit-xml-declaration
-      -f
-      -q "${ZORBA_XQDOC_XML_XQ}"
-      -e "\"zorbaManifestPath:=${zorba_manifest_file}\""
-      -e "\"xqdocBuildPath:=${CMAKE_BINARY_DIR}/doc/zorba/xqdoc\""
-      DEPENDS ${LOCAL_MODULES} ${zorba_manifest_file}
-      COMMENT "Building XQDoc XML documentation ..."
-  )
-  MESSAGE(STATUS "  added target xqdoc-xml")
-  ADD_DEPENDENCIES(xqdoc-xml zorbacmd check_core_uris)
-
-  SET_TARGET_PROPERTIES (xqdoc-xml PROPERTIES
-    EXCLUDE_FROM_DEFAULT_BUILD 1
-    FOLDER "Docs"
-  )
-
   SET(ZORBA_XHTML_REQUISITES_PATH
       ${CMAKE_SOURCE_DIR}/doc/zorba/xqdoc
       CACHE PATH
@@ -1009,7 +986,7 @@
       ${Zorba_EXE}
       --omit-xml-declaration
       -f
-      -q "${CMAKE_SOURCE_DIR}/test/rbkt/Queries/zorba/xqdoc/make_xqdoc.xqi"
+      -q "${ZORBA_XQDOC_HTML_XQ}"
       -e "zorbaManifestPath:=${zorba_manifest_file}"
       -e "xhtmlRequisitesPath:=${ZORBA_XHTML_REQUISITES_PATH}"
       -e "xqdocBuildPath:=${CMAKE_BINARY_DIR}/test/rbkt/QueryResults/zorba/xqdoc"

=== modified file 'doc/zorba/xqdoc/CMakeLists.txt'
--- doc/zorba/xqdoc/CMakeLists.txt	2013-02-07 17:24:36 +0000
+++ doc/zorba/xqdoc/CMakeLists.txt	2013-06-15 18:04:29 +0000
@@ -21,23 +21,24 @@
         COMPONENT "doc"
         PATTERN "*.svn" EXCLUDE
         )
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/js
         DESTINATION share/zorba-${ZORBA_MAJOR_NUMBER}.${ZORBA_MINOR_NUMBER}.${ZORBA_PATCH_NUMBER}/xqdoc/requisites
         COMPONENT "doc"
         PATTERN "*.svn" EXCLUDE
         )
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/styles
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/css
         DESTINATION share/zorba-${ZORBA_MAJOR_NUMBER}.${ZORBA_MINOR_NUMBER}.${ZORBA_PATCH_NUMBER}/xqdoc/requisites 
         COMPONENT "doc"
         PATTERN "*.svn" EXCLUDE
         )
-INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/templates
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ace
         DESTINATION share/zorba-${ZORBA_MAJOR_NUMBER}.${ZORBA_MINOR_NUMBER}.${ZORBA_PATCH_NUMBER}/xqdoc/requisites  
         COMPONENT "doc"
         PATTERN "*.svn" EXCLUDE
         )
 INSTALL(FILES src/xqdoc-html.xq
-              src/xqdoc-xml.xq
+              src/xqdoc-html.xqy
+              template.xml
         DESTINATION share/zorba-${ZORBA_MAJOR_NUMBER}.${ZORBA_MINOR_NUMBER}.${ZORBA_PATCH_NUMBER}/xqdoc/generator/ 
         COMPONENT "doc"
         )
@@ -45,8 +46,8 @@
 CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/src/xqdoc-html.xq
                 ${CMAKE_CURRENT_BINARY_DIR}/../../../xqdoc/generator/xqdoc-html.xq COPYONLY)
 
-CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/src/xqdoc-xml.xq
-                ${CMAKE_CURRENT_BINARY_DIR}/../../../xqdoc/generator/xqdoc-xml.xq COPYONLY)
+CONFIGURE_FILE (${CMAKE_CURRENT_SOURCE_DIR}/src/xqdoc-html.xqy
+                ${CMAKE_CURRENT_BINARY_DIR}/../../../xqdoc/generator/xqdoc-html.xqy COPYONLY)
 
 # Add the modules_svg command for which a working zorba cmd is required.
 # We need to add this target in all cases because ADD_XQDOC_TARGETS() in
@@ -54,24 +55,24 @@
 # on the non-core Graphviz module. Therefore, we check to see if Graphviz
 # is available, and if not, add a dummy target with the same name.
 IS_ZORBA_MODULE_DECLARED(_graphviz_avail
-  "http://www.zorba-xquery.com/modules/image/graphviz";)
+ "http://www.zorba-xquery.com/modules/image/graphviz";)
 IF (_graphviz_avail)
-  ADD_CUSTOM_TARGET(modules_svg
-    ${ZORBA_EXE}
-    --omit-xml-declaration
-    -f
-    -q "\"${CMAKE_CURRENT_SOURCE_DIR}/src/generate-module-dependencies-svg.xq\""
-    -e "\"ZorbaBuildFolder:=${CMAKE_CURRENT_BINARY_DIR}/../../../\""
-    -o "\"${CMAKE_CURRENT_SOURCE_DIR}/images/modules_new.svg\""
-    COMMENT "Building module dependencies SVG..."
-    )
+ ADD_CUSTOM_TARGET(modules_svg
+ ${ZORBA_EXE}
+ --omit-xml-declaration
+ -f
+ -q "\"${CMAKE_CURRENT_SOURCE_DIR}/src/generate-module-dependencies-svg.xq\""
+ -e "\"ZorbaBuildFolder:=${CMAKE_CURRENT_BINARY_DIR}/../../../\""
+ -o "\"${CMAKE_CURRENT_SOURCE_DIR}/images/modules_new.svg\""
+ COMMENT "Building module dependencies SVG..."
+ )
 ELSE (_graphviz_avail)
-  ADD_CUSTOM_TARGET(modules_svg
-    COMMENT "Not building modules dependencies SVG since Graphviz module not available")
+ ADD_CUSTOM_TARGET(modules_svg
+ COMMENT "Not building modules dependencies SVG since Graphviz module not available")
 ENDIF (_graphviz_avail)
-  SET_TARGET_PROPERTIES (modules_svg PROPERTIES
-    EXCLUDE_FROM_DEFAULT_BUILD 1
-    FOLDER "Docs"
-    )
+ SET_TARGET_PROPERTIES (modules_svg PROPERTIES
+ EXCLUDE_FROM_DEFAULT_BUILD 1
+ FOLDER "Docs"
+ )
 
 ENDIF(NOT ZORBA_WITH_FILE_ACCESS)

=== added directory 'doc/zorba/xqdoc/css'
=== added file 'doc/zorba/xqdoc/css/all.css'
--- doc/zorba/xqdoc/css/all.css	1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/css/all.css	2013-06-15 18:04:29 +0000
@@ -0,0 +1,614 @@
+html, body, div, span, applet, object, iframe,
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+a, abbr, acronym, address, big, cite, code,
+del, dfn, em, img, ins, kbd, q, s, samp,
+small, strike, strong, sub, sup, tt, var,
+b, u, i, center,
+dl, dt, dd, ol, ul, li,
+fieldset, form, label, legend,
+table, caption, tbody, tfoot, thead, tr, th, td,
+article, aside, canvas, details, embed, 
+figure, figcaption, footer, header, hgroup, 
+menu, nav, output, ruby, section, summary,
+time, mark, audio, video{
+	margin:0;
+	padding:0;
+	border:0;
+	font-size:100%;
+	font: inherit;
+	vertical-align:baseline;
+}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure, 
+footer, header, hgroup, menu, nav, section {
+	display: block;
+}
+ol, ul {list-style:none;}
+blockquote, q{quotes:none;}
+blockquote:before, blockquote:after,
+q:before, q:after{
+	content:'';
+	content:none;
+}
+table{
+	border-collapse:collapse;
+	border-spacing:0;
+}
+html{background:url(../images/bg-page.gif);}
+body{
+	margin:0;
+	color:#909ea9;
+	font:14px/28px Helvetica, Arial, sans-serif;
+	background:url(../images/bg-body.png) repeat-x;
+	min-width:1002px;
+}
+img{border-style:none;}
+a{
+	text-decoration:underline;
+	color:#31b2ee;
+}
+a:hover{text-decoration:none;}
+#wrapper{
+	width:1002px;
+	margin:0 auto;
+	overflow:hidden;
+}
+#header{
+	overflow:hidden;
+	padding:22px 10px 24px 17px;
+}
+.logo{
+	background:url(../images/logo.png) no-repeat;
+	text-indent:-9999px;
+	overflow:hidden;
+	width:151px;
+	height:51px;
+	float:left;
+	margin:-6px 0 0;
+}
+.logo a{
+	height:100%;
+	display:block;
+}
+#nav{
+	float:right;
+	margin:0 38px 0 0;
+	font-weight:bold;
+}
+#nav li{
+	float:left;
+	padding:0 19px 0 21px;
+}
+#nav a{
+	color:#7e8ea6;
+	padding:24px 0 0;
+	text-decoration:none;
+}
+#nav .documents,
+#nav .demo,
+#nav .modules,
+#nav .tools,
+#nav .blog,
+#nav .code,
+#nav .download{
+	background:url(../images/bg-nav.png) no-repeat 50% 0;
+	display:block;
+	text-align:center;
+}
+#nav .demo{background-position:50% -183px;}
+#nav .modules{background-position:50% -442px;}
+#nav .tools{background-position:50% -973px;}
+#nav .blog{background-position:50% -1239px;}
+#nav .code{background-position:50% -708px;}
+#nav .download{background-position:50% -1432px;}
+#nav .active a,
+#nav .documents:hover{background-position:50% -96px;}
+#nav .demo:hover{background-position:50% -308px;}
+#nav .modules:hover{background-position:50% -567px;}
+#nav .tools:hover{background-position:50% -1091px;}
+#nav .blog:hover{background-position:50% -1345px;}
+#nav .code:hover{background-position:50% -840px;}
+#nav .download:hover{background-position:50% -1547px;}
+#nav .active a,
+#nav a:hover{
+	color:#324c73;
+	text-decoration:none;
+}
+#main{
+	padding:7px 0 0;
+	width:975px;
+	margin:0 auto;
+	background:url(../images/bg-main.png) no-repeat;
+}
+.main-holder{
+	background:url(../images/bg-main.png) no-repeat -1950px 100%;
+	padding:0 0 11px;
+}
+.main-frame{
+	background:url(../images/bg-main.png) repeat-y -975px 0;
+	padding:0 30px 57px;
+	width:915px;
+}
+.download-block .frame:after,
+.main-frame:after{
+	content:'';
+	display:block;
+	clear:both;
+}
+.slider{
+	overflow:hidden;
+	position:relative;
+	margin:0 -43px;
+	width:1002px;
+}
+.slider .frame{
+	width:830px;
+	overflow:hidden;
+	position:relative;
+	margin:0 auto;
+	padding:68px 70px 50px 60px;
+}
+.slider .mask{
+	width:830px;
+	overflow:hidden;
+	position:relative;
+}
+.slider ul{
+	position:relative;
+	width:99999px;
+	overflow:hidden;
+	margin:0;
+	padding:0;
+	float:left;
+}
+.slider li{
+	float:left;
+	width:830px;
+}
+.slider .link-prev,
+.slider .link-next{
+	background:url(../images/bg-prev-next.gif) no-repeat;
+	height:30px;
+	overflow:hidden;
+	text-decoration:none;
+	font-size:0;
+	line-height:0;
+	text-indent:-9999px;
+	width:30px;
+	z-index:150;
+	position:absolute;
+	top:50%;
+	left:0;
+	margin:-21px 0 0;
+}
+.slider .link-next{
+	background-position:0 -60px;
+	right:0;
+	left:auto;
+}
+.slider img{float:right;}
+.slide-post{
+	float:left;
+	width:352px;
+	padding:1px 60px 0 0;
+	color:#909ea9;
+}
+#main h2{
+	color:#2f3742;
+	font-size:18px;
+	line-height:28px;
+	margin:0 0 20px 2px;
+	font-weight:bold;
+	word-spacing:3px;
+  background: white url(../images/separator2.gif) repeat-x;
+  background-position: bottom;
+}
+#main .slide-post h2{
+	font-size:22px;
+	line-height:30px;
+	margin:0 0 10px;
+}
+.slide-post p{margin:0;}
+.switcher{
+	background:url(../images/bg-switcher.png) no-repeat;
+	margin:0 -30px;
+	padding:20px 40px;
+	text-align:center;
+	overflow:hidden;
+	height:13px;
+}
+.switcher ul{
+	display:inline-block;
+	vertical-align:top;
+	margin:0 40px 0 0;
+}
+*+html .switcher ul{display:inline;}
+.switcher li{
+	float:left;
+	padding:0 5px 0 4px;
+	list-style:none;
+}
+.switcher a{
+	width:12px;
+	height:13px;
+	display:block;
+	color:#000;
+	text-indent:-9999px;
+	overflow:hidden;
+	background:url(../images/btn-switcher.gif) no-repeat;
+}
+.switcher .active a,
+.switcher a:hover{background-position:0 -23px}
+.boxes{
+	width:915px;
+	position:relative;
+}
+.boxes:after{
+	content:'';
	display:block;
	clear:both;
+}
+.boxes .holder{
+	width:1051px;
+	margin:0 -44px 0 -10px;
+	overflow:hidden;
+	position:relative;
+	padding:21px 0 40px;
+}
+.boxes .box{
+	display:inline-block;
+	vertical-align:top;
+	width:430px;
+	padding:0 55px 45px 10px;
+}
+*+html .boxes .box{
+	display:inline;
+	padding-right:58px;
+}
+#main .box h2{
+	font-size:22px;
+	line-height:30px;
+	padding:25px 0 16px 0;
+	margin:0 0 10px 0;
+	position:relative;
+}
+#main .box .runs,
+#main .box .fun,
+#main .box .tools,
+#main .box .store,
+#main .box .library,
+#main .box .flavours{
+	background:url(../images/bg-heading.gif) no-repeat;
+	padding:28px 0 18px 88px;
+	margin:0 0 6px -7px;
+	position:relative;
+}
+#main .box .library{background:url(../images/bg-heading.gif) no-repeat 0 -191px;}
+#main .box .store{
+	background:url(../images/bg-heading.gif) no-repeat 0 -393px;
+	padding:28px 0 18px 86px;
+	margin:0 0 6px -6px;
+}
+#main .box .runs{background:url(../images/bg-heading.gif) no-repeat 0 -637px;}
+#main .box .tools{
+	background:url(../images/bg-heading.gif) no-repeat 0 -868px;
+	margin:0 0 10px -5px;
+}
+#main .box .fun{background:url(../images/bg-heading.gif) no-repeat 0 -1104px;}
+.download-block{
+	background:url(../images/bg-download.gif) no-repeat;
+	margin:0 0 0 26px;
+	width:864px;
+	padding:7px 0 0;
+}
+.download-block .holder{
+	background:url(../images/bg-download.gif) no-repeat -1728px 100%;
+	padding:0 0 7px;
+}
+.download-block .frame{
+	background:url(../images/bg-download.gif) repeat-y -864px 0;
+	padding:15px 28px 3px 152px;
+	width:684px;
+	position:relative;
+}
+.text-free{
+	background:url(../images/text-free.png) no-repeat;
+	width:162px;
+	height:139px;
+	position:absolute;
+	top:-39px;
+	left:-29px;
+	text-indent:-9999px;
+	overflow:hidden;
+}
+.download-block h3{
+	color:#2f3742;
+	font-weight:bold;
+	font-size:14px;
+	line-height:16px;
+	margin:0 0 2px;
+}
+.download-block .text{
+	width:530px;
+	float:left;
+	padding:0 23px 0 0;
+}
+.download-block .title{float:left;}
+.version{
+	color:#68778c;
+	float:right;
+	padding:5px 0 0;
+	font-weight:bold;
+}
+.download-block .download{
+	background:url(../images/btn-download.gif) no-repeat;
+	width:67px;
+	height:20px;
+	color:#fff;
+	font-weight:bold;
+	font-size:12px;
+	line-height:15px;
+	float:right;
+	margin:6px 0 0;
+	padding:6px 2px 3px 31px;
+	text-decoration:none;
+}
+.download:hover{text-decoration:none;}
+.system-links{
+	font-size:16px;
+	overflow:hidden;
+	padding:38px 51px 39px 35px;
+}
+.system-links .text{
+	float:left;
+	width:360px;
+	padding:12px 0 10px;
+}
+.system-links h1{
+	color:#2f3742;
+	font-size:22px;
+	font-weight:bold;
+	line-height:30px;
+	margin:0 0 10px;
+	word-spacing:3px;
+}
+.system-links ul{
+	font-size:18px;
+	line-height:26px;
+	float:right;
+	font-weight:bold;
+}
+.system-links li{
+	float:left;
+	margin:0 0 0 47px;
+}
+.system-links ul a{
+	color:#fff;
+	display:block;
+	text-align:center;
+	width:146px;
+	height:85px;
+	padding:62px 0 0;
+	text-decoration:none;
+}
+.windows-link{background:url(../images/btn-systems.gif) no-repeat;}
+.linux-link{background:url(../images/btn-systems.gif) no-repeat -193px 0;}
+.windows-link strong{
+	color:#226f8b;
+	font-size:14px;
+	display:block;
+}
+.linux-link strong{
+	color:#8b3d22;
+	font-size:14px;
+	display:block;
+}
+.installer-list{
+	font-size:18px;
+	color:#2f3742;
+	font-weight:bold;
+	margin:0 0 -13px;
+}
+.installer-list li{
+	padding:42px 30px 50px 26px;
+	overflow:hidden;
+	background:url(../images/separator1.gif) repeat-x;
+}
+.installer-list img{
+	float:left;
+	margin:0 58px 0 0;
+}
+.installer-list .text{
+	overflow:hidden;
+	padding:18px 0 0;
+}
+.blocks-holder{
+	font-size:16px;
+	color:#6e7c88;
+	padding:0 34px 33px 24px;
+}
+.block{
+	padding:7px 0 0;
+	width:858px;
+	margin:0 auto 21px;
+	background:url(../images/bg-block.gif) no-repeat;
+}
+.block code{font:16px/28px Helvetica, Arial, sans-serif;}
+.block .holder{
+	background:url(../images/bg-block.gif) no-repeat -858px 100%;
+	padding:0 0 6px;
+}
+.block .frame{
+	background:#f9fafc;
+	border:1px solid #e9edf2;
+	border-width:0 1px;
+	padding:5px 22px 6px;
+	overflow:hidden;
+}
+.blocks-holder .add-info{
+	display:block;
+	margin:-9px 0 0;
+}
+.info-block{
+	background:url(../images/separator1.gif) repeat-x;
+	padding:28px 34px 5px 24px;
+	font-weight:bold;
+	margin:0 0 -52px;
+}
+.info-block p{margin:0 0 24px;}
+#main .info-block h2{margin:0 0 11px 0;}
+#content{
+	float:right;
+	width:638px;
+	line-height:24px;
+	padding:35px 10px 10px 0;
+	color:black;
+}
+#content .breadcrumbs{
+	width:100%;
+	overflow:hidden;
+	color:#31b2ee;
+	font-weight:bold;
+	padding:0 0 16px;
+}
+#content .breadcrumbs li{
+	float:left;
+	background: url(../images/bg-breadcrumbs.gif) no-repeat left;
+	padding:0 20px 0 23px;
+	margin:0 14px 0 -22px;
+}
+#content .breadcrumbs a{color:#7e8ea6;}
+#content h1,
+#content h2{
+	font-size:24px;
+	color:#2f3742;
+	margin:0 0 13px -2px;
+	font-weight:bold;
+	position:relative;
+}
+#content h2{
+	margin:0 0 14px -5px;
+	letter-spacing:-1px;
+}
+#content h3 {
+  font-size: 18px;
+  font-weight: bold;
+}
+#content h4 {
+  font-weight: bold;
+}
+#content p{margin-top: 5px;}
+/*#content ul{padding:0 0 26px 8px;}*/
+#content ul li{
+	background:url(../images/bullet.gif) no-repeat 0 10px;
+	padding:0 0 17px 27px;
+}
+#content ol{
+	color:#2f3742;
+	counter-reset:item;
+	margin:0 0 25px;
+}
+#content ol li{
+	padding:0 0 8px 35px;
+	vertical-align:top;
+	overflow:hidden;
+}
+#content ol li:before,
+#content ol li .num {
+	font-size:13px;
+	line-height:24px;
+	margin:0 0 0 -35px;
+	width:24px;
+	height:24px;
+	text-align:center;
+	float:left;
+	color:#fff;
+	content:counter(item, decimal);
+	counter-increment:item;
+}
+#sidebar{
+	float:left;
+	width:230px;
+	padding:31px 0 0;
+	overflow:hidden;
+}
+#sidebar h2{
+	font-size:16px;
+	margin:0 0 10px 4px;
+}
+.sub-menu{
+	overflow:hidden;
+	font-weight:bold;
+	padding:7px 0 0 6px;
+}
+.sub-menu li{
+	vertical-align:top;
+	padding:0 0 12px;
+}
+.sub-menu .button{
+	background:url(../images/bg-sub-menu.png) no-repeat -225px 100%;
+	padding:0 0 3px;
+}
+.sub-menu .holder{
+	background:url(../images/bg-sub-menu.png) no-repeat;
+}
+.sub-menu a{
+	color:#2f3742;
+	text-decoration:none;
+	display:block;
+	width:191px;
+	padding:4px 17px 3px 17px;
+	background:url(../images/arrow.gif) no-repeat 203px 50%;
+}
+.sub-menu a:hover{color:#31b2ee;}
+.sub-menu .active .holder a{
+	background:url(../images/arrow-hover.gif) no-repeat 203px 50%;
+	color:#31b2ee;
+}
+.sub-menu ul{
+	background:#f8f8f8;
+	border:1px solid #c4ced7;
+	border-width:0 1px 1px;
+	font-size:13px;
+	line-height:15px;
+	margin:-2px 0 4px 1px;
+	padding:14px 0 1px;
+	display:none;
+	overflow:hidden;
+}
+.sub-menu .active ul{display:block;}
+.sub-menu ul li{padding:0 17px 15px;}
+.sub-menu li li a{
+	background:none;
+	text-decoration:none;
+	display:inline;
+	padding:0;
+}
+.sub-menu ul .active a,
+.sub-menu li li a:hover{
+	text-decoration:underline;
+	color:#2f3742;
+}
+#footer{
+	padding:36px 15px;
+	color:#a7b3c5;
+	text-align:center;
+	text-indent:-21px;
+}
+#footer h3{
+	font-weight:bold;
+	color:#68778c;
+	margin:0 0 12px 15px;
+}
+#footer a{
+	color:#409be3;
+	text-decoration:none;
+}
+#footer a:hover{text-decoration:underline;}
+
+#content p code {
+  font-family: Monaco, monospace;
+  font-size: 12px;
+  background-color: #F2F2F2;
+  border: 1px solid #C1C1C1;
+  overflow: auto;
+  padding: 2px;
+}

=== added file 'doc/zorba/xqdoc/css/ie.css'
--- doc/zorba/xqdoc/css/ie.css	1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/css/ie.css	2013-06-15 18:04:29 +0000
@@ -0,0 +1,11 @@
+#content ol li {
+	behavior:expression((this.pngSet!=null ? this.pngSet=true : (
+		function(t){
+			t.Num = (++t.parentNode.IEcounter || (t.parentNode.IEcounter = 1));
+			t.lis = '';
+			t.lis += t.Num;
+			t.runtimeStyle.listStyleType = 'none';
+			t.insertAdjacentHTML('afterBegin','<div class="num">' + t.lis  + ' </div>');
+		}(this)
+	),this.pngSet=true));
+}
\ No newline at end of file

=== added file 'doc/zorba/xqdoc/css/xqdoc.css'
--- doc/zorba/xqdoc/css/xqdoc.css	1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/css/xqdoc.css	2013-06-15 18:04:29 +0000
@@ -0,0 +1,255 @@
+hr {
+  background: white url(../images/separator2.gif) repeat-x;
+  padding: 0;
+  border: none;
+  height: 1px;
+}
+
+.xqdoc .deprecated {
+  text-decoration: line-through;
+}
+
+.xqdoc tt {
+  display: inline;
+  font-size: 13px;
+  font-family: Monaco, Consolas, monospace;
+}
+
+.xqdoc code {
+  font-size: 13px;
+  font-family: Monaco, Consolas, monospace;
+}
+
+.xqdoc section {
+  margin-top: 20px;
+}
+
+/* Tables */
+table, th, tr, td {
+  border-collapse: collapse;
+  border: 1px solid #666;
+}
+
+.xqdoc td {
+  display: table-cell;
+  vertical-align: middle;
+  padding: 5px;
+}
+
+#content li {
+  margin: 0 0 0px 20px;
+}
+
+/* Menu */
+/*
+.sub-menu
+{
+    overflow:hidden;
+    font-weight:bold;
+    padding:7px 0 0 0px;
+}
+
+.sub-menu li
+{
+    vertical-align:top;
+    padding:0 0 12px;
+    list-style-type: none;
+}
+
+.sub-menu .button
+{
+}
+
+.sub-menu .holder
+{
+
+}
+ 
+.sub-menu .holder a
+{
+  font-size: 14px;
+  padding: 8px 17px 3px 17px;
+}
+ 
+.sub-menu a{
+  color:#2f3742;
+    text-decoration:none;
+    display:block;
+    width:191px;
+    padding:4px 17px 3px 17px;
+}
+.sub-menu a:hover{color:#89B110;}
+.sub-menu .active .holder a{
+    /*color:#31b2ee;*/
+}
+.sub-menu ul{
+    background: #F0F2EB;
+    border: 1px solid #DADFCE;
+    border-width:0 1px 1px;
+    font-size:14px;
+    line-height:15px;
+    margin: 0 1px 3px;
+    padding:14px 0 1px;
+    display:none;
+    overflow:hidden;
+}
+.sub-menu .active ul{display:block;}
+.sub-menu ul li{padding:0 17px 15px;}
+.sub-menu li li a{
+    background:none;
+    text-decoration:none;
+    display:inline;
+    padding:0;
+}
+ 
+.sub-menu ul .active a,
+.sub-menu li li a:hover
+{
+}
+*/
+#xqdoc-menu .tab {
+  padding: 0px;
+}
+
+.sub-menu .active ul {
+}
+
+.xqdoc .sequential
+{
+  width: 16px;
+  height: 16px;
+  margin: 0px;
+  padding: 0px;
+  display: block;
+  background: url(../images/xqdoc/Sequential.gif) no-repeat;
+}
+
+.xqdoc .external, .xqdoc .updating, .xqdoc .sequential, .xqdoc .variadic, .xqdoc .streamable, .xqdoc .nondeterministic
+{
+  width: 16px;
+  height: 16px;
+  margin: 0px;
+  padding: 0px;
+  display: block;
+  margin: 2px;
+}
+
+.xqdoc .streamable
+{
+  background: url(../images/xqdoc/Streamable.gif) no-repeat;
+}
+
+.xqdoc .variadic
+{
+  background: url(../images/xqdoc/Variadic.gif) no-repeat;
+}
+
+.xqdoc .nondeterministic
+{
+  background: url(../images/xqdoc/Nondeterministic.gif) no-repeat;
+}
+
+.xqdoc .sequential
+{
+  background: url(../images/xqdoc/Sequential.gif) no-repeat;
+}
+
+.xqdoc .external
+{
+  background: url(../images/xqdoc/External.gif) no-repeat;
+}
+
+.xqdoc .updating
+{
+  background: url(../images/xqdoc/Updating.gif) no-repeat;
+}
+
+.xqdoc section.function, .xqdoc section.variable
+{
+  background:#fff url(../images/separator2.gif) repeat-x;
+  padding-top: 10px;
+}
+
+.xqdoc section.function.fn-1, .xqdoc section.variable.var-1
+{
+  background: none;
+}
+
+.xqdoc .parameters li, .xqdoc .returns li
+{
+  list-style-type: none;
+}
+
+/* Variable Summary */
+.xqdoc #variable-summary dl {
+  column-count: 3;
+  -webkit-column-count: 3;
+  -moz-column-count: 3;
+  column-gap: 41px;
+  -webkit-column-gap: 41px;
+  -moz-column-gap: 41px;
+  column-rule: 1px dashed #ccc;
+  -webkit-column-rule: 1px dashed #ccc;
+  -moz-column-rule: 1px dashed #ccc;
+  margin-bottom: 20px;
+}
+
+.ace-static span {
+  word-wrap: break-word;
+}
+
+.ace-static {
+  display: block;
+  padding: 0.5em;
+  margin-top: 0.5em;
+  margin-bottom: 0.5em;
+  box-sizing: border-box;
+  background: #F5F2F0 url(../images/noise.png);
+  font: inherit;
+  overflow: auto;
+  tab-size: 4;
+  word-wrap: normal;
+  text-shadow: 0 1px white;
+  font-family: Monaco, Consolas, monospace;
+  font-size: 14px;
+  text-shadow: 0 1px white;
+  white-space: pre;
+  font-family:  Monaco, Consolas, Inconsolata, 'Deja Vu Sans Mono', 'Droid Sans Mono', 'Andale Mono', 'Lucida Console', monospace;
+  color: black;
+}
+
+.ace-static .variable {
+  color: #07A;
+}
+
+.ace-static .keyword {
+  color: #905;
+}
+
+.ace-static .function {
+  color: darkSlateGrey ;
+}
+
+.ace-static .operator {
+  color: black;
+}
+
+.ace-static .constant {
+  color: rgb(201, 58, 45);
+}
+
+.ace-static .meta.tag {
+  color: rgb(63, 127, 95);
+}
+
+.ace-static .xml_pe {
+  color: slateGray;
+}
+
+.ace-static .string {
+  color: rgb(50, 59, 186);
+}
+
+.ace-static .comment {
+  color: slateGray;
+}

=== removed file 'doc/zorba/xqdoc/images/External.gif'
Binary files doc/zorba/xqdoc/images/External.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/External.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/Nondeterministic.gif'
Binary files doc/zorba/xqdoc/images/Nondeterministic.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/Nondeterministic.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/Sequential.gif'
Binary files doc/zorba/xqdoc/images/Sequential.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/Sequential.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/Streamable.gif'
Binary files doc/zorba/xqdoc/images/Streamable.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/Streamable.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/Updating.gif'
Binary files doc/zorba/xqdoc/images/Updating.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/Updating.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/Variadic.gif'
Binary files doc/zorba/xqdoc/images/Variadic.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/Variadic.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/ZCsmall.gif'
Binary files doc/zorba/xqdoc/images/ZCsmall.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/ZCsmall.gif	1970-01-01 00:00:00 +0000 differ
=== added file 'doc/zorba/xqdoc/images/arrow-hover.gif'
Binary files doc/zorba/xqdoc/images/arrow-hover.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/arrow-hover.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/arrow.gif'
Binary files doc/zorba/xqdoc/images/arrow.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/arrow.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-block.gif'
Binary files doc/zorba/xqdoc/images/bg-block.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-block.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-body.png'
Binary files doc/zorba/xqdoc/images/bg-body.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-body.png	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-breadcrumbs.gif'
Binary files doc/zorba/xqdoc/images/bg-breadcrumbs.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-breadcrumbs.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-download.gif'
Binary files doc/zorba/xqdoc/images/bg-download.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-download.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-heading.gif'
Binary files doc/zorba/xqdoc/images/bg-heading.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-heading.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-main.png'
Binary files doc/zorba/xqdoc/images/bg-main.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-main.png	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-nav.png'
Binary files doc/zorba/xqdoc/images/bg-nav.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-nav.png	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-page.gif'
Binary files doc/zorba/xqdoc/images/bg-page.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-page.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-prev-next.gif'
Binary files doc/zorba/xqdoc/images/bg-prev-next.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-prev-next.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-sub-menu.png'
Binary files doc/zorba/xqdoc/images/bg-sub-menu.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-sub-menu.png	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/bg-switcher.png'
Binary files doc/zorba/xqdoc/images/bg-switcher.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/bg-switcher.png	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/blog.png'
Binary files doc/zorba/xqdoc/images/blog.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/blog.png	1970-01-01 00:00:00 +0000 differ
=== added file 'doc/zorba/xqdoc/images/btn-download.gif'
Binary files doc/zorba/xqdoc/images/btn-download.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/btn-download.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/btn-switcher.gif'
Binary files doc/zorba/xqdoc/images/btn-switcher.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/btn-switcher.gif	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/documentation.png'
Binary files doc/zorba/xqdoc/images/documentation.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/documentation.png	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/download.png'
Binary files doc/zorba/xqdoc/images/download.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/download.png	1970-01-01 00:00:00 +0000 differ
=== added file 'doc/zorba/xqdoc/images/img1.jpg'
Binary files doc/zorba/xqdoc/images/img1.jpg	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/img1.jpg	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/logo.png'
Binary files doc/zorba/xqdoc/images/logo.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/logo.png	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/minus.gif'
Binary files doc/zorba/xqdoc/images/minus.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/minus.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/modules.png'
Binary files doc/zorba/xqdoc/images/modules.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/modules.png	1970-01-01 00:00:00 +0000 differ
=== modified file 'doc/zorba/xqdoc/images/modules.svg'
--- doc/zorba/xqdoc/images/modules.svg	2013-02-07 17:24:36 +0000
+++ doc/zorba/xqdoc/images/modules.svg	2013-06-15 18:04:29 +0000
@@ -1,1792 +1,2081 @@
-<!-- Generated by graphviz version 2.28.0 (20120228.1928)
- --><!-- Title: G Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="5153pt" height="566pt" viewBox="0.00 0.00 5152.82 566.00">
-<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 562)">
+<!-- Generated by graphviz version 2.28.0 (20130109.1152)
+ --><!-- Title: G Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="7194pt" height="605pt" viewBox="0.00 0.00 7194.14 605.00">
+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 601)">
 <title>G</title>
 <a xlink:title="Zorba modules dependency graph">
-<polygon fill="white" stroke="white" points="-4,5 -4,-562 5149.82,-562 5149.82,5 -4,5"/>
-<text text-anchor="middle" x="2572.41" y="-7.8" font-family="Times,serif" font-size="14.00">Zorba modules dependency graph</text>
+<polygon fill="white" stroke="white" points="-4,5 -4,-601 7191.14,-601 7191.14,5 -4,5"/>
+<text text-anchor="middle" x="3593.07" y="-7.8" font-family="Times,serif" font-size="14.00">Zorba modules dependency graph</text>
 </a>
 <g id="graph2" class="cluster"><title>cluster1</title>
-<a xlink:title="www.w3.org">
-<polygon fill="mediumvioletred" stroke="black" points="1635.82,-436 1635.82,-550 1874.82,-550 1874.82,-436 1635.82,-436"/>
-<text text-anchor="middle" x="1755.32" y="-534.8" font-family="Times,serif" font-size="14.00">www.w3.org</text>
-</a>
-</g>
-<g id="graph3" class="cluster"><title>clusterwwww3org2005</title>
-<a xlink:title="www.w3.org/2005">
-<polygon fill="mediumvioletred" stroke="black" points="1643.82,-444 1643.82,-519 1866.82,-519 1866.82,-444 1643.82,-444"/>
-<text text-anchor="middle" x="1755.32" y="-503.8" font-family="Times,serif" font-size="14.00">2005</text>
-</a>
-</g>
-<g id="graph4" class="cluster"><title>cluster2</title>
-<a xlink:title="XDM">
-<polygon fill="lightsteelblue" stroke="black" points="2438.82,-39 2438.82,-153 3337.82,-153 3337.82,-39 2438.82,-39"/>
-<text text-anchor="middle" x="2888.32" y="-137.8" font-family="Times,serif" font-size="14.00">XDM</text>
-</a>
-</g>
-<g id="graph5" class="cluster"><title>clusterXDMatomic</title>
-<a xlink:title="XDM/atomic">
-<polygon fill="lightsteelblue" stroke="black" points="2808.82,-47 2808.82,-122 3229.82,-122 3229.82,-47 2808.82,-47"/>
-<text text-anchor="middle" x="3019.32" y="-106.8" font-family="Times,serif" font-size="14.00">atomic</text>
-</a>
-</g>
-<g id="graph6" class="cluster"><title>clusterXDMitem</title>
-<a xlink:title="XDM/item">
-<polygon fill="lightsteelblue" stroke="black" points="3237.82,-47 3237.82,-122 3329.82,-122 3329.82,-47 3237.82,-47"/>
-<text text-anchor="middle" x="3283.82" y="-106.8" font-family="Times,serif" font-size="14.00">item</text>
-</a>
-</g>
-<g id="graph7" class="cluster"><title>clusterXDMnode</title>
-<a xlink:title="XDM/node">
-<polygon fill="lightsteelblue" stroke="black" points="2446.82,-47 2446.82,-122 2800.82,-122 2800.82,-47 2446.82,-47"/>
-<text text-anchor="middle" x="2623.82" y="-106.8" font-family="Times,serif" font-size="14.00">node</text>
-</a>
-</g>
-<g id="graph8" class="cluster"><title>cluster3</title>
-<a xlink:title="store">
-<polygon fill="sienna" stroke="black" points="4430.82,-31 4430.82,-428 5136.82,-428 5136.82,-31 4430.82,-31"/>
-<text text-anchor="middle" x="4783.82" y="-412.8" font-family="Times,serif" font-size="14.00">store</text>
-</a>
-</g>
-<g id="graph9" class="cluster"><title>clusterstorecollections</title>
-<a xlink:title="store/collections">
-<polygon fill="sienna" stroke="black" points="4892.82,-39 4892.82,-397 5128.82,-397 5128.82,-39 4892.82,-39"/>
-<text text-anchor="middle" x="5010.82" y="-381.8" font-family="Times,serif" font-size="14.00">collections</text>
-</a>
-</g>
-<g id="graph10" class="cluster"><title>clusterstorecollectionsdynamic</title>
-<a xlink:title="store/collections/dynamic">
-<polygon fill="sienna" stroke="black" points="4900.82,-47 4900.82,-122 5042.82,-122 5042.82,-47 4900.82,-47"/>
-<text text-anchor="middle" x="4971.82" y="-106.8" font-family="Times,serif" font-size="14.00">dynamic</text>
-</a>
-</g>
-<g id="graph11" class="cluster"><title>clusterstorecollectionsstatic</title>
-<a xlink:title="store/collections/static">
-<polygon fill="sienna" stroke="black" points="4978.82,-291 4978.82,-366 5120.82,-366 5120.82,-291 4978.82,-291"/>
-<text text-anchor="middle" x="5049.82" y="-350.8" font-family="Times,serif" font-size="14.00">static</text>
-</a>
-</g>
-<g id="graph12" class="cluster"><title>clusterstorecollectionsw3c</title>
-<a xlink:title="store/collections/w3c">
-<polygon fill="sienna" stroke="black" points="4900.82,-169 4900.82,-366 4970.82,-366 4970.82,-169 4900.82,-169"/>
-<text text-anchor="middle" x="4935.82" y="-350.8" font-family="Times,serif" font-size="14.00">w3c</text>
-</a>
-</g>
-<g id="graph13" class="cluster"><title>clusterstoredatastructures</title>
-<a xlink:title="store/data structures">
-<polygon fill="sienna" stroke="black" points="4581.82,-169 4581.82,-244 4884.82,-244 4884.82,-169 4581.82,-169"/>
-<text text-anchor="middle" x="4733.32" y="-228.8" font-family="Times,serif" font-size="14.00">data structures</text>
-</a>
-</g>
-<g id="graph14" class="cluster"><title>clusterstoredocuments</title>
-<a xlink:title="store/documents">
-<polygon fill="sienna" stroke="black" points="4770.82,-291 4770.82,-366 4884.82,-366 4884.82,-291 4770.82,-291"/>
-<text text-anchor="middle" x="4827.82" y="-350.8" font-family="Times,serif" font-size="14.00">documents</text>
-</a>
-</g>
-<g id="graph15" class="cluster"><title>clusterstoreindexes</title>
-<a xlink:title="store/indexes">
-<polygon fill="sienna" stroke="black" points="4604.82,-283 4604.82,-397 4762.82,-397 4762.82,-283 4604.82,-283"/>
-<text text-anchor="middle" x="4683.82" y="-381.8" font-family="Times,serif" font-size="14.00">indexes</text>
-</a>
-</g>
-<g id="graph16" class="cluster"><title>clusterstoreindexesstatic</title>
-<a xlink:title="store/indexes/static">
-<polygon fill="sienna" stroke="black" points="4612.82,-291 4612.82,-366 4754.82,-366 4754.82,-291 4612.82,-291"/>
-<text text-anchor="middle" x="4683.82" y="-350.8" font-family="Times,serif" font-size="14.00">static</text>
-</a>
-</g>
-<g id="graph17" class="cluster"><title>clusterstoreintegrityconstraints</title>
-<a xlink:title="store/integrity constraints">
-<polygon fill="sienna" stroke="black" points="4438.82,-283 4438.82,-397 4596.82,-397 4596.82,-283 4438.82,-283"/>
-<text text-anchor="middle" x="4517.82" y="-381.8" font-family="Times,serif" font-size="14.00">integrity constraints</text>
-</a>
-</g>
-<g id="graph18" class="cluster"><title>clusterstoreintegrityconstraintsstatic</title>
-<a xlink:title="store/integrity constraints/static">
-<polygon fill="sienna" stroke="black" points="4446.82,-291 4446.82,-366 4588.82,-366 4588.82,-291 4446.82,-291"/>
-<text text-anchor="middle" x="4517.82" y="-350.8" font-family="Times,serif" font-size="14.00">static</text>
-</a>
-</g>
-<g id="graph19" class="cluster"><title>cluster4</title>
-<a xlink:title="introspection">
-<polygon fill="dimgray" stroke="black" points="4361.82,-444 4361.82,-519 4448.82,-519 4448.82,-444 4361.82,-444"/>
-<text text-anchor="middle" x="4405.32" y="-503.8" font-family="Times,serif" font-size="14.00">introspection</text>
-</a>
-</g>
-<g id="graph20" class="cluster"><title>cluster5</title>
-<a xlink:title="reflection">
-<polygon fill="slategray" stroke="black" points="222.822,-169 222.822,-244 326.822,-244 326.822,-169 222.822,-169"/>
-<text text-anchor="middle" x="274.822" y="-228.8" font-family="Times,serif" font-size="14.00">reflection</text>
+<a xlink:title="JSONiq">
+<polygon fill="lime" stroke="black" points="8,-291 8,-527 258,-527 258,-291 8,-291"/>
+<text text-anchor="middle" x="133" y="-511.8" font-family="Times,serif" font-size="14.00">JSONiq</text>
+</a>
+</g>
+<g id="graph3" class="cluster"><title>clusterJSONiqErrors</title>
+<a xlink:title="JSONiq/Errors">
+<polygon fill="lime" stroke="black" points="172,-421 172,-496 250,-496 250,-421 172,-421"/>
+<text text-anchor="middle" x="211" y="-480.8" font-family="Times,serif" font-size="14.00">Errors</text>
+</a>
+</g>
+<g id="graph4" class="cluster"><title>clusterJSONiqFunctionLibrary</title>
+<a xlink:title="JSONiq/Function Library">
+<polygon fill="lime" stroke="black" points="16,-421 16,-496 164,-496 164,-421 16,-421"/>
+<text text-anchor="middle" x="90" y="-480.8" font-family="Times,serif" font-size="14.00">Function Library</text>
+</a>
+</g>
+<g id="graph5" class="cluster"><title>clusterJSONiqFunctions</title>
+<a xlink:title="JSONiq/Functions">
+<polygon fill="lime" stroke="black" points="92,-299 92,-374 196,-374 196,-299 92,-299"/>
+<text text-anchor="middle" x="144" y="-358.8" font-family="Times,serif" font-size="14.00">Functions</text>
+</a>
+</g>
+<g id="graph6" class="cluster"><title>cluster2</title>
+<a xlink:title="W3C">
+<polygon fill="red" stroke="black" points="6649,-413 6649,-527 7094,-527 7094,-413 6649,-413"/>
+<text text-anchor="middle" x="6871.5" y="-511.8" font-family="Times,serif" font-size="14.00">W3C</text>
+</a>
+</g>
+<g id="graph7" class="cluster"><title>clusterW3CXPathErrorsCodes</title>
+<a xlink:title="W3C/XPath Errors Codes">
+<polygon fill="red" stroke="black" points="6961,-421 6961,-496 7086,-496 7086,-421 6961,-421"/>
+<text text-anchor="middle" x="7023.5" y="-480.8" font-family="Times,serif" font-size="14.00">XPath Errors Codes</text>
+</a>
+</g>
+<g id="graph8" class="cluster"><title>clusterW3CXPathFunctions</title>
+<a xlink:title="W3C/XPath Functions">
+<polygon fill="red" stroke="black" points="6805,-421 6805,-496 6953,-496 6953,-421 6805,-421"/>
+<text text-anchor="middle" x="6879" y="-480.8" font-family="Times,serif" font-size="14.00">XPath Functions</text>
+</a>
+</g>
+<g id="graph9" class="cluster"><title>clusterW3CXPathMathFunctions</title>
+<a xlink:title="W3C/XPath Math Functions">
+<polygon fill="red" stroke="black" points="6657,-421 6657,-496 6797,-496 6797,-421 6657,-421"/>
+<text text-anchor="middle" x="6727" y="-480.8" font-family="Times,serif" font-size="14.00">XPath Math Functions</text>
+</a>
+</g>
+<g id="graph10" class="cluster"><title>cluster3</title>
+<a xlink:title="FunctX">
+<polygon fill="tan" stroke="black" points="6986,-299 6986,-374 7148,-374 7148,-299 6986,-299"/>
+<text text-anchor="middle" x="7067" y="-358.8" font-family="Times,serif" font-size="14.00">FunctX</text>
+</a>
+</g>
+<g id="graph11" class="cluster"><title>cluster4</title>
+<a xlink:title="EXPath">
+<polygon fill="OrangeRed" stroke="black" points="6484,-138 6484,-405 6910,-405 6910,-138 6484,-138"/>
+<text text-anchor="middle" x="6697" y="-389.8" font-family="Times,serif" font-size="14.00">EXPath</text>
+</a>
+</g>
+<g id="graph12" class="cluster"><title>clusterEXPathEXPathErrorCodes</title>
+<a xlink:title="EXPath/EXPath Error Codes">
+<polygon fill="OrangeRed" stroke="black" points="6492,-146 6492,-221 6620,-221 6620,-146 6492,-146"/>
+<text text-anchor="middle" x="6556" y="-205.8" font-family="Times,serif" font-size="14.00">EXPath Error Codes</text>
+</a>
+</g>
+<g id="graph13" class="cluster"><title>clusterEXPathEXPathFileModule</title>
+<a xlink:title="EXPath/EXPath File Module">
+<polygon fill="OrangeRed" stroke="black" points="6772,-299 6772,-374 6902,-374 6902,-299 6772,-299"/>
+<text text-anchor="middle" x="6837" y="-358.8" font-family="Times,serif" font-size="14.00">EXPath File Module</text>
+</a>
+</g>
+<g id="graph14" class="cluster"><title>clusterEXPathEXPathGeoModule</title>
+<a xlink:title="EXPath/EXPath Geo Module">
+<polygon fill="OrangeRed" stroke="black" points="6633,-299 6633,-374 6764,-374 6764,-299 6633,-299"/>
+<text text-anchor="middle" x="6698.5" y="-358.8" font-family="Times,serif" font-size="14.00">EXPath Geo Module</text>
+</a>
+</g>
+<g id="graph15" class="cluster"><title>clusterEXPathEXPathHTTPClient</title>
+<a xlink:title="EXPath/EXPath HTTP Client">
+<polygon fill="OrangeRed" stroke="black" points="6492,-299 6492,-374 6625,-374 6625,-299 6492,-299"/>
+<text text-anchor="middle" x="6558.5" y="-358.8" font-family="Times,serif" font-size="14.00">EXPath HTTP Client</text>
+</a>
+</g>
+<g id="graph16" class="cluster"><title>cluster5</title>
+<a xlink:title="DB Drivers">
+<polygon fill="LimeGreen" stroke="black" points="6150,-413 6150,-527 6588,-527 6588,-413 6150,-413"/>
+<text text-anchor="middle" x="6369" y="-511.8" font-family="Times,serif" font-size="14.00">DB Drivers</text>
+</a>
+</g>
+<g id="graph17" class="cluster"><title>clusterDBDriversCouchbase</title>
+<a xlink:title="DB Drivers/Couchbase">
+<polygon fill="LimeGreen" stroke="black" points="6470,-421 6470,-496 6580,-496 6580,-421 6470,-421"/>
+<text text-anchor="middle" x="6525" y="-480.8" font-family="Times,serif" font-size="14.00">Couchbase</text>
+</a>
+</g>
+<g id="graph18" class="cluster"><title>clusterDBDriversJDBC</title>
+<a xlink:title="DB Drivers/JDBC">
+<polygon fill="LimeGreen" stroke="black" points="6392,-421 6392,-496 6462,-496 6462,-421 6392,-421"/>
+<text text-anchor="middle" x="6427" y="-480.8" font-family="Times,serif" font-size="14.00">JDBC</text>
+</a>
+</g>
+<g id="graph19" class="cluster"><title>clusterDBDriversORACLENoSQL</title>
+<a xlink:title="DB Drivers/ORACLE NoSQL">
+<polygon fill="LimeGreen" stroke="black" points="6158,-421 6158,-496 6300,-496 6300,-421 6158,-421"/>
+<text text-anchor="middle" x="6229" y="-480.8" font-family="Times,serif" font-size="14.00">ORACLE NoSQL</text>
+</a>
+</g>
+<g id="graph20" class="cluster"><title>clusterDBDriversSQLite</title>
+<a xlink:title="DB Drivers/SQLite">
+<polygon fill="LimeGreen" stroke="black" points="6308,-421 6308,-496 6384,-496 6384,-421 6308,-421"/>
+<text text-anchor="middle" x="6346" y="-480.8" font-family="Times,serif" font-size="14.00">SQLite</text>
 </a>
 </g>
 <g id="graph21" class="cluster"><title>cluster6</title>
-<a xlink:title="external">
-<polygon fill="Gold" stroke="black" points="4150.82,-169 4150.82,-244 4335.82,-244 4335.82,-169 4150.82,-169"/>
-<text text-anchor="middle" x="4243.32" y="-228.8" font-family="Times,serif" font-size="14.00">external</text>
-</a>
-</g>
-<g id="graph22" class="cluster"><title>cluster7</title>
-<a xlink:title="xqdoc">
-<polygon fill="moccasin" stroke="black" points="4058.82,-283 4058.82,-550 4338.82,-550 4338.82,-283 4058.82,-283"/>
-<text text-anchor="middle" x="4198.82" y="-534.8" font-family="Times,serif" font-size="14.00">xqdoc</text>
-</a>
-</g>
-<g id="graph23" class="cluster"><title>clusterxqdocxqdoc2xhtml</title>
-<a xlink:title="xqdoc/xqdoc2xhtml">
-<polygon fill="moccasin" stroke="black" points="4066.82,-291 4066.82,-519 4198.82,-519 4198.82,-291 4066.82,-291"/>
-<text text-anchor="middle" x="4132.82" y="-503.8" font-family="Times,serif" font-size="14.00">xqdoc2xhtml</text>
-</a>
-</g>
-<g id="graph24" class="cluster"><title>cluster8</title>
-<a xlink:title="data processing">
-<polygon fill="tan" stroke="black" points="2668.82,-161 2668.82,-275 3157.82,-275 3157.82,-161 2668.82,-161"/>
-<text text-anchor="middle" x="2913.32" y="-259.8" font-family="Times,serif" font-size="14.00">data processing</text>
-</a>
-</g>
-<g id="graph25" class="cluster"><title>clusterdataprocessingdataconverters</title>
-<a xlink:title="data processing/data converters">
-<polygon fill="tan" stroke="black" points="2676.82,-169 2676.82,-244 3149.82,-244 3149.82,-169 2676.82,-169"/>
-<text text-anchor="middle" x="2913.32" y="-228.8" font-family="Times,serif" font-size="14.00">data converters</text>
-</a>
-</g>
-<g id="graph26" class="cluster"><title>cluster9</title>
-<a xlink:title="cryptography">
-<polygon fill="RosyBrown" stroke="black" points="3900.82,-291 3900.82,-366 4050.82,-366 4050.82,-291 3900.82,-291"/>
-<text text-anchor="middle" x="3975.82" y="-350.8" font-family="Times,serif" font-size="14.00">cryptography</text>
-</a>
-</g>
-<g id="graph27" class="cluster"><title>cluster10</title>
-<a xlink:title="geo">
-<polygon fill="wheat" stroke="black" points="2538.82,-169 2538.82,-244 2630.82,-244 2630.82,-169 2538.82,-169"/>
-<text text-anchor="middle" x="2584.82" y="-228.8" font-family="Times,serif" font-size="14.00">geo</text>
-</a>
-</g>
-<g id="graph28" class="cluster"><title>cluster11</title>
-<a xlink:title="image">
-<polygon fill="LightGreen" stroke="black" points="3313.82,-169 3313.82,-244 3806.82,-244 3806.82,-169 3313.82,-169"/>
-<text text-anchor="middle" x="3560.32" y="-228.8" font-family="Times,serif" font-size="14.00">image</text>
-</a>
-</g>
-<g id="graph29" class="cluster"><title>cluster12</title>
-<a xlink:title="OAuth">
-<polygon fill="forestgreen" stroke="black" points="3452.82,-291 3452.82,-519 3530.82,-519 3530.82,-291 3452.82,-291"/>
-<text text-anchor="middle" x="3491.82" y="-503.8" font-family="Times,serif" font-size="14.00">OAuth</text>
-</a>
-</g>
-<g id="graph30" class="cluster"><title>cluster13</title>
-<a xlink:title="expath.org">
-<polygon fill="olivedrab" stroke="black" points="4235.82,-39 4235.82,-153 4387.82,-153 4387.82,-39 4235.82,-39"/>
-<text text-anchor="middle" x="4311.82" y="-137.8" font-family="Times,serif" font-size="14.00">expath.org</text>
-</a>
-</g>
-<g id="graph31" class="cluster"><title>clusterexpathorgns</title>
-<a xlink:title="expath.org/ns">
-<polygon fill="olivedrab" stroke="black" points="4309.82,-47 4309.82,-122 4379.82,-122 4379.82,-47 4309.82,-47"/>
-<text text-anchor="middle" x="4344.82" y="-106.8" font-family="Times,serif" font-size="14.00">ns</text>
-</a>
-</g>
-<g id="graph32" class="cluster"><title>cluster14</title>
-<a xlink:title="www.functx.com">
-<polygon fill="darkkhaki" stroke="black" points="4463.82,-444 4463.82,-519 4625.82,-519 4625.82,-444 4463.82,-444"/>
-<text text-anchor="middle" x="4544.82" y="-503.8" font-family="Times,serif" font-size="14.00">www.functx.com</text>
-</a>
-</g>
-<g id="graph33" class="cluster"><title>cluster15</title>
-<a xlink:title="EXPath">
-<polygon fill="cornflowerblue" stroke="black" points="3538.82,-283 3538.82,-397 3742.82,-397 3742.82,-283 3538.82,-283"/>
-<text text-anchor="middle" x="3640.82" y="-381.8" font-family="Times,serif" font-size="14.00">EXPath</text>
-</a>
-</g>
-<g id="graph34" class="cluster"><title>clusterEXPathGeo</title>
-<a xlink:title="EXPath/Geo">
-<polygon fill="cornflowerblue" stroke="black" points="3546.82,-291 3546.82,-366 3616.82,-366 3616.82,-291 3546.82,-291"/>
-<text text-anchor="middle" x="3581.82" y="-350.8" font-family="Times,serif" font-size="14.00">Geo</text>
-</a>
-</g>
-<g id="graph35" class="cluster"><title>clusterEXPathHTTPClient</title>
-<a xlink:title="EXPath/HTTP Client">
-<polygon fill="cornflowerblue" stroke="black" points="3624.82,-291 3624.82,-366 3734.82,-366 3734.82,-291 3624.82,-291"/>
-<text text-anchor="middle" x="3679.82" y="-350.8" font-family="Times,serif" font-size="14.00">HTTP Client</text>
-</a>
-</g>
-<g id="graph36" class="cluster"><title>cluster16</title>
 <a xlink:title="Zorba">
-<polygon fill="yellow" stroke="black" points="334.822,-31 334.822,-428 2430.82,-428 2430.82,-31 334.822,-31"/>
-<text text-anchor="middle" x="1382.82" y="-412.8" font-family="Times,serif" font-size="14.00">Zorba</text>
+<polygon fill="lightsteelblue" stroke="black" points="266,-31 266,-589 6036,-589 6036,-31 266,-31"/>
+<text text-anchor="middle" x="3151" y="-573.8" font-family="Times,serif" font-size="14.00">Zorba</text>
 </a>
 </g>
-<g id="graph37" class="cluster"><title>clusterZorbaArchive</title>
+<g id="graph22" class="cluster"><title>clusterZorbaArchive</title>
 <a xlink:title="Zorba/Archive">
-<polygon fill="yellow" stroke="black" points="2334.82,-291 2334.82,-366 2422.82,-366 2422.82,-291 2334.82,-291"/>
-<text text-anchor="middle" x="2378.82" y="-350.8" font-family="Times,serif" font-size="14.00">Archive</text>
-</a>
-</g>
-<g id="graph38" class="cluster"><title>clusterZorbaDataCleaning</title>
+<polygon fill="lightsteelblue" stroke="black" points="5940,-421 5940,-496 6028,-496 6028,-421 5940,-421"/>
+<text text-anchor="middle" x="5984" y="-480.8" font-family="Times,serif" font-size="14.00">Archive</text>
+</a>
+</g>
+<g id="graph23" class="cluster"><title>clusterZorbaCryptography</title>
+<a xlink:title="Zorba/Cryptography">
+<polygon fill="lightsteelblue" stroke="black" points="649,-291 649,-405 821,-405 821,-291 649,-291"/>
+<text text-anchor="middle" x="735" y="-389.8" font-family="Times,serif" font-size="14.00">Cryptography</text>
+</a>
+</g>
+<g id="graph24" class="cluster"><title>clusterZorbaCryptographyHMAC</title>
+<a xlink:title="Zorba/Cryptography/HMAC">
+<polygon fill="lightsteelblue" stroke="black" points="735,-299 735,-374 813,-374 813,-299 735,-299"/>
+<text text-anchor="middle" x="774" y="-358.8" font-family="Times,serif" font-size="14.00">HMAC</text>
+</a>
+</g>
+<g id="graph25" class="cluster"><title>clusterZorbaCryptographyhash</title>
+<a xlink:title="Zorba/Cryptography/hash">
+<polygon fill="lightsteelblue" stroke="black" points="657,-299 657,-374 727,-374 727,-299 657,-299"/>
+<text text-anchor="middle" x="692" y="-358.8" font-family="Times,serif" font-size="14.00">hash</text>
+</a>
+</g>
+<g id="graph26" class="cluster"><title>clusterZorbaDataCleaning</title>
 <a xlink:title="Zorba/Data Cleaning">
-<polygon fill="yellow" stroke="black" points="968.822,-39 968.822,-397 1620.82,-397 1620.82,-39 968.822,-39"/>
-<text text-anchor="middle" x="1294.82" y="-381.8" font-family="Times,serif" font-size="14.00">Data Cleaning</text>
+<polygon fill="lightsteelblue" stroke="black" points="4598,-39 4598,-405 5250,-405 5250,-39 4598,-39"/>
+<text text-anchor="middle" x="4924" y="-389.8" font-family="Times,serif" font-size="14.00">Data Cleaning</text>
 </a>
 </g>
-<g id="graph39" class="cluster"><title>clusterZorbaDataCleaningCharacterBasedStringSimilarity</title>
+<g id="graph27" class="cluster"><title>clusterZorbaDataCleaningCharacterBasedStringSimilarity</title>
 <a xlink:title="Zorba/Data Cleaning/Character-Based String Similarity">
-<polygon fill="yellow" stroke="black" points="1249.82,-47 1249.82,-122 1517.82,-122 1517.82,-47 1249.82,-47"/>
-<text text-anchor="middle" x="1383.82" y="-106.8" font-family="Times,serif" font-size="14.00">Character-Based String Similarity</text>
+<polygon fill="lightsteelblue" stroke="black" points="4879,-47 4879,-122 5147,-122 5147,-47 4879,-47"/>
+<text text-anchor="middle" x="5013" y="-106.8" font-family="Times,serif" font-size="14.00">Character-Based String Similarity</text>
 </a>
 </g>
-<g id="graph40" class="cluster"><title>clusterZorbaDataCleaningConsolidation</title>
+<g id="graph28" class="cluster"><title>clusterZorbaDataCleaningConsolidation</title>
 <a xlink:title="Zorba/Data Cleaning/Consolidation">
-<polygon fill="yellow" stroke="black" points="1240.82,-169 1240.82,-244 1372.82,-244 1372.82,-169 1240.82,-169"/>
-<text text-anchor="middle" x="1306.82" y="-228.8" font-family="Times,serif" font-size="14.00">Consolidation</text>
+<polygon fill="lightsteelblue" stroke="black" points="4870,-146 4870,-221 5002,-221 5002,-146 4870,-146"/>
+<text text-anchor="middle" x="4936" y="-205.8" font-family="Times,serif" font-size="14.00">Consolidation</text>
 </a>
 </g>
-<g id="graph41" class="cluster"><title>clusterZorbaDataCleaningConversion</title>
+<g id="graph29" class="cluster"><title>clusterZorbaDataCleaningConversion</title>
 <a xlink:title="Zorba/Data Cleaning/Conversion">
-<polygon fill="yellow" stroke="black" points="990.822,-291 990.822,-366 1104.82,-366 1104.82,-291 990.822,-291"/>
-<text text-anchor="middle" x="1047.82" y="-350.8" font-family="Times,serif" font-size="14.00">Conversion</text>
+<polygon fill="lightsteelblue" stroke="black" points="5128,-299 5128,-374 5242,-374 5242,-299 5128,-299"/>
+<text text-anchor="middle" x="5185" y="-358.8" font-family="Times,serif" font-size="14.00">Conversion</text>
 </a>
 </g>
-<g id="graph42" class="cluster"><title>clusterZorbaDataCleaningHybridStringSimilarity</title>
+<g id="graph30" class="cluster"><title>clusterZorbaDataCleaningHybridStringSimilarity</title>
 <a xlink:title="Zorba/Data Cleaning/Hybrid String Similarity">
-<polygon fill="yellow" stroke="black" points="1195.82,-291 1195.82,-366 1399.82,-366 1399.82,-291 1195.82,-291"/>
-<text text-anchor="middle" x="1297.82" y="-350.8" font-family="Times,serif" font-size="14.00">Hybrid String Similarity</text>
-</a>
-</g>
-<g id="graph43" class="cluster"><title>clusterZorbaDataCleaningNormalization</title>
+<polygon fill="lightsteelblue" stroke="black" points="4622,-299 4622,-374 4826,-374 4826,-299 4622,-299"/>
+<text text-anchor="middle" x="4724" y="-358.8" font-family="Times,serif" font-size="14.00">Hybrid String Similarity</text>
+</a>
+</g>
+<g id="graph31" class="cluster"><title>clusterZorbaDataCleaningInfoExtraction</title>
+<a xlink:title="Zorba/Data Cleaning/Info Extraction">
+<polygon fill="lightsteelblue" stroke="black" points="4978,-299 4978,-374 5120,-374 5120,-299 4978,-299"/>
+<text text-anchor="middle" x="5049" y="-358.8" font-family="Times,serif" font-size="14.00">Info Extraction</text>
+</a>
+</g>
+<g id="graph32" class="cluster"><title>clusterZorbaDataCleaningNormalization</title>
 <a xlink:title="Zorba/Data Cleaning/Normalization">
-<polygon fill="yellow" stroke="black" points="1476.82,-291 1476.82,-366 1612.82,-366 1612.82,-291 1476.82,-291"/>
-<text text-anchor="middle" x="1544.82" y="-350.8" font-family="Times,serif" font-size="14.00">Normalization</text>
+<polygon fill="lightsteelblue" stroke="black" points="4834,-299 4834,-374 4970,-374 4970,-299 4834,-299"/>
+<text text-anchor="middle" x="4902" y="-358.8" font-family="Times,serif" font-size="14.00">Normalization</text>
 </a>
 </g>
-<g id="graph44" class="cluster"><title>clusterZorbaDataCleaningPhonecticStringSimilarity</title>
+<g id="graph33" class="cluster"><title>clusterZorbaDataCleaningPhonecticStringSimilarity</title>
 <a xlink:title="Zorba/Data Cleaning/Phonectic String Similarity">
-<polygon fill="yellow" stroke="black" points="1394.82,-169 1394.82,-244 1612.82,-244 1612.82,-169 1394.82,-169"/>
-<text text-anchor="middle" x="1503.82" y="-228.8" font-family="Times,serif" font-size="14.00">Phonectic String Similarity</text>
+<polygon fill="lightsteelblue" stroke="black" points="5024,-146 5024,-221 5242,-221 5242,-146 5024,-146"/>
+<text text-anchor="middle" x="5133" y="-205.8" font-family="Times,serif" font-size="14.00">Phonectic String Similarity</text>
 </a>
 </g>
-<g id="graph45" class="cluster"><title>clusterZorbaDataCleaningSetSimilarity</title>
+<g id="graph34" class="cluster"><title>clusterZorbaDataCleaningSetSimilarity</title>
 <a xlink:title="Zorba/Data Cleaning/Set Similarity">
-<polygon fill="yellow" stroke="black" points="1109.82,-47 1109.82,-122 1241.82,-122 1241.82,-47 1109.82,-47"/>
-<text text-anchor="middle" x="1175.82" y="-106.8" font-family="Times,serif" font-size="14.00">Set Similarity</text>
+<polygon fill="lightsteelblue" stroke="black" points="4739,-47 4739,-122 4871,-122 4871,-47 4739,-47"/>
+<text text-anchor="middle" x="4805" y="-106.8" font-family="Times,serif" font-size="14.00">Set Similarity</text>
 </a>
 </g>
-<g id="graph46" class="cluster"><title>clusterZorbaDataCleaningTokenBasedStringSimilarity</title>
+<g id="graph35" class="cluster"><title>clusterZorbaDataCleaningTokenBasedStringSimilarity</title>
 <a xlink:title="Zorba/Data Cleaning/Token Based String Similarity">
-<polygon fill="yellow" stroke="black" points="976.822,-169 976.822,-244 1218.82,-244 1218.82,-169 976.822,-169"/>
-<text text-anchor="middle" x="1097.82" y="-228.8" font-family="Times,serif" font-size="14.00">Token Based String Similarity</text>
-</a>
-</g>
-<g id="graph47" class="cluster"><title>clusterZorbaDataProcessing</title>
+<polygon fill="lightsteelblue" stroke="black" points="4606,-146 4606,-221 4848,-221 4848,-146 4606,-146"/>
+<text text-anchor="middle" x="4727" y="-205.8" font-family="Times,serif" font-size="14.00">Token Based String Similarity</text>
+</a>
+</g>
+<g id="graph36" class="cluster"><title>clusterZorbaDataConverters</title>
+<a xlink:title="Zorba/Data Converters">
+<polygon fill="lightsteelblue" stroke="black" points="1898,-291 1898,-405 2312,-405 2312,-291 1898,-291"/>
+<text text-anchor="middle" x="2105" y="-389.8" font-family="Times,serif" font-size="14.00">Data Converters</text>
+</a>
+</g>
+<g id="graph37" class="cluster"><title>clusterZorbaDataConvertersBase64</title>
+<a xlink:title="Zorba/Data Converters/Base 64">
+<polygon fill="lightsteelblue" stroke="black" points="2218,-299 2218,-374 2304,-374 2304,-299 2218,-299"/>
+<text text-anchor="middle" x="2261" y="-358.8" font-family="Times,serif" font-size="14.00">Base 64</text>
+</a>
+</g>
+<g id="graph38" class="cluster"><title>clusterZorbaDataConvertersCSV</title>
+<a xlink:title="Zorba/Data Converters/CSV">
+<polygon fill="lightsteelblue" stroke="black" points="2062,-299 2062,-374 2132,-374 2132,-299 2062,-299"/>
+<text text-anchor="middle" x="2097" y="-358.8" font-family="Times,serif" font-size="14.00">CSV</text>
+</a>
+</g>
+<g id="graph39" class="cluster"><title>clusterZorbaDataConvertersHTML</title>
+<a xlink:title="Zorba/Data Converters/HTML">
+<polygon fill="lightsteelblue" stroke="black" points="2140,-299 2140,-374 2210,-374 2210,-299 2140,-299"/>
+<text text-anchor="middle" x="2175" y="-358.8" font-family="Times,serif" font-size="14.00">HTML</text>
+</a>
+</g>
+<g id="graph40" class="cluster"><title>clusterZorbaDataConvertersJSON</title>
+<a xlink:title="Zorba/Data Converters/JSON">
+<polygon fill="lightsteelblue" stroke="black" points="1906,-299 1906,-374 1976,-374 1976,-299 1906,-299"/>
+<text text-anchor="middle" x="1941" y="-358.8" font-family="Times,serif" font-size="14.00">JSON</text>
+</a>
+</g>
+<g id="graph41" class="cluster"><title>clusterZorbaDataConvertersXML</title>
+<a xlink:title="Zorba/Data Converters/XML">
+<polygon fill="lightsteelblue" stroke="black" points="1984,-299 1984,-374 2054,-374 2054,-299 1984,-299"/>
+<text text-anchor="middle" x="2019" y="-358.8" font-family="Times,serif" font-size="14.00">XML</text>
+</a>
+</g>
+<g id="graph42" class="cluster"><title>clusterZorbaDataFormatting</title>
+<a xlink:title="Zorba/Data Formatting">
+<polygon fill="lightsteelblue" stroke="black" points="5825,-413 5825,-527 5932,-527 5932,-413 5825,-413"/>
+<text text-anchor="middle" x="5878.5" y="-511.8" font-family="Times,serif" font-size="14.00">Data Formatting</text>
+</a>
+</g>
+<g id="graph43" class="cluster"><title>clusterZorbaDataFormattingXSLFO</title>
+<a xlink:title="Zorba/Data Formatting/XSL-FO">
+<polygon fill="lightsteelblue" stroke="black" points="5846,-421 5846,-496 5924,-496 5924,-421 5846,-421"/>
+<text text-anchor="middle" x="5885" y="-480.8" font-family="Times,serif" font-size="14.00">XSL-FO</text>
+</a>
+</g>
+<g id="graph44" class="cluster"><title>clusterZorbaDataProcessing</title>
 <a xlink:title="Zorba/Data Processing">
-<polygon fill="yellow" stroke="black" points="1628.82,-283 1628.82,-397 1776.82,-397 1776.82,-283 1628.82,-283"/>
-<text text-anchor="middle" x="1702.82" y="-381.8" font-family="Times,serif" font-size="14.00">Data Processing</text>
-</a>
-</g>
-<g id="graph48" class="cluster"><title>clusterZorbaDataProcessingSchemaTools</title>
+<polygon fill="lightsteelblue" stroke="black" points="5672,-291 5672,-405 5924,-405 5924,-291 5672,-291"/>
+<text text-anchor="middle" x="5798" y="-389.8" font-family="Times,serif" font-size="14.00">Data Processing</text>
+</a>
+</g>
+<g id="graph45" class="cluster"><title>clusterZorbaDataProcessingPDFReader</title>
+<a xlink:title="Zorba/Data Processing/PDF Reader">
+<polygon fill="lightsteelblue" stroke="black" points="5680,-299 5680,-374 5776,-374 5776,-299 5680,-299"/>
+<text text-anchor="middle" x="5728" y="-358.8" font-family="Times,serif" font-size="14.00">PDF Reader</text>
+</a>
+</g>
+<g id="graph46" class="cluster"><title>clusterZorbaDataProcessingSchemaTools</title>
 <a xlink:title="Zorba/Data Processing/Schema Tools">
-<polygon fill="yellow" stroke="black" points="1636.82,-291 1636.82,-366 1768.82,-366 1768.82,-291 1636.82,-291"/>
-<text text-anchor="middle" x="1702.82" y="-350.8" font-family="Times,serif" font-size="14.00">Schema Tools</text>
-</a>
-</g>
-<g id="graph49" class="cluster"><title>clusterZorbaExcel</title>
+<polygon fill="lightsteelblue" stroke="black" points="5784,-299 5784,-374 5916,-374 5916,-299 5784,-299"/>
+<text text-anchor="middle" x="5850" y="-358.8" font-family="Times,serif" font-size="14.00">Schema Tools</text>
+</a>
+</g>
+<g id="graph47" class="cluster"><title>clusterZorbaDataStore</title>
+<a xlink:title="Zorba/Data Store">
+<polygon fill="lightsteelblue" stroke="black" points="2994,-130 2994,-558 4590,-558 4590,-130 2994,-130"/>
+<text text-anchor="middle" x="3792" y="-542.8" font-family="Times,serif" font-size="14.00">Data Store</text>
+</a>
+</g>
+<g id="graph48" class="cluster"><title>clusterZorbaDataStoreCollections</title>
+<a xlink:title="Zorba/Data Store/Collections">
+<polygon fill="lightsteelblue" stroke="black" points="4108,-138 4108,-527 4582,-527 4582,-138 4108,-138"/>
+<text text-anchor="middle" x="4345" y="-511.8" font-family="Times,serif" font-size="14.00">Collections</text>
+</a>
+</g>
+<g id="graph49" class="cluster"><title>clusterZorbaDataStoreCollectionsDynamicDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Collections/Dynamic Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="4116,-146 4116,-221 4271,-221 4271,-146 4116,-146"/>
+<text text-anchor="middle" x="4193.5" y="-205.8" font-family="Times,serif" font-size="14.00">Dynamic Data Definition</text>
+</a>
+</g>
+<g id="graph50" class="cluster"><title>clusterZorbaDataStoreCollectionsDynamicDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Collections/Dynamic Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="4116,-299 4116,-374 4289,-374 4289,-299 4116,-299"/>
+<text text-anchor="middle" x="4202.5" y="-358.8" font-family="Times,serif" font-size="14.00">Dynamic Data Manipulation</text>
+</a>
+</g>
+<g id="graph51" class="cluster"><title>clusterZorbaDataStoreCollectionsStaticDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Collections/Static Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="4438,-421 4438,-496 4574,-496 4574,-421 4438,-421"/>
+<text text-anchor="middle" x="4506" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Definition</text>
+</a>
+</g>
+<g id="graph52" class="cluster"><title>clusterZorbaDataStoreCollectionsStaticDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Collections/Static Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="4276,-421 4276,-496 4430,-496 4430,-421 4276,-421"/>
+<text text-anchor="middle" x="4353" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Manipulation</text>
+</a>
+</g>
+<g id="graph53" class="cluster"><title>clusterZorbaDataStoreCollectionsW3CDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Collections/W3C Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="4297,-299 4297,-374 4431,-374 4431,-299 4297,-299"/>
+<text text-anchor="middle" x="4364" y="-358.8" font-family="Times,serif" font-size="14.00">W3C Data Definition</text>
+</a>
+</g>
+<g id="graph54" class="cluster"><title>clusterZorbaDataStoreCollectionsW3CDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Collections/W3C Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="4116,-421 4116,-496 4268,-496 4268,-421 4116,-421"/>
+<text text-anchor="middle" x="4192" y="-480.8" font-family="Times,serif" font-size="14.00">W3C Data Manipulation</text>
+</a>
+</g>
+<g id="graph55" class="cluster"><title>clusterZorbaDataStoreDataStructures</title>
+<a xlink:title="Zorba/Data Store/Data Structures">
+<polygon fill="lightsteelblue" stroke="black" points="3768,-413 3768,-527 4100,-527 4100,-413 3768,-413"/>
+<text text-anchor="middle" x="3934" y="-511.8" font-family="Times,serif" font-size="14.00">Data Structures</text>
+</a>
+</g>
+<g id="graph56" class="cluster"><title>clusterZorbaDataStoreDataStructuresQueue</title>
+<a xlink:title="Zorba/Data Store/Data Structures/Queue">
+<polygon fill="lightsteelblue" stroke="black" points="3930,-421 3930,-496 4010,-496 4010,-421 3930,-421"/>
+<text text-anchor="middle" x="3970" y="-480.8" font-family="Times,serif" font-size="14.00">Queue</text>
+</a>
+</g>
+<g id="graph57" class="cluster"><title>clusterZorbaDataStoreDataStructuresStack</title>
+<a xlink:title="Zorba/Data Store/Data Structures/Stack">
+<polygon fill="lightsteelblue" stroke="black" points="4018,-421 4018,-496 4092,-496 4092,-421 4018,-421"/>
+<text text-anchor="middle" x="4055" y="-480.8" font-family="Times,serif" font-size="14.00">Stack</text>
+</a>
+</g>
+<g id="graph58" class="cluster"><title>clusterZorbaDataStoreDataStructuresUnorderedMap</title>
+<a xlink:title="Zorba/Data Store/Data Structures/Unordered Map">
+<polygon fill="lightsteelblue" stroke="black" points="3776,-421 3776,-496 3922,-496 3922,-421 3776,-421"/>
+<text text-anchor="middle" x="3849" y="-480.8" font-family="Times,serif" font-size="14.00">Unordered Map</text>
+</a>
+</g>
+<g id="graph59" class="cluster"><title>clusterZorbaDataStoreDocuments</title>
+<a xlink:title="Zorba/Data Store/Documents">
+<polygon fill="lightsteelblue" stroke="black" points="3646,-421 3646,-496 3760,-496 3760,-421 3646,-421"/>
+<text text-anchor="middle" x="3703" y="-480.8" font-family="Times,serif" font-size="14.00">Documents</text>
+</a>
+</g>
+<g id="graph60" class="cluster"><title>clusterZorbaDataStoreIndexes</title>
+<a xlink:title="Zorba/Data Store/Indexes">
+<polygon fill="lightsteelblue" stroke="black" points="3324,-413 3324,-527 3638,-527 3638,-413 3324,-413"/>
+<text text-anchor="middle" x="3481" y="-511.8" font-family="Times,serif" font-size="14.00">Indexes</text>
+</a>
+</g>
+<g id="graph61" class="cluster"><title>clusterZorbaDataStoreIndexesStaticDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Indexes/Static Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="3494,-421 3494,-496 3630,-496 3630,-421 3494,-421"/>
+<text text-anchor="middle" x="3562" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Definition</text>
+</a>
+</g>
+<g id="graph62" class="cluster"><title>clusterZorbaDataStoreIndexesStaticDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Indexes/Static Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="3332,-421 3332,-496 3486,-496 3486,-421 3332,-421"/>
+<text text-anchor="middle" x="3409" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Manipulation</text>
+</a>
+</g>
+<g id="graph63" class="cluster"><title>clusterZorbaDataStoreIntegrityConstraints</title>
+<a xlink:title="Zorba/Data Store/Integrity Constraints">
+<polygon fill="lightsteelblue" stroke="black" points="3002,-413 3002,-527 3316,-527 3316,-413 3002,-413"/>
+<text text-anchor="middle" x="3159" y="-511.8" font-family="Times,serif" font-size="14.00">Integrity Constraints</text>
+</a>
+</g>
+<g id="graph64" class="cluster"><title>clusterZorbaDataStoreIntegrityConstraintsStaticDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Integrity Constraints/Static Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="3172,-421 3172,-496 3308,-496 3308,-421 3172,-421"/>
+<text text-anchor="middle" x="3240" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Definition</text>
+</a>
+</g>
+<g id="graph65" class="cluster"><title>clusterZorbaDataStoreIntegrityConstraintsStaticDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Integrity Constraints/Static Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="3010,-421 3010,-496 3164,-496 3164,-421 3010,-421"/>
+<text text-anchor="middle" x="3087" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Manipulation</text>
+</a>
+</g>
+<g id="graph66" class="cluster"><title>clusterZorbaDebugger</title>
+<a xlink:title="Zorba/Debugger">
+<polygon fill="lightsteelblue" stroke="black" points="2162,-421 2162,-496 2360,-496 2360,-421 2162,-421"/>
+<text text-anchor="middle" x="2261" y="-480.8" font-family="Times,serif" font-size="14.00">Debugger</text>
+</a>
+</g>
+<g id="graph67" class="cluster"><title>clusterZorbaExcel</title>
 <a xlink:title="Zorba/Excel">
-<polygon fill="yellow" stroke="black" points="342.822,-39 342.822,-397 960.822,-397 960.822,-39 342.822,-39"/>
-<text text-anchor="middle" x="651.822" y="-381.8" font-family="Times,serif" font-size="14.00">Excel</text>
+<polygon fill="lightsteelblue" stroke="black" points="2368,-138 2368,-527 2986,-527 2986,-138 2368,-138"/>
+<text text-anchor="middle" x="2677" y="-511.8" font-family="Times,serif" font-size="14.00">Excel</text>
 </a>
 </g>
-<g id="graph50" class="cluster"><title>clusterZorbaExcelDatetime</title>
+<g id="graph68" class="cluster"><title>clusterZorbaExcelDatetime</title>
 <a xlink:title="Zorba/Excel/Datetime">
-<polygon fill="yellow" stroke="black" points="852.822,-291 852.822,-366 952.822,-366 952.822,-291 852.822,-291"/>
-<text text-anchor="middle" x="902.822" y="-350.8" font-family="Times,serif" font-size="14.00">Datetime</text>
+<polygon fill="lightsteelblue" stroke="black" points="2878,-421 2878,-496 2978,-496 2978,-421 2878,-421"/>
+<text text-anchor="middle" x="2928" y="-480.8" font-family="Times,serif" font-size="14.00">Datetime</text>
 </a>
 </g>
-<g id="graph51" class="cluster"><title>clusterZorbaExcelEngineering</title>
+<g id="graph69" class="cluster"><title>clusterZorbaExcelEngineering</title>
 <a xlink:title="Zorba/Excel/Engineering">
-<polygon fill="yellow" stroke="black" points="724.822,-291 724.822,-366 844.822,-366 844.822,-291 724.822,-291"/>
-<text text-anchor="middle" x="784.822" y="-350.8" font-family="Times,serif" font-size="14.00">Engineering</text>
+<polygon fill="lightsteelblue" stroke="black" points="2750,-421 2750,-496 2870,-496 2870,-421 2750,-421"/>
+<text text-anchor="middle" x="2810" y="-480.8" font-family="Times,serif" font-size="14.00">Engineering</text>
 </a>
 </g>
-<g id="graph52" class="cluster"><title>clusterZorbaExcelInformation</title>
+<g id="graph70" class="cluster"><title>clusterZorbaExcelInformation</title>
 <a xlink:title="Zorba/Excel/Information">
-<polygon fill="yellow" stroke="black" points="738.822,-169 738.822,-244 860.822,-244 860.822,-169 738.822,-169"/>
-<text text-anchor="middle" x="799.822" y="-228.8" font-family="Times,serif" font-size="14.00">Information</text>
+<polygon fill="lightsteelblue" stroke="black" points="2764,-299 2764,-374 2886,-374 2886,-299 2764,-299"/>
+<text text-anchor="middle" x="2825" y="-358.8" font-family="Times,serif" font-size="14.00">Information</text>
 </a>
 </g>
-<g id="graph53" class="cluster"><title>clusterZorbaExcelLogical</title>
+<g id="graph71" class="cluster"><title>clusterZorbaExcelLogical</title>
 <a xlink:title="Zorba/Excel/Logical">
-<polygon fill="yellow" stroke="black" points="569.822,-291 569.822,-366 653.822,-366 653.822,-291 569.822,-291"/>
-<text text-anchor="middle" x="611.822" y="-350.8" font-family="Times,serif" font-size="14.00">Logical</text>
+<polygon fill="lightsteelblue" stroke="black" points="2595,-421 2595,-496 2679,-496 2679,-421 2595,-421"/>
+<text text-anchor="middle" x="2637" y="-480.8" font-family="Times,serif" font-size="14.00">Logical</text>
 </a>
 </g>
-<g id="graph54" class="cluster"><title>clusterZorbaExcelLookup</title>
+<g id="graph72" class="cluster"><title>clusterZorbaExcelLookup</title>
 <a xlink:title="Zorba/Excel/Lookup">
-<polygon fill="yellow" stroke="black" points="644.822,-169 644.822,-244 730.822,-244 730.822,-169 644.822,-169"/>
-<text text-anchor="middle" x="687.822" y="-228.8" font-family="Times,serif" font-size="14.00">Lookup</text>
+<polygon fill="lightsteelblue" stroke="black" points="2670,-299 2670,-374 2756,-374 2756,-299 2670,-299"/>
+<text text-anchor="middle" x="2713" y="-358.8" font-family="Times,serif" font-size="14.00">Lookup</text>
 </a>
 </g>
-<g id="graph55" class="cluster"><title>clusterZorbaExcelMath</title>
+<g id="graph73" class="cluster"><title>clusterZorbaExcelMath</title>
 <a xlink:title="Zorba/Excel/Math">
-<polygon fill="yellow" stroke="black" points="650.822,-47 650.822,-122 724.822,-122 724.822,-47 650.822,-47"/>
-<text text-anchor="middle" x="687.822" y="-106.8" font-family="Times,serif" font-size="14.00">Math</text>
+<polygon fill="lightsteelblue" stroke="black" points="2676,-146 2676,-221 2750,-221 2750,-146 2676,-146"/>
+<text text-anchor="middle" x="2713" y="-205.8" font-family="Times,serif" font-size="14.00">Math</text>
 </a>
 </g>
-<g id="graph56" class="cluster"><title>clusterZorbaExcelMathSumproduct</title>
+<g id="graph74" class="cluster"><title>clusterZorbaExcelMathSumproduct</title>
 <a xlink:title="Zorba/Excel/Math Sumproduct">
-<polygon fill="yellow" stroke="black" points="474.822,-169 474.822,-244 636.822,-244 636.822,-169 474.822,-169"/>
-<text text-anchor="middle" x="555.822" y="-228.8" font-family="Times,serif" font-size="14.00">Math Sumproduct</text>
+<polygon fill="lightsteelblue" stroke="black" points="2500,-299 2500,-374 2662,-374 2662,-299 2500,-299"/>
+<text text-anchor="middle" x="2581" y="-358.8" font-family="Times,serif" font-size="14.00">Math Sumproduct</text>
 </a>
 </g>
-<g id="graph57" class="cluster"><title>clusterZorbaExcelStatistical</title>
+<g id="graph75" class="cluster"><title>clusterZorbaExcelStatistical</title>
 <a xlink:title="Zorba/Excel/Statistical">
-<polygon fill="yellow" stroke="black" points="362.822,-169 362.822,-244 466.822,-244 466.822,-169 362.822,-169"/>
-<text text-anchor="middle" x="414.822" y="-228.8" font-family="Times,serif" font-size="14.00">Statistical</text>
+<polygon fill="lightsteelblue" stroke="black" points="2388,-299 2388,-374 2492,-374 2492,-299 2388,-299"/>
+<text text-anchor="middle" x="2440" y="-358.8" font-family="Times,serif" font-size="14.00">Statistical</text>
 </a>
 </g>
-<g id="graph58" class="cluster"><title>clusterZorbaExcelStatisticalZorba</title>
+<g id="graph76" class="cluster"><title>clusterZorbaExcelStatisticalZorba</title>
 <a xlink:title="Zorba/Excel/Statistical Zorba">
-<polygon fill="yellow" stroke="black" points="350.822,-291 350.822,-366 498.822,-366 498.822,-291 350.822,-291"/>
-<text text-anchor="middle" x="424.822" y="-350.8" font-family="Times,serif" font-size="14.00">Statistical Zorba</text>
+<polygon fill="lightsteelblue" stroke="black" points="2376,-421 2376,-496 2524,-496 2524,-421 2376,-421"/>
+<text text-anchor="middle" x="2450" y="-480.8" font-family="Times,serif" font-size="14.00">Statistical Zorba</text>
 </a>
 </g>
-<g id="graph59" class="cluster"><title>clusterZorbaExcelText</title>
+<g id="graph77" class="cluster"><title>clusterZorbaExcelText</title>
 <a xlink:title="Zorba/Excel/Text">
-<polygon fill="yellow" stroke="black" points="882.822,-169 882.822,-244 952.822,-244 952.822,-169 882.822,-169"/>
-<text text-anchor="middle" x="917.822" y="-228.8" font-family="Times,serif" font-size="14.00">Text</text>
-</a>
-</g>
-<g id="graph60" class="cluster"><title>clusterZorbaIO</title>
-<a xlink:title="Zorba/IO">
-<polygon fill="yellow" stroke="black" points="1784.82,-283 1784.82,-397 2150.82,-397 2150.82,-283 1784.82,-283"/>
-<text text-anchor="middle" x="1967.82" y="-381.8" font-family="Times,serif" font-size="14.00">IO</text>
-</a>
-</g>
-<g id="graph61" class="cluster"><title>clusterZorbaIOIMAP</title>
-<a xlink:title="Zorba/IO/IMAP">
-<polygon fill="yellow" stroke="black" points="2068.82,-291 2068.82,-366 2142.82,-366 2142.82,-291 2068.82,-291"/>
-<text text-anchor="middle" x="2105.82" y="-350.8" font-family="Times,serif" font-size="14.00">IMAP</text>
-</a>
-</g>
-<g id="graph62" class="cluster"><title>clusterZorbaIOProcess</title>
-<a xlink:title="Zorba/IO/Process">
-<polygon fill="yellow" stroke="black" points="1970.82,-291 1970.82,-366 2060.82,-366 2060.82,-291 1970.82,-291"/>
-<text text-anchor="middle" x="2015.82" y="-350.8" font-family="Times,serif" font-size="14.00">Process</text>
-</a>
-</g>
-<g id="graph63" class="cluster"><title>clusterZorbaIOSMTP</title>
-<a xlink:title="Zorba/IO/SMTP">
-<polygon fill="yellow" stroke="black" points="1888.82,-291 1888.82,-366 1962.82,-366 1962.82,-291 1888.82,-291"/>
-<text text-anchor="middle" x="1925.82" y="-350.8" font-family="Times,serif" font-size="14.00">SMTP</text>
-</a>
-</g>
-<g id="graph64" class="cluster"><title>clusterZorbaIOSystem</title>
-<a xlink:title="Zorba/IO/System">
-<polygon fill="yellow" stroke="black" points="1792.82,-291 1792.82,-366 1880.82,-366 1880.82,-291 1792.82,-291"/>
-<text text-anchor="middle" x="1836.82" y="-350.8" font-family="Times,serif" font-size="14.00">System</text>
-</a>
-</g>
-<g id="graph65" class="cluster"><title>clusterZorbaProgrammingLanguages</title>
+<polygon fill="lightsteelblue" stroke="black" points="2908,-299 2908,-374 2978,-374 2978,-299 2908,-299"/>
+<text text-anchor="middle" x="2943" y="-358.8" font-family="Times,serif" font-size="14.00">Text</text>
+</a>
+</g>
+<g id="graph78" class="cluster"><title>clusterZorbaFullText</title>
+<a xlink:title="Zorba/Full-Text">
+<polygon fill="lightsteelblue" stroke="black" points="2060,-421 2060,-496 2154,-496 2154,-421 2060,-421"/>
+<text text-anchor="middle" x="2107" y="-480.8" font-family="Times,serif" font-size="14.00">Full-Text</text>
+</a>
+</g>
+<g id="graph79" class="cluster"><title>clusterZorbaGeoProjection</title>
+<a xlink:title="Zorba/Geo Projection">
+<polygon fill="lightsteelblue" stroke="black" points="839,-299 839,-374 937,-374 937,-299 839,-299"/>
+<text text-anchor="middle" x="888" y="-358.8" font-family="Times,serif" font-size="14.00">Geo Projection</text>
+</a>
+</g>
+<g id="graph80" class="cluster"><title>clusterZorbaImage</title>
+<a xlink:title="Zorba/Image">
+<polygon fill="lightsteelblue" stroke="black" points="1516,-413 1516,-527 2052,-527 2052,-413 1516,-413"/>
+<text text-anchor="middle" x="1784" y="-511.8" font-family="Times,serif" font-size="14.00">Image</text>
+</a>
+</g>
+<g id="graph81" class="cluster"><title>clusterZorbaImageAnimation</title>
+<a xlink:title="Zorba/Image/Animation">
+<polygon fill="lightsteelblue" stroke="black" points="1524,-421 1524,-496 1632,-496 1632,-421 1524,-421"/>
+<text text-anchor="middle" x="1578" y="-480.8" font-family="Times,serif" font-size="14.00">Animation</text>
+</a>
+</g>
+<g id="graph82" class="cluster"><title>clusterZorbaImageBasic</title>
+<a xlink:title="Zorba/Image/Basic">
+<polygon fill="lightsteelblue" stroke="black" points="1640,-421 1640,-496 1714,-496 1714,-421 1640,-421"/>
+<text text-anchor="middle" x="1677" y="-480.8" font-family="Times,serif" font-size="14.00">Basic</text>
+</a>
+</g>
+<g id="graph83" class="cluster"><title>clusterZorbaImageGraphviz</title>
+<a xlink:title="Zorba/Image/Graphviz">
+<polygon fill="lightsteelblue" stroke="black" points="1722,-421 1722,-496 1822,-496 1822,-421 1722,-421"/>
+<text text-anchor="middle" x="1772" y="-480.8" font-family="Times,serif" font-size="14.00">Graphviz</text>
+</a>
+</g>
+<g id="graph84" class="cluster"><title>clusterZorbaImageManipulation</title>
+<a xlink:title="Zorba/Image/Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="1830,-421 1830,-496 1962,-496 1962,-421 1830,-421"/>
+<text text-anchor="middle" x="1896" y="-480.8" font-family="Times,serif" font-size="14.00">Manipulation</text>
+</a>
+</g>
+<g id="graph85" class="cluster"><title>clusterZorbaImagePaint</title>
+<a xlink:title="Zorba/Image/Paint">
+<polygon fill="lightsteelblue" stroke="black" points="1970,-421 1970,-496 2044,-496 2044,-421 1970,-421"/>
+<text text-anchor="middle" x="2007" y="-480.8" font-family="Times,serif" font-size="14.00">Paint</text>
+</a>
+</g>
+<g id="graph86" class="cluster"><title>clusterZorbaInputOutput</title>
+<a xlink:title="Zorba/Input Output">
+<polygon fill="lightsteelblue" stroke="black" points="5258,-138 5258,-252 5916,-252 5916,-138 5258,-138"/>
+<text text-anchor="middle" x="5587" y="-236.8" font-family="Times,serif" font-size="14.00">Input Output</text>
+</a>
+</g>
+<g id="graph87" class="cluster"><title>clusterZorbaInputOutputFetch</title>
+<a xlink:title="Zorba/Input Output/Fetch">
+<polygon fill="lightsteelblue" stroke="black" points="5716,-146 5716,-221 5790,-221 5790,-146 5716,-146"/>
+<text text-anchor="middle" x="5753" y="-205.8" font-family="Times,serif" font-size="14.00">Fetch</text>
+</a>
+</g>
+<g id="graph88" class="cluster"><title>clusterZorbaInputOutputHTTPClient</title>
+<a xlink:title="Zorba/Input Output/HTTP Client">
+<polygon fill="lightsteelblue" stroke="black" points="5798,-146 5798,-221 5908,-221 5908,-146 5798,-146"/>
+<text text-anchor="middle" x="5853" y="-205.8" font-family="Times,serif" font-size="14.00">HTTP Client</text>
+</a>
+</g>
+<g id="graph89" class="cluster"><title>clusterZorbaInputOutputIMAP</title>
+<a xlink:title="Zorba/Input Output/IMAP">
+<polygon fill="lightsteelblue" stroke="black" points="5634,-146 5634,-221 5708,-221 5708,-146 5634,-146"/>
+<text text-anchor="middle" x="5671" y="-205.8" font-family="Times,serif" font-size="14.00">IMAP</text>
+</a>
+</g>
+<g id="graph90" class="cluster"><title>clusterZorbaInputOutputProcess</title>
+<a xlink:title="Zorba/Input Output/Process">
+<polygon fill="lightsteelblue" stroke="black" points="5444,-146 5444,-221 5626,-221 5626,-146 5444,-146"/>
+<text text-anchor="middle" x="5535" y="-205.8" font-family="Times,serif" font-size="14.00">Process</text>
+</a>
+</g>
+<g id="graph91" class="cluster"><title>clusterZorbaInputOutputSMTP</title>
+<a xlink:title="Zorba/Input Output/SMTP">
+<polygon fill="lightsteelblue" stroke="black" points="5362,-146 5362,-221 5436,-221 5436,-146 5362,-146"/>
+<text text-anchor="middle" x="5399" y="-205.8" font-family="Times,serif" font-size="14.00">SMTP</text>
+</a>
+</g>
+<g id="graph92" class="cluster"><title>clusterZorbaInputOutputSystem</title>
+<a xlink:title="Zorba/Input Output/System">
+<polygon fill="lightsteelblue" stroke="black" points="5266,-146 5266,-221 5354,-221 5354,-146 5266,-146"/>
+<text text-anchor="middle" x="5310" y="-205.8" font-family="Times,serif" font-size="14.00">System</text>
+</a>
+</g>
+<g id="graph93" class="cluster"><title>clusterZorbaIntrospection</title>
+<a xlink:title="Zorba/Introspection">
+<polygon fill="lightsteelblue" stroke="black" points="1398,-413 1398,-527 1508,-527 1508,-413 1398,-413"/>
+<text text-anchor="middle" x="1453" y="-511.8" font-family="Times,serif" font-size="14.00">Introspection</text>
+</a>
+</g>
+<g id="graph94" class="cluster"><title>clusterZorbaIntrospectionStaticContext</title>
+<a xlink:title="Zorba/Introspection/Static Context">
+<polygon fill="lightsteelblue" stroke="black" points="1406,-421 1406,-496 1500,-496 1500,-421 1406,-421"/>
+<text text-anchor="middle" x="1453" y="-480.8" font-family="Times,serif" font-size="14.00">Static Context</text>
+</a>
+</g>
+<g id="graph95" class="cluster"><title>clusterZorbaJVMUtility</title>
+<a xlink:title="Zorba/JVM Utility">
+<polygon fill="lightsteelblue" stroke="black" points="5932,-299 5932,-374 6028,-374 6028,-299 5932,-299"/>
+<text text-anchor="middle" x="5980" y="-358.8" font-family="Times,serif" font-size="14.00">JVM Utility</text>
+</a>
+</g>
+<g id="graph96" class="cluster"><title>clusterZorbaOAuth</title>
+<a xlink:title="Zorba/OAuth">
+<polygon fill="lightsteelblue" stroke="black" points="547,-291 547,-527 641,-527 641,-291 547,-291"/>
+<text text-anchor="middle" x="594" y="-511.8" font-family="Times,serif" font-size="14.00">OAuth</text>
+</a>
+</g>
+<g id="graph97" class="cluster"><title>clusterZorbaOAuthClient</title>
+<a xlink:title="Zorba/OAuth/Client">
+<polygon fill="lightsteelblue" stroke="black" points="555,-421 555,-496 633,-496 633,-421 555,-421"/>
+<text text-anchor="middle" x="594" y="-480.8" font-family="Times,serif" font-size="14.00">Client</text>
+</a>
+</g>
+<g id="graph98" class="cluster"><title>clusterZorbaOAuthErrors</title>
+<a xlink:title="Zorba/OAuth/Errors">
+<polygon fill="lightsteelblue" stroke="black" points="558,-299 558,-374 630,-374 630,-299 558,-299"/>
+<text text-anchor="middle" x="594" y="-358.8" font-family="Times,serif" font-size="14.00">Errors</text>
+</a>
+</g>
+<g id="graph99" class="cluster"><title>clusterZorbaProgrammingLanguages</title>
 <a xlink:title="Zorba/Programming Languages">
-<polygon fill="yellow" stroke="black" points="2158.82,-283 2158.82,-397 2326.82,-397 2326.82,-283 2158.82,-283"/>
-<text text-anchor="middle" x="2242.82" y="-381.8" font-family="Times,serif" font-size="14.00">Programming Languages</text>
-</a>
-</g>
-<g id="graph66" class="cluster"><title>clusterZorbaProgrammingLanguagesXQuery</title>
-<a xlink:title="Zorba/Programming Languages/XQuery">
-<polygon fill="yellow" stroke="black" points="2244.82,-291 2244.82,-366 2318.82,-366 2318.82,-291 2244.82,-291"/>
-<text text-anchor="middle" x="2281.82" y="-350.8" font-family="Times,serif" font-size="14.00">XQuery</text>
-</a>
-</g>
-<g id="graph67" class="cluster"><title>clusterZorbaProgrammingLanguagesXSLT</title>
+<polygon fill="lightsteelblue" stroke="black" points="1222,-413 1222,-527 1390,-527 1390,-413 1222,-413"/>
+<text text-anchor="middle" x="1306" y="-511.8" font-family="Times,serif" font-size="14.00">Programming Languages</text>
+</a>
+</g>
+<g id="graph100" class="cluster"><title>clusterZorbaProgrammingLanguagesXQXQ</title>
+<a xlink:title="Zorba/Programming Languages/XQXQ">
+<polygon fill="lightsteelblue" stroke="black" points="1308,-421 1308,-496 1382,-496 1382,-421 1308,-421"/>
+<text text-anchor="middle" x="1345" y="-480.8" font-family="Times,serif" font-size="14.00">XQXQ</text>
+</a>
+</g>
+<g id="graph101" class="cluster"><title>clusterZorbaProgrammingLanguagesXSLT</title>
 <a xlink:title="Zorba/Programming Languages/XSLT">
-<polygon fill="yellow" stroke="black" points="2166.82,-291 2166.82,-366 2236.82,-366 2236.82,-291 2166.82,-291"/>
-<text text-anchor="middle" x="2201.82" y="-350.8" font-family="Times,serif" font-size="14.00">XSLT</text>
-</a>
-</g>
-<g id="graph68" class="cluster"><title>cluster17</title>
-<a xlink:title="debugger">
-<polygon fill="Chartreuse" stroke="black" points="2764.82,-291 2764.82,-366 2962.82,-366 2962.82,-291 2764.82,-291"/>
-<text text-anchor="middle" x="2863.82" y="-350.8" font-family="Times,serif" font-size="14.00">debugger</text>
-</a>
-</g>
-<g id="graph69" class="cluster"><title>cluster18</title>
-<a xlink:title="error">
-<polygon fill="DarkGoldenRod" stroke="black" points="4637.82,-444 4637.82,-519 5009.82,-519 5009.82,-444 4637.82,-444"/>
-<text text-anchor="middle" x="4823.82" y="-503.8" font-family="Times,serif" font-size="14.00">error</text>
-</a>
-</g>
-<g id="graph70" class="cluster"><title>cluster19</title>
-<a xlink:title="information extraction">
-<polygon fill="DarkSeaGreen" stroke="black" points="3750.82,-291 3750.82,-366 3892.82,-366 3892.82,-291 3750.82,-291"/>
-<text text-anchor="middle" x="3821.82" y="-350.8" font-family="Times,serif" font-size="14.00">information extraction</text>
-</a>
-</g>
-<g id="graph71" class="cluster"><title>cluster20</title>
-<a xlink:title="jsoniq.org">
-<polygon fill="DarkSlateBlue" stroke="black" points="66.8215,-169 66.8215,-366 214.822,-366 214.822,-169 66.8215,-169"/>
-<text text-anchor="middle" x="140.822" y="-350.8" font-family="Times,serif" font-size="14.00">jsoniq.org</text>
-</a>
-</g>
-<g id="graph72" class="cluster"><title>cluster21</title>
-<a xlink:title="other data sources">
-<polygon fill="DodgerBlue" stroke="black" points="5019.82,-436 5019.82,-550 5134.82,-550 5134.82,-436 5019.82,-436"/>
-<text text-anchor="middle" x="5077.32" y="-534.8" font-family="Times,serif" font-size="14.00">other data sources</text>
-</a>
-</g>
-<g id="graph73" class="cluster"><title>clusterotherdatasourcesjdbcmodule</title>
-<a xlink:title="other data sources/jdbc module">
-<polygon fill="DodgerBlue" stroke="black" points="5034.82,-444 5034.82,-519 5119.82,-519 5119.82,-444 5034.82,-444"/>
-<text text-anchor="middle" x="5077.32" y="-503.8" font-family="Times,serif" font-size="14.00">jdbc module</text>
-</a>
-</g>
-<g id="graph74" class="cluster"><title>cluster22</title>
-<a xlink:title="utils">
-<polygon fill="AntiqueWhite" stroke="black" points="3193.82,-161 3193.82,-275 3305.82,-275 3305.82,-161 3193.82,-161"/>
-<text text-anchor="middle" x="3249.82" y="-259.8" font-family="Times,serif" font-size="14.00">utils</text>
-</a>
-</g>
-<g id="graph75" class="cluster"><title>clusterutilsutiljvm</title>
-<a xlink:title="utils/util jvm">
-<polygon fill="AntiqueWhite" stroke="black" points="3201.82,-169 3201.82,-244 3297.82,-244 3297.82,-169 3201.82,-169"/>
-<text text-anchor="middle" x="3249.82" y="-228.8" font-family="Times,serif" font-size="14.00">util jvm</text>
-</a>
-</g>
-<g id="graph76" class="cluster"><title>cluster23</title>
-<a xlink:title="www.zorba-xquery.com">
-<polygon fill="Aquamarine" stroke="black" points="3000.82,-283 3000.82,-397 3444.82,-397 3444.82,-283 3000.82,-283"/>
-<text text-anchor="middle" x="3222.82" y="-381.8" font-family="Times,serif" font-size="14.00">www.zorba-xquery.com</text>
-</a>
-</g>
-<g id="graph77" class="cluster"><title>clusterwwwzorbaxquerycommodules</title>
-<a xlink:title="www.zorba-xquery.com/modules">
-<polygon fill="Aquamarine" stroke="black" points="3008.82,-291 3008.82,-366 3436.82,-366 3436.82,-291 3008.82,-291"/>
-<text text-anchor="middle" x="3222.82" y="-350.8" font-family="Times,serif" font-size="14.00">modules</text>
-</a>
-</g>
-<g id="graph78" class="cluster"><title>clusterExternalCPPLibs</title>
+<polygon fill="lightsteelblue" stroke="black" points="1230,-421 1230,-496 1300,-496 1300,-421 1230,-421"/>
+<text text-anchor="middle" x="1265" y="-480.8" font-family="Times,serif" font-size="14.00">XSLT</text>
+</a>
+</g>
+<g id="graph102" class="cluster"><title>clusterZorbaReflection</title>
+<a xlink:title="Zorba/Reflection">
+<polygon fill="lightsteelblue" stroke="black" points="5924,-146 5924,-221 6028,-221 6028,-146 5924,-146"/>
+<text text-anchor="middle" x="5976" y="-205.8" font-family="Times,serif" font-size="14.00">Reflection</text>
+</a>
+</g>
+<g id="graph103" class="cluster"><title>clusterZorbaXQDoc</title>
+<a xlink:title="Zorba/XQDoc">
+<polygon fill="lightsteelblue" stroke="black" points="945,-291 945,-527 1214,-527 1214,-291 945,-291"/>
+<text text-anchor="middle" x="1079.5" y="-511.8" font-family="Times,serif" font-size="14.00">XQDoc</text>
+</a>
+</g>
+<g id="graph104" class="cluster"><title>clusterZorbaXQDocBatch</title>
+<a xlink:title="Zorba/XQDoc/Batch">
+<polygon fill="lightsteelblue" stroke="black" points="1128,-421 1128,-496 1204,-496 1204,-421 1128,-421"/>
+<text text-anchor="middle" x="1166" y="-480.8" font-family="Times,serif" font-size="14.00">Batch</text>
+</a>
+</g>
+<g id="graph105" class="cluster"><title>clusterZorbaXQDocHTML</title>
+<a xlink:title="Zorba/XQDoc/HTML">
+<polygon fill="lightsteelblue" stroke="black" points="953,-299 953,-374 1023,-374 1023,-299 953,-299"/>
+<text text-anchor="middle" x="988" y="-358.8" font-family="Times,serif" font-size="14.00">HTML</text>
+</a>
+</g>
+<g id="graph106" class="cluster"><title>clusterZorbaXQDocMenu</title>
+<a xlink:title="Zorba/XQDoc/Menu">
+<polygon fill="lightsteelblue" stroke="black" points="1031,-299 1031,-374 1109,-374 1109,-299 1031,-299"/>
+<text text-anchor="middle" x="1070" y="-358.8" font-family="Times,serif" font-size="14.00">Menu</text>
+</a>
+</g>
+<g id="graph107" class="cluster"><title>clusterZorbaXQDocXQDocCore</title>
+<a xlink:title="Zorba/XQDoc/XQDoc Core">
+<polygon fill="lightsteelblue" stroke="black" points="1117,-299 1117,-374 1206,-374 1206,-299 1117,-299"/>
+<text text-anchor="middle" x="1161.5" y="-358.8" font-family="Times,serif" font-size="14.00">XQDoc Core</text>
+</a>
+</g>
+<g id="graph108" class="cluster"><title>clusterZorbaXQueryDataModel</title>
+<a xlink:title="Zorba/XQuery Data Model">
+<polygon fill="lightsteelblue" stroke="black" points="946,-130 946,-283 2120,-283 2120,-130 946,-130"/>
+<text text-anchor="middle" x="1533" y="-267.8" font-family="Times,serif" font-size="14.00">XQuery Data Model</text>
+</a>
+</g>
+<g id="graph109" class="cluster"><title>clusterZorbaXQueryDataModelAtomic</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic">
+<polygon fill="lightsteelblue" stroke="black" points="1456,-138 1456,-252 1918,-252 1918,-138 1456,-138"/>
+<text text-anchor="middle" x="1687" y="-236.8" font-family="Times,serif" font-size="14.00">Atomic</text>
+</a>
+</g>
+<g id="graph110" class="cluster"><title>clusterZorbaXQueryDataModelAtomicDatetime</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/Datetime">
+<polygon fill="lightsteelblue" stroke="black" points="1810,-146 1810,-221 1910,-221 1910,-146 1810,-146"/>
+<text text-anchor="middle" x="1860" y="-205.8" font-family="Times,serif" font-size="14.00">Datetime</text>
+</a>
+</g>
+<g id="graph111" class="cluster"><title>clusterZorbaXQueryDataModelAtomicMath</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/Math">
+<polygon fill="lightsteelblue" stroke="black" points="1728,-146 1728,-221 1802,-221 1802,-146 1728,-146"/>
+<text text-anchor="middle" x="1765" y="-205.8" font-family="Times,serif" font-size="14.00">Math</text>
+</a>
+</g>
+<g id="graph112" class="cluster"><title>clusterZorbaXQueryDataModelAtomicRandom</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/Random">
+<polygon fill="lightsteelblue" stroke="black" points="1628,-146 1628,-221 1720,-221 1720,-146 1628,-146"/>
+<text text-anchor="middle" x="1674" y="-205.8" font-family="Times,serif" font-size="14.00">Random</text>
+</a>
+</g>
+<g id="graph113" class="cluster"><title>clusterZorbaXQueryDataModelAtomicString</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/String">
+<polygon fill="lightsteelblue" stroke="black" points="1542,-146 1542,-221 1620,-221 1620,-146 1542,-146"/>
+<text text-anchor="middle" x="1581" y="-205.8" font-family="Times,serif" font-size="14.00">String</text>
+</a>
+</g>
+<g id="graph114" class="cluster"><title>clusterZorbaXQueryDataModelAtomicURI</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/URI">
+<polygon fill="lightsteelblue" stroke="black" points="1464,-146 1464,-221 1534,-221 1534,-146 1464,-146"/>
+<text text-anchor="middle" x="1499" y="-205.8" font-family="Times,serif" font-size="14.00">URI</text>
+</a>
+</g>
+<g id="graph115" class="cluster"><title>clusterZorbaXQueryDataModelItem</title>
+<a xlink:title="Zorba/XQuery Data Model/Item">
+<polygon fill="lightsteelblue" stroke="black" points="1926,-138 1926,-252 2112,-252 2112,-138 1926,-138"/>
+<text text-anchor="middle" x="2019" y="-236.8" font-family="Times,serif" font-size="14.00">Item</text>
+</a>
+</g>
+<g id="graph116" class="cluster"><title>clusterZorbaXQueryDataModelItemItem</title>
+<a xlink:title="Zorba/XQuery Data Model/Item/Item">
+<polygon fill="lightsteelblue" stroke="black" points="2034,-146 2034,-221 2104,-221 2104,-146 2034,-146"/>
+<text text-anchor="middle" x="2069" y="-205.8" font-family="Times,serif" font-size="14.00">Item</text>
+</a>
+</g>
+<g id="graph117" class="cluster"><title>clusterZorbaXQueryDataModelItemSchema</title>
+<a xlink:title="Zorba/XQuery Data Model/Item/Schema">
+<polygon fill="lightsteelblue" stroke="black" points="1934,-146 1934,-221 2026,-221 2026,-146 1934,-146"/>
+<text text-anchor="middle" x="1980" y="-205.8" font-family="Times,serif" font-size="14.00">Schema</text>
+</a>
+</g>
+<g id="graph118" class="cluster"><title>clusterZorbaXQueryDataModelNode</title>
+<a xlink:title="Zorba/XQuery Data Model/Node">
+<polygon fill="lightsteelblue" stroke="black" points="954,-138 954,-252 1448,-252 1448,-138 954,-138"/>
+<text text-anchor="middle" x="1201" y="-236.8" font-family="Times,serif" font-size="14.00">Node</text>
+</a>
+</g>
+<g id="graph119" class="cluster"><title>clusterZorbaXQueryDataModelNodeNode</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Node">
+<polygon fill="lightsteelblue" stroke="black" points="1368,-146 1368,-221 1440,-221 1440,-146 1368,-146"/>
+<text text-anchor="middle" x="1404" y="-205.8" font-family="Times,serif" font-size="14.00">Node</text>
+</a>
+</g>
+<g id="graph120" class="cluster"><title>clusterZorbaXQueryDataModelNodeNodePosition</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Node Position">
+<polygon fill="lightsteelblue" stroke="black" points="1226,-146 1226,-221 1360,-221 1360,-146 1226,-146"/>
+<text text-anchor="middle" x="1293" y="-205.8" font-family="Times,serif" font-size="14.00">Node Position</text>
+</a>
+</g>
+<g id="graph121" class="cluster"><title>clusterZorbaXQueryDataModelNodeNodeReference</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Node Reference">
+<polygon fill="lightsteelblue" stroke="black" points="1074,-146 1074,-221 1218,-221 1218,-146 1074,-146"/>
+<text text-anchor="middle" x="1146" y="-205.8" font-family="Times,serif" font-size="14.00">Node Reference</text>
+</a>
+</g>
+<g id="graph122" class="cluster"><title>clusterZorbaXQueryDataModelNodeReference</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Reference">
+<polygon fill="lightsteelblue" stroke="black" points="962,-146 962,-221 1066,-221 1066,-146 962,-146"/>
+<text text-anchor="middle" x="1014" y="-205.8" font-family="Times,serif" font-size="14.00">Reference</text>
+</a>
+</g>
+<g id="graph123" class="cluster"><title>clusterZorbaZorbaErrorCodes</title>
+<a xlink:title="Zorba/Zorba Error Codes">
+<polygon fill="lightsteelblue" stroke="black" points="420,-421 420,-496 539,-496 539,-421 420,-421"/>
+<text text-anchor="middle" x="479.5" y="-480.8" font-family="Times,serif" font-size="14.00">Zorba Error Codes</text>
+</a>
+</g>
+<g id="graph124" class="cluster"><title>clusterZorbaZorbaWarningCodes</title>
+<a xlink:title="Zorba/Zorba Warning Codes">
+<polygon fill="lightsteelblue" stroke="black" points="274,-421 274,-496 412,-496 412,-421 274,-421"/>
+<text text-anchor="middle" x="343" y="-480.8" font-family="Times,serif" font-size="14.00">Zorba Warning Codes</text>
+</a>
+</g>
+<g id="graph125" class="cluster"><title>clusterExternalCPPLibs</title>
 <a xlink:title="Zorba modules dependency graph">
-<polygon fill="darksalmon" stroke="black" points="3345.82,-47 3345.82,-122 4179.82,-122 4179.82,-47 3345.82,-47"/>
-<text text-anchor="middle" x="3762.82" y="-106.8" font-family="Times,serif" font-size="14.00">External C++ Library dependencies</text>
+<polygon fill="darksalmon" stroke="black" points="6044,-47 6044,-122 6876,-122 6876,-47 6044,-47"/>
+<text text-anchor="middle" x="6460" y="-106.8" font-family="Times,serif" font-size="14.00">External C++ Library dependencies</text>
+</a>
+</g>
+<!-- 43 -->
+<g id="node3" class="node"><title>43</title>
+<a xlink:href="../modules_jsoniq_Errors.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/errors";>
+<ellipse fill="white" stroke="white" cx="211" cy="-447" rx="31.2965" ry="18"/>
+<text text-anchor="middle" x="211" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
+</a>
+</g>
+<!-- 42 -->
+<g id="node5" class="node"><title>42</title>
+<a xlink:href="../modules_jsoniq_Function Library.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/function-library";>
+<ellipse fill="white" stroke="white" cx="90" cy="-447" rx="65.9423" ry="18"/>
+<text text-anchor="middle" x="90" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">function-library</text>
+</a>
+</g>
+<!-- 41 -->
+<g id="node7" class="node"><title>41</title>
+<a xlink:href="../modules_jsoniq_Functions.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/functions";>
+<ellipse fill="white" stroke="white" cx="144" cy="-325" rx="43.319" ry="18"/>
+<text text-anchor="middle" x="144" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">functions</text>
+</a>
+</g>
+<!-- 42&#45;&gt;41 -->
+<g id="edge196" class="edge"><title>42-&gt;41</title>
+<a xlink:title="FROM: http://jsoniq.org/function-library, TO: http://jsoniq.org/functions";>
+<path fill="none" stroke="black" d="M97.6224,-429.061C106.628,-409.05 121.711,-375.531 132.223,-352.172"/>
+<polygon fill="black" stroke="black" points="135.504,-353.408 136.416,-342.852 129.121,-350.535 135.504,-353.408"/>
+</a>
+</g>
+<!-- 13 -->
+<g id="node208" class="node"><title>13</title>
+<a xlink:href="../modules_zorba_xquery_data_model_item_Schema.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/schema";>
+<ellipse fill="white" stroke="white" cx="1980" cy="-172" rx="37.5442" ry="18"/>
+<text text-anchor="middle" x="1980" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">schema</text>
+</a>
+</g>
+<!-- 41&#45;&gt;13 -->
+<g id="edge194" class="edge"><title>41-&gt;13</title>
+<a xlink:title="FROM: http://jsoniq.org/functions, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M185.549,-319.627C259.524,-312.071 418.981,-296.823 554,-291 572.872,-290.186 1897.59,-292.355 1914,-283 1945.09,-265.278 1963.15,-226.471 1972.29,-200.027"/>
+<polygon fill="black" stroke="black" points="1975.71,-200.82 1975.47,-190.228 1969.06,-198.66 1975.71,-200.82"/>
+</a>
+</g>
+<!-- 48 -->
+<g id="node10" class="node"><title>48</title>
+<a xlink:href="../modules_w3c_XPath Errors Codes.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xqt-errors";>
+<ellipse fill="white" stroke="white" cx="7023" cy="-447" rx="45.244" ry="18"/>
+<text text-anchor="middle" x="7023" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">xqt-errors</text>
+</a>
+</g>
+<!-- 46 -->
+<g id="node12" class="node"><title>46</title>
+<a xlink:href="../modules_w3c_XPath Functions.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions";>
+<ellipse fill="white" stroke="white" cx="6879" cy="-447" rx="65.4659" ry="18"/>
+<text text-anchor="middle" x="6879" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">xpath-functions</text>
+</a>
+</g>
+<!-- 47 -->
+<g id="node14" class="node"><title>47</title>
+<a xlink:href="../modules_w3c_XPath Math Functions.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions/math";>
+<ellipse fill="white" stroke="white" cx="6727" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="6727" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
 </a>
 </g>
 <!-- 44 -->
-<g id="node3" class="node"><title>44</title>
-<a xlink:href="../www.w3.org_2005_xpath-functions.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions";>
-<ellipse fill="white" stroke="white" cx="1792.82" cy="-470" rx="65.4659" ry="18"/>
-<text text-anchor="middle" x="1792.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">xpath-functions</text>
-</a>
-</g>
-<!-- 45 -->
-<g id="node4" class="node"><title>45</title>
-<a xlink:href="../www.w3.org_2005_xpath-functions_math.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions/math";>
-<ellipse fill="white" stroke="white" cx="1680.82" cy="-470" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="1680.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
-</a>
-</g>
-<!-- 3 -->
-<g id="node7" class="node"><title>3</title>
-<a xlink:href="../www.zorba-xquery.com_modules_datetime.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/datetime";>
-<ellipse fill="white" stroke="white" cx="3179.82" cy="-73" rx="41.394" ry="18"/>
-<text text-anchor="middle" x="3179.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">datetime</text>
-</a>
-</g>
-<!-- 5 -->
-<g id="node8" class="node"><title>5</title>
-<a xlink:href="../www.zorba-xquery.com_modules_math.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/math";>
-<ellipse fill="white" stroke="white" cx="3091.82" cy="-73" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="3091.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
-</a>
-</g>
-<!-- 10 -->
-<g id="node9" class="node"><title>10</title>
-<a xlink:href="../www.zorba-xquery.com_modules_random.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/random";>
-<ellipse fill="white" stroke="white" cx="3006.82" cy="-73" rx="38.0212" ry="18"/>
-<text text-anchor="middle" x="3006.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">random</text>
-</a>
-</g>
-<!-- 13 -->
-<g id="node10" class="node"><title>13</title>
-<a xlink:href="../www.zorba-xquery.com_modules_string.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/string";>
-<ellipse fill="white" stroke="white" cx="2919.82" cy="-73" rx="30.3206" ry="18"/>
-<text text-anchor="middle" x="2919.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">string</text>
-</a>
-</g>
-<!-- 14 -->
-<g id="node11" class="node"><title>14</title>
-<a xlink:href="../www.zorba-xquery.com_modules_uri.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/uri";>
-<ellipse fill="white" stroke="white" cx="2843.82" cy="-73" rx="27" ry="18"/>
-<text text-anchor="middle" x="2843.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">uri</text>
-</a>
-</g>
-<!-- 12 -->
-<g id="node13" class="node"><title>12</title>
-<a xlink:href="../www.zorba-xquery.com_modules_schema.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/schema";>
-<ellipse fill="white" stroke="white" cx="3283.82" cy="-73" rx="37.5442" ry="18"/>
-<text text-anchor="middle" x="3283.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">schema</text>
-</a>
-</g>
-<!-- 8 -->
-<g id="node15" class="node"><title>8</title>
-<a xlink:href="../www.zorba-xquery.com_modules_node.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node";>
-<ellipse fill="white" stroke="white" cx="2764.82" cy="-73" rx="27.4223" ry="18"/>
-<text text-anchor="middle" x="2764.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">node</text>
-</a>
-</g>
-<!-- 7 -->
-<g id="node16" class="node"><title>7</title>
-<a xlink:href="../www.zorba-xquery.com_modules_node-position.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-position";>
-<ellipse fill="white" stroke="white" cx="2659.82" cy="-73" rx="59.2173" ry="18"/>
-<text text-anchor="middle" x="2659.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">node-position</text>
-</a>
-</g>
-<!-- 6 -->
-<g id="node17" class="node"><title>6</title>
-<a xlink:href="../www.zorba-xquery.com_modules_node-reference.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-reference";>
-<ellipse fill="white" stroke="white" cx="2518.82" cy="-73" rx="63.5411" ry="18"/>
-<text text-anchor="middle" x="2518.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">node-reference</text>
-</a>
-</g>
-<!-- 25 -->
-<g id="node21" class="node"><title>25</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
-<ellipse fill="white" stroke="white" cx="4935.82" cy="-73" rx="27" ry="18"/>
-<text text-anchor="middle" x="4935.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
-</a>
-</g>
-<!-- 26 -->
-<g id="node22" class="node"><title>26</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
-<ellipse fill="white" stroke="white" cx="5007.82" cy="-73" rx="27" ry="18"/>
-<text text-anchor="middle" x="5007.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
-</a>
-</g>
-<!-- 29 -->
-<g id="node24" class="node"><title>29</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_static_collections_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/ddl";>
-<ellipse fill="white" stroke="white" cx="5085.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="5085.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
-</a>
-</g>
-<!-- 30 -->
-<g id="node25" class="node"><title>30</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_static_collections_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/dml";>
-<ellipse fill="white" stroke="white" cx="5013.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="5013.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
-</a>
-</g>
-<!-- 27 -->
-<g id="node27" class="node"><title>27</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_w3c_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl";>
-<ellipse fill="white" stroke="white" cx="4935.82" cy="-195" rx="27" ry="18"/>
-<text text-anchor="middle" x="4935.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
-</a>
-</g>
-<!-- 27&#45;&gt;25 -->
-<g id="edge147" class="edge"><title>27-&gt;25</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
-<path fill="none" stroke="black" d="M4935.82,-176.807C4935.82,-157.114 4935.82,-124.583 4935.82,-101.39"/>
-<polygon fill="black" stroke="black" points="4939.32,-101.161 4935.82,-91.1612 4932.32,-101.161 4939.32,-101.161"/>
-</a>
-</g>
-<!-- 28 -->
-<g id="node28" class="node"><title>28</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_collections_w3c_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml";>
-<ellipse fill="white" stroke="white" cx="4935.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="4935.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
-</a>
-</g>
-<!-- 28&#45;&gt;26 -->
-<g id="edge151" class="edge"><title>28-&gt;26</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
-<path fill="none" stroke="black" d="M4951.33,-302.251C4958.67,-294.89 4966.89,-285.241 4971.82,-275 4999.58,-217.365 5006.09,-141.109 5007.52,-101.123"/>
-<polygon fill="black" stroke="black" points="5011.02,-101.174 5007.8,-91.0816 5004.02,-100.982 5011.02,-101.174"/>
-</a>
-</g>
-<!-- 28&#45;&gt;27 -->
-<g id="edge149" class="edge"><title>28-&gt;27</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl";>
-<path fill="none" stroke="black" d="M4935.82,-298.807C4935.82,-279.114 4935.82,-246.583 4935.82,-223.39"/>
-<polygon fill="black" stroke="black" points="4939.32,-223.161 4935.82,-213.161 4932.32,-223.161 4939.32,-223.161"/>
-</a>
-</g>
-<!-- 82 -->
-<g id="node30" class="node"><title>82</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_queue.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/queue";>
-<ellipse fill="white" stroke="white" cx="4844.82" cy="-195" rx="31.2735" ry="18"/>
-<text text-anchor="middle" x="4844.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">queue</text>
-</a>
-</g>
-<!-- 82&#45;&gt;25 -->
-<g id="edge203" class="edge"><title>82-&gt;25</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
-<path fill="none" stroke="black" d="M4856.72,-178.312C4872.34,-157.716 4899.89,-121.382 4918,-97.4967"/>
-<polygon fill="black" stroke="black" points="4920.96,-99.3952 4924.21,-89.3123 4915.38,-95.1655 4920.96,-99.3952"/>
-</a>
-</g>
-<!-- 82&#45;&gt;26 -->
-<g id="edge205" class="edge"><title>82-&gt;26</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
-<path fill="none" stroke="black" d="M4862.53,-179.875C4872.12,-172.996 4884.51,-165.299 4896.82,-161 4912.65,-155.476 4958.23,-162.803 4971.82,-153 4988.79,-140.767 4997.94,-118.584 5002.76,-100.832"/>
-<polygon fill="black" stroke="black" points="5006.19,-101.542 5005.13,-91.0009 4999.38,-99.9042 5006.19,-101.542"/>
-</a>
-</g>
-<!-- 84 -->
-<g id="node31" class="node"><title>84</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_stack.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/stack";>
-<ellipse fill="white" stroke="white" cx="4766.82" cy="-195" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="4766.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">stack</text>
-</a>
-</g>
-<!-- 84&#45;&gt;25 -->
-<g id="edge209" class="edge"><title>84-&gt;25</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
-<path fill="none" stroke="black" d="M4781.87,-179.674C4788.43,-173.676 4796.32,-166.772 4803.82,-161 4838.23,-134.544 4880.49,-107.578 4907.78,-90.8257"/>
-<polygon fill="black" stroke="black" points="4909.71,-93.7467 4916.42,-85.5514 4906.07,-87.7707 4909.71,-93.7467"/>
-</a>
-</g>
-<!-- 84&#45;&gt;26 -->
-<g id="edge211" class="edge"><title>84-&gt;26</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
-<path fill="none" stroke="black" d="M4779.62,-178.575C4786.12,-171.907 4794.58,-164.777 4803.82,-161 4821.12,-153.931 4956.35,-163.481 4971.82,-153 4989.14,-141.27 4998.26,-119.045 5002.98,-101.149"/>
-<polygon fill="black" stroke="black" points="5006.43,-101.756 5005.28,-91.224 4999.61,-100.175 5006.43,-101.756"/>
-</a>
-</g>
-<!-- 23 -->
-<g id="node32" class="node"><title>23</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_data-structures_unordered-map.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/data-structures/unordered-map";>
-<ellipse fill="white" stroke="white" cx="4654.82" cy="-195" rx="64.4914" ry="18"/>
-<text text-anchor="middle" x="4654.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">unordered-map</text>
-</a>
-</g>
-<!-- 24 -->
-<g id="node34" class="node"><title>24</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_dynamic_documents.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/documents";>
-<ellipse fill="white" stroke="white" cx="4827.82" cy="-317" rx="49.0941" ry="18"/>
-<text text-anchor="middle" x="4827.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">documents</text>
-</a>
-</g>
-<!-- 31 -->
-<g id="node37" class="node"><title>31</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_static_indexes_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/ddl";>
-<ellipse fill="white" stroke="white" cx="4719.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="4719.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
-</a>
-</g>
-<!-- 32 -->
-<g id="node38" class="node"><title>32</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_static_indexes_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/dml";>
-<ellipse fill="white" stroke="white" cx="4647.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="4647.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
-</a>
-</g>
-<!-- 33 -->
-<g id="node41" class="node"><title>33</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_static_integrity_constraints_ddl.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/ddl";>
-<ellipse fill="white" stroke="white" cx="4553.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="4553.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
-</a>
-</g>
-<!-- 34 -->
-<g id="node42" class="node"><title>34</title>
-<a xlink:href="../www.zorba-xquery.com_modules_store_static_integrity_constraints_dml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/dml";>
-<ellipse fill="white" stroke="white" cx="4481.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="4481.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
-</a>
-</g>
-<!-- 20 -->
-<g id="node44" class="node"><title>20</title>
-<a xlink:href="../www.zorba-xquery.com_modules_introspection_sctx.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/introspection/sctx";>
-<ellipse fill="white" stroke="white" cx="4404.82" cy="-470" rx="27" ry="18"/>
-<text text-anchor="middle" x="4404.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">sctx</text>
-</a>
-</g>
-<!-- 11 -->
-<g id="node46" class="node"><title>11</title>
-<a xlink:href="../www.zorba-xquery.com_modules_reflection.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/reflection";>
-<ellipse fill="white" stroke="white" cx="274.822" cy="-195" rx="44.2946" ry="18"/>
-<text text-anchor="middle" x="274.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">reflection</text>
-</a>
-</g>
-<!-- 4 -->
-<g id="node48" class="node"><title>4</title>
-<a xlink:href="../www.zorba-xquery.com_modules_fetch.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/fetch";>
-<ellipse fill="white" stroke="white" cx="4298.82" cy="-195" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="4298.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">fetch</text>
-</a>
-</g>
-<!-- 2 -->
-<g id="node49" class="node"><title>2</title>
-<a xlink:href="../www.zorba-xquery.com_modules_http-client.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/http-client";>
-<ellipse fill="white" stroke="white" cx="4205.82" cy="-195" rx="46.1964" ry="18"/>
-<text text-anchor="middle" x="4205.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">http-client</text>
+<g id="node16" class="node"><title>44</title>
+<a xlink:href="../modules_FunctX.html" xlink:title="(Zorba-core) module uri=http://www.functx.com/";>
+<ellipse fill="white" stroke="white" cx="7067" cy="-325" rx="72.192" ry="18"/>
+<text text-anchor="middle" x="7067" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">www.functx.com</text>
 </a>
 </g>
 <!-- 1 -->
-<g id="node81" class="node"><title>1</title>
-<a xlink:href="../expath.org_ns_error.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/error";>
-<ellipse fill="white" stroke="white" cx="4271.82" cy="-73" rx="27.4223" ry="18"/>
-<text text-anchor="middle" x="4271.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">error</text>
-</a>
-</g>
-<!-- 2&#45;&gt;1 -->
-<g id="edge117" class="edge"><title>2-&gt;1</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: http://expath.org/ns/error";>
-<path fill="none" stroke="black" d="M4215,-177.315C4226.14,-157.051 4245.05,-122.675 4257.97,-99.1844"/>
-<polygon fill="black" stroke="black" points="4261.18,-100.609 4262.93,-90.1604 4255.05,-97.2358 4261.18,-100.609"/>
-</a>
-</g>
-<!-- cURL -->
-<g id="node176" class="node"><title>cURL</title>
-<a xlink:href="http://curl.haxx.se/"; xlink:title="cURL Library">
-<polygon fill="none" stroke="red" points="4171.82,-91 4121.82,-91 4117.82,-87 4117.82,-55 4167.82,-55 4171.82,-59 4171.82,-91"/>
-<polyline fill="none" stroke="red" points="4167.82,-87 4117.82,-87 "/>
-<polyline fill="none" stroke="red" points="4167.82,-87 4167.82,-55 "/>
-<polyline fill="none" stroke="red" points="4167.82,-87 4171.82,-91 "/>
-<text text-anchor="middle" x="4144.82" y="-69.3" font-family="Times,serif" font-size="14.00">cURL</text>
-</a>
-</g>
-<!-- 2&#45;&gt;cURL -->
-<g id="edge79" class="edge"><title>2-&gt;cURL</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: cURL">
-<path fill="none" stroke="red" d="M4197.21,-177.061C4187.05,-157.074 4170.04,-123.612 4158.17,-100.257"/>
-<polygon fill="red" stroke="red" points="4161.24,-98.5693 4153.59,-91.241 4155,-101.741 4161.24,-98.5693"/>
-</a>
-</g>
-<!-- 22 -->
-<g id="node52" class="node"><title>22</title>
-<a xlink:href="../www.zorba-xquery.com_modules_xqdoc2xhtml_index.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc2xhtml/";>
-<ellipse fill="white" stroke="white" cx="4132.82" cy="-470" rx="57.2688" ry="18"/>
-<text text-anchor="middle" x="4132.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">xqdoc2xhtml</text>
-</a>
-</g>
-<!-- 22&#45;&gt;29 -->
-<g id="edge139" class="edge"><title>22-&gt;29</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/store/static/collections/ddl";>
-<path fill="none" stroke="black" d="M4155.46,-453.319C4166.51,-446.594 4180.3,-439.491 4193.82,-436 4216.85,-430.057 5030.63,-442.046 5049.82,-428 5075.5,-409.202 5083.18,-371.562 5085.31,-345.589"/>
-<polygon fill="black" stroke="black" points="5088.83,-345.448 5085.92,-335.26 5081.84,-345.037 5088.83,-345.448"/>
-</a>
-</g>
-<!-- 22&#45;&gt;30 -->
-<g id="edge137" class="edge"><title>22-&gt;30</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/store/static/collections/dml";>
-<path fill="none" stroke="black" d="M4155.47,-453.324C4166.51,-446.601 4180.3,-439.497 4193.82,-436 4214.83,-430.568 4957.17,-440.609 4974.82,-428 5001.05,-409.267 5009.74,-371.339 5012.56,-345.306"/>
-<polygon fill="black" stroke="black" points="5016.05,-345.568 5013.43,-335.304 5009.08,-344.966 5016.05,-345.568"/>
-</a>
-</g>
-<!-- 22&#45;&gt;4 -->
-<g id="edge143" class="edge"><title>22-&gt;4</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/fetch";>
-<path fill="none" stroke="black" d="M4156.17,-453.448C4167.14,-446.925 4180.68,-439.949 4193.82,-436 4213.26,-430.16 4270.67,-442.55 4284.82,-428 4312.45,-399.599 4305.93,-278.219 4301.39,-223.246"/>
-<polygon fill="black" stroke="black" points="4304.87,-222.845 4300.52,-213.184 4297.9,-223.448 4304.87,-222.845"/>
-</a>
-</g>
-<!-- 21 -->
-<g id="node53" class="node"><title>21</title>
-<a xlink:href="../www.zorba-xquery.com_modules_xqdoc2xhtml_error.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc2xhtml/error";>
-<ellipse fill="white" stroke="white" cx="4146.82" cy="-317" rx="27.4223" ry="18"/>
-<text text-anchor="middle" x="4146.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">error</text>
-</a>
-</g>
-<!-- 22&#45;&gt;21 -->
-<g id="edge135" class="edge"><title>22-&gt;21</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/xqdoc2xhtml/error";>
-<path fill="none" stroke="black" d="M4134.4,-451.972C4136.81,-426.03 4141.41,-376.357 4144.29,-345.326"/>
-<polygon fill="black" stroke="black" points="4147.79,-345.478 4145.23,-335.198 4140.82,-344.832 4147.79,-345.478"/>
-</a>
-</g>
-<!-- 9 -->
-<g id="node54" class="node"><title>9</title>
-<a xlink:href="../www.zorba-xquery.com_modules_project_xqdoc.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/project_xqdoc";>
-<ellipse fill="white" stroke="white" cx="4269.82" cy="-470" rx="61.1419" ry="18"/>
-<text text-anchor="middle" x="4269.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">project_xqdoc</text>
-</a>
-</g>
-<!-- 22&#45;&gt;9 -->
-<g id="edge141" class="edge"><title>22-&gt;9</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/project_xqdoc";>
-<path fill="none" stroke="black" d="M4190.35,-470C4193.12,-470 4195.88,-470 4198.65,-470"/>
-<polygon fill="black" stroke="black" points="4198.67,-473.5 4208.67,-470 4198.67,-466.5 4198.67,-473.5"/>
-</a>
-</g>
-<!-- 16 -->
-<g id="node55" class="node"><title>16</title>
-<a xlink:href="../www.zorba-xquery.com_modules_xqdoc.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc";>
-<ellipse fill="white" stroke="white" cx="4238.82" cy="-317" rx="32.2457" ry="18"/>
-<text text-anchor="middle" x="4238.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">xqdoc</text>
-</a>
-</g>
-<!-- 22&#45;&gt;16 -->
-<g id="edge133" class="edge"><title>22-&gt;16</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://www.zorba-xquery.com/modules/xqdoc";>
-<path fill="none" stroke="black" d="M4162.45,-454.357C4178.84,-445.749 4197.03,-435.181 4202.82,-428 4222.18,-403.991 4231.27,-369.228 4235.44,-345.238"/>
-<polygon fill="black" stroke="black" points="4238.95,-345.471 4237.03,-335.051 4232.03,-344.391 4238.95,-345.471"/>
-</a>
-</g>
-<!-- 38 -->
-<g id="node80" class="node"><title>38</title>
-<a xlink:href="../expath.org_ns_file.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/file";>
-<ellipse fill="white" stroke="white" cx="4344.82" cy="-73" rx="27" ry="18"/>
-<text text-anchor="middle" x="4344.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="red">file</text>
-</a>
-</g>
-<!-- 22&#45;&gt;38 -->
-<g id="edge145" class="edge"><title>22-&gt;38</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc2xhtml/, TO: http://expath.org/ns/file";>
-<path fill="none" stroke="black" d="M4155.85,-453.506C4166.86,-446.909 4180.52,-439.858 4193.82,-436 4206.23,-432.4 4300.13,-436.548 4309.82,-428 4404.77,-344.22 4370.08,-167.567 4352.5,-100.547"/>
-<polygon fill="black" stroke="black" points="4355.84,-99.4988 4349.85,-90.7624 4349.09,-101.33 4355.84,-99.4988"/>
-</a>
-</g>
-<!-- 9&#45;&gt;4 -->
-<g id="edge123" class="edge"><title>9-&gt;4</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://www.zorba-xquery.com/modules/fetch";>
-<path fill="none" stroke="black" d="M4292.83,-453.231C4300.71,-446.477 4308.6,-437.861 4312.82,-428 4342.53,-358.633 4321.36,-266.809 4307.8,-222.354"/>
-<polygon fill="black" stroke="black" points="4311.07,-221.088 4304.71,-212.612 4304.39,-223.202 4311.07,-221.088"/>
-</a>
-</g>
-<!-- 9&#45;&gt;21 -->
-<g id="edge125" class="edge"><title>9-&gt;21</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://www.zorba-xquery.com/modules/xqdoc2xhtml/error";>
-<path fill="none" stroke="black" d="M4241.55,-453.92C4229.76,-447.934 4215.81,-441.242 4202.82,-436 4192,-431.633 4185.93,-436.392 4177.82,-428 4156.45,-405.869 4149.6,-370.193 4147.51,-345.499"/>
-<polygon fill="black" stroke="black" points="4150.99,-345.096 4146.87,-335.337 4144.01,-345.538 4150.99,-345.096"/>
-</a>
-</g>
-<!-- 9&#45;&gt;16 -->
-<g id="edge119" class="edge"><title>9-&gt;16</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://www.zorba-xquery.com/modules/xqdoc";>
-<path fill="none" stroke="black" d="M4266.33,-451.972C4261,-426.03 4250.8,-376.357 4244.43,-345.326"/>
-<polygon fill="black" stroke="black" points="4247.79,-344.289 4242.35,-335.198 4240.93,-345.697 4247.79,-344.289"/>
-</a>
-</g>
-<!-- 9&#45;&gt;38 -->
-<g id="edge121" class="edge"><title>9-&gt;38</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/project_xqdoc, TO: http://expath.org/ns/file";>
-<path fill="none" stroke="black" d="M4304.64,-454.97C4320.69,-448.754 4340.08,-441.598 4357.82,-436 4371.39,-431.718 4380.11,-439.249 4388.82,-428 4461.5,-334.19 4416.35,-276.429 4388.82,-161 4383.45,-138.495 4371.27,-115.22 4361.09,-98.4132"/>
-<polygon fill="black" stroke="black" points="4363.96,-96.4072 4355.69,-89.7873 4358.03,-100.121 4363.96,-96.4072"/>
-</a>
-</g>
-<!-- 16&#45;&gt;12 -->
-<g id="edge129" class="edge"><title>16-&gt;12</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M4226.18,-300.071C4219.94,-293.471 4211.82,-286.54 4202.82,-283 4189.83,-277.888 3207.65,-284.91 3197.82,-275 3162.14,-239.031 3166.12,-200.522 3197.82,-161 3208.08,-148.215 3220.41,-162.424 3233.82,-153 3252.31,-140.007 3265.48,-117.782 3273.64,-100.209"/>
-<polygon fill="black" stroke="black" points="3276.86,-101.577 3277.67,-91.0125 3270.45,-98.7709 3276.86,-101.577"/>
-</a>
-</g>
-<!-- 16&#45;&gt;4 -->
-<g id="edge127" class="edge"><title>16-&gt;4</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc, TO: http://www.zorba-xquery.com/modules/fetch";>
-<path fill="none" stroke="black" d="M4247.98,-299.331C4252,-291.92 4256.72,-283.065 4260.82,-275 4269.76,-257.417 4279.39,-237.388 4286.72,-221.897"/>
-<polygon fill="black" stroke="black" points="4290.08,-222.982 4291.17,-212.444 4283.74,-219.999 4290.08,-222.982"/>
-</a>
-</g>
-<!-- 18 -->
-<g id="node58" class="node"><title>18</title>
-<a xlink:href="../www.zorba-xquery.com_modules_converters_base64.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/base64";>
-<ellipse fill="white" stroke="white" cx="2935.82" cy="-195" rx="35.1455" ry="18"/>
-<text text-anchor="middle" x="2935.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">base64</text>
-</a>
-</g>
-<!-- 85 -->
-<g id="node59" class="node"><title>85</title>
-<a xlink:href="../www.zorba-xquery.com_modules_converters_csv.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/csv";>
-<ellipse fill="white" stroke="white" cx="2783.82" cy="-195" rx="27" ry="18"/>
-<text text-anchor="middle" x="2783.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">csv</text>
-</a>
-</g>
-<!-- 85&#45;&gt;12 -->
-<g id="edge213" class="edge"><title>85-&gt;12</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/csv, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M2795.83,-178.811C2802.16,-172.019 2810.53,-164.717 2819.82,-161 2841.18,-152.454 3213.78,-164.289 3233.82,-153 3253.96,-141.657 3267.17,-118.488 3274.92,-100.16"/>
-<polygon fill="black" stroke="black" points="3278.18,-101.431 3278.58,-90.8434 3271.67,-98.8705 3278.18,-101.431"/>
-</a>
-</g>
-<!-- 89 -->
-<g id="node60" class="node"><title>89</title>
-<a xlink:href="../www.zorba-xquery.com_modules_converters_html.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/html";>
-<ellipse fill="white" stroke="white" cx="3015.82" cy="-195" rx="26.949" ry="18"/>
-<text text-anchor="middle" x="3015.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">html</text>
-</a>
-</g>
-<!-- 89&#45;&gt;12 -->
-<g id="edge219" class="edge"><title>89-&gt;12</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M3028.28,-178.906C3034.82,-172.136 3043.41,-164.826 3052.82,-161 3090.12,-145.833 3198.99,-173.192 3233.82,-153 3253.61,-141.53 3266.76,-118.753 3274.59,-100.591"/>
-<polygon fill="black" stroke="black" points="3277.93,-101.661 3278.4,-91.0767 3271.43,-99.0596 3277.93,-101.661"/>
-</a>
-</g>
-<!-- Tidy -->
-<g id="node182" class="node"><title>Tidy</title>
-<a xlink:href="http://tidy.sourceforge.net/"; xlink:title="Tidy C++ Library">
-<polygon fill="none" stroke="red" points="3407.82,-91 3357.82,-91 3353.82,-87 3353.82,-55 3403.82,-55 3407.82,-59 3407.82,-91"/>
-<polyline fill="none" stroke="red" points="3403.82,-87 3353.82,-87 "/>
-<polyline fill="none" stroke="red" points="3403.82,-87 3403.82,-55 "/>
-<polyline fill="none" stroke="red" points="3403.82,-87 3407.82,-91 "/>
-<text text-anchor="middle" x="3380.82" y="-69.3" font-family="Times,serif" font-size="14.00">Tidy</text>
-</a>
-</g>
-<!-- 89&#45;&gt;Tidy -->
-<g id="edge113" class="edge"><title>89-&gt;Tidy</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: Tidy">
-<path fill="none" stroke="red" d="M3028.26,-178.841C3034.78,-172.057 3043.38,-164.752 3052.82,-161 3081.85,-149.461 3306.89,-168.825 3333.82,-153 3353.21,-141.607 3365.49,-118.822 3372.62,-100.638"/>
-<polygon fill="red" stroke="red" points="3375.96,-101.704 3376.06,-91.1099 3369.37,-99.3263 3375.96,-101.704"/>
-</a>
-</g>
-<!-- 19 -->
-<g id="node61" class="node"><title>19</title>
-<a xlink:href="../www.zorba-xquery.com_modules_converters_json.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/json";>
-<ellipse fill="white" stroke="white" cx="2855.82" cy="-195" rx="27" ry="18"/>
-<text text-anchor="middle" x="2855.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">json</text>
-</a>
-</g>
-<!-- 19&#45;&gt;12 -->
-<g id="edge131" class="edge"><title>19-&gt;12</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/json, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M2867.84,-178.827C2874.17,-172.039 2882.54,-164.736 2891.82,-161 2927.08,-146.807 3200.74,-171.72 3233.82,-153 3253.94,-141.616 3267.15,-118.451 3274.91,-100.135"/>
-<polygon fill="black" stroke="black" points="3278.17,-101.413 3278.57,-90.8263 3271.65,-98.8491 3278.17,-101.413"/>
-</a>
-</g>
-<!-- 60 -->
-<g id="node62" class="node"><title>60</title>
-<a xlink:href="../www.zorba-xquery.com_modules_read-pdf.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/read-pdf";>
-<ellipse fill="white" stroke="white" cx="3101.82" cy="-195" rx="39.9464" ry="18"/>
-<text text-anchor="middle" x="3101.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">read-pdf</text>
-</a>
-</g>
-<!-- 60&#45;&gt;12 -->
-<g id="edge159" class="edge"><title>60-&gt;12</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M3123.12,-179.602C3134.19,-172.828 3148.22,-165.308 3161.82,-161 3192.52,-151.278 3206.52,-170.064 3233.82,-153 3253.1,-140.951 3266.25,-118.439 3274.21,-100.519"/>
-<polygon fill="black" stroke="black" points="3277.5,-101.71 3278.1,-91.132 3271.04,-99.0289 3277.5,-101.71"/>
-</a>
-</g>
-<!-- Apache -->
-<g id="node177" class="node"><title>Apache</title>
-<a xlink:href="http://xmlbeans.apache.org/"; xlink:title="Apache XMLBeans">
-<polygon fill="none" stroke="red" points="3641.32,-91 3588.32,-91 3584.32,-87 3584.32,-55 3637.32,-55 3641.32,-59 3641.32,-91"/>
-<polyline fill="none" stroke="red" points="3637.32,-87 3584.32,-87 "/>
-<polyline fill="none" stroke="red" points="3637.32,-87 3637.32,-55 "/>
-<polyline fill="none" stroke="red" points="3637.32,-87 3641.32,-91 "/>
-<text text-anchor="middle" x="3612.82" y="-69.3" font-family="Times,serif" font-size="14.00">Apache</text>
-</a>
-</g>
-<!-- 60&#45;&gt;Apache -->
-<g id="edge107" class="edge"><title>60-&gt;Apache</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: Apache">
-<path fill="none" stroke="red" d="M3129.77,-181.814C3148.61,-174.252 3174.22,-165.201 3197.82,-161 3218.39,-157.338 3556.19,-164.218 3573.82,-153 3591.92,-141.482 3601.89,-118.872 3607.21,-100.782"/>
-<polygon fill="red" stroke="red" points="3610.62,-101.594 3609.77,-91.0332 3603.85,-99.8167 3610.62,-101.594"/>
-</a>
-</g>
-<!-- JDK -->
-<g id="node179" class="node"><title>JDK</title>
-<a xlink:href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"; xlink:title="JDK - Java Development Kit">
-<polygon fill="none" stroke="red" points="3479.82,-91 3429.82,-91 3425.82,-87 3425.82,-55 3475.82,-55 3479.82,-59 3479.82,-91"/>
-<polyline fill="none" stroke="red" points="3475.82,-87 3425.82,-87 "/>
-<polyline fill="none" stroke="red" points="3475.82,-87 3475.82,-55 "/>
-<polyline fill="none" stroke="red" points="3475.82,-87 3479.82,-91 "/>
-<text text-anchor="middle" x="3452.82" y="-69.3" font-family="Times,serif" font-size="14.00">JDK</text>
-</a>
-</g>
-<!-- 60&#45;&gt;JDK -->
-<g id="edge105" class="edge"><title>60-&gt;JDK</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: JDK">
-<path fill="none" stroke="red" d="M3129.79,-181.933C3148.64,-174.42 3174.26,-165.381 3197.82,-161 3221.76,-156.55 3396.59,-166.544 3416.82,-153 3434.2,-141.366 3443.32,-119.133 3448.02,-101.209"/>
-<polygon fill="red" stroke="red" points="3451.48,-101.797 3450.31,-91.2666 3444.66,-100.226 3451.48,-101.797"/>
-</a>
-</g>
-<!-- 15 -->
-<g id="node63" class="node"><title>15</title>
-<a xlink:href="../www.zorba-xquery.com_modules_xml.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xml";>
-<ellipse fill="white" stroke="white" cx="2711.82" cy="-195" rx="27" ry="18"/>
-<text text-anchor="middle" x="2711.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">xml</text>
-</a>
-</g>
-<!-- 91 -->
-<g id="node65" class="node"><title>91</title>
-<a xlink:href="../www.zorba-xquery.com_modules_cryptography_hash.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hash";>
-<ellipse fill="white" stroke="white" cx="4015.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="4015.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">hash</text>
-</a>
-</g>
-<!-- 90 -->
-<g id="node66" class="node"><title>90</title>
-<a xlink:href="../www.zorba-xquery.com_modules_cryptography_hmac.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hmac";>
-<ellipse fill="white" stroke="white" cx="3939.82" cy="-317" rx="30.3206" ry="18"/>
-<text text-anchor="middle" x="3939.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">hmac</text>
-</a>
-</g>
-<!-- 88 -->
-<g id="node68" class="node"><title>88</title>
-<a xlink:href="../www.zorba-xquery.com_modules_geoproj.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/geoproj";>
-<ellipse fill="white" stroke="white" cx="2584.82" cy="-195" rx="37.5442" ry="18"/>
-<text text-anchor="middle" x="2584.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">geoproj</text>
-</a>
-</g>
-<!-- 88&#45;&gt;12 -->
-<g id="edge217" class="edge"><title>88-&gt;12</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/geoproj, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M2602.84,-179.056C2612.33,-172.142 2624.52,-164.662 2636.82,-161 2668.61,-151.533 3204.87,-169.192 3233.82,-153 3254,-141.717 3267.2,-118.541 3274.94,-100.195"/>
-<polygon fill="black" stroke="black" points="3278.21,-101.456 3278.6,-90.8684 3271.69,-98.9018 3278.21,-101.456"/>
-</a>
-</g>
-<!-- 55 -->
-<g id="node70" class="node"><title>55</title>
-<a xlink:href="../www.zorba-xquery.com_modules_image_animation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/animation";>
-<ellipse fill="white" stroke="white" cx="3752.82" cy="-195" rx="46.2191" ry="18"/>
-<text text-anchor="middle" x="3752.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">animation</text>
-</a>
-</g>
-<!-- Magick -->
-<g id="node174" class="node"><title>Magick</title>
-<a xlink:href="http://www.imagemagick.org/Magick++/"; xlink:title="Magick++ C++ Library">
-<polygon fill="none" stroke="red" points="3719.07,-91 3664.57,-91 3660.57,-87 3660.57,-55 3715.07,-55 3719.07,-59 3719.07,-91"/>
-<polyline fill="none" stroke="red" points="3715.07,-87 3660.57,-87 "/>
-<polyline fill="none" stroke="red" points="3715.07,-87 3715.07,-55 "/>
-<polyline fill="none" stroke="red" points="3715.07,-87 3719.07,-91 "/>
-<text text-anchor="middle" x="3689.82" y="-69.3" font-family="Times,serif" font-size="14.00">Magick</text>
-</a>
-</g>
-<!-- 55&#45;&gt;Magick -->
-<g id="edge97" class="edge"><title>55-&gt;Magick</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/animation, TO: Magick">
-<path fill="none" stroke="red" d="M3742.74,-177.396C3738.34,-169.997 3733.2,-161.133 3728.82,-153 3719.54,-135.767 3709.79,-116.023 3702.36,-100.584"/>
-<polygon fill="red" stroke="red" points="3705.32,-98.6428 3697.85,-91.1294 3699,-101.661 3705.32,-98.6428"/>
-</a>
-</g>
-<!-- 52 -->
-<g id="node71" class="node"><title>52</title>
-<a xlink:href="../www.zorba-xquery.com_modules_image_basic.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/basic";>
-<ellipse fill="white" stroke="white" cx="3659.82" cy="-195" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="3659.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">basic</text>
-</a>
-</g>
-<!-- 52&#45;&gt;Magick -->
-<g id="edge91" class="edge"><title>52-&gt;Magick</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/basic, TO: Magick">
-<path fill="none" stroke="red" d="M3664.06,-177.061C3668.99,-157.341 3677.2,-124.502 3683.02,-101.197"/>
-<polygon fill="red" stroke="red" points="3686.48,-101.791 3685.51,-91.241 3679.69,-100.093 3686.48,-101.791"/>
-</a>
-</g>
-<!-- 47 -->
-<g id="node72" class="node"><title>47</title>
-<a xlink:href="../www.zorba-xquery.com_modules_image_graphviz.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/graphviz";>
-<ellipse fill="white" stroke="white" cx="3363.82" cy="-195" rx="41.394" ry="18"/>
-<text text-anchor="middle" x="3363.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">graphviz</text>
-</a>
-</g>
-<!-- Graphviz -->
-<g id="node180" class="node"><title>Graphviz</title>
-<a xlink:href="http://www.graphviz.org/"; xlink:title="Graphviz - Graph Visualization Software">
-<polygon fill="none" stroke="red" points="3565.07,-91 3502.57,-91 3498.57,-87 3498.57,-55 3561.07,-55 3565.07,-59 3565.07,-91"/>
-<polyline fill="none" stroke="red" points="3561.07,-87 3498.57,-87 "/>
-<polyline fill="none" stroke="red" points="3561.07,-87 3561.07,-55 "/>
-<polyline fill="none" stroke="red" points="3561.07,-87 3565.07,-91 "/>
-<text text-anchor="middle" x="3531.82" y="-69.3" font-family="Times,serif" font-size="14.00">Graphviz</text>
-</a>
-</g>
-<!-- 47&#45;&gt;Graphviz -->
-<g id="edge81" class="edge"><title>47-&gt;Graphviz</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/graphviz, TO: Graphviz">
-<path fill="none" stroke="red" d="M3382.14,-178.846C3391.14,-172.236 3402.47,-165.078 3413.82,-161 3445.37,-149.669 3460.95,-171.631 3488.82,-153 3506.92,-140.901 3518.06,-118.55 3524.45,-100.702"/>
-<polygon fill="red" stroke="red" points="3527.81,-101.678 3527.6,-91.0851 3521.16,-99.4963 3527.81,-101.678"/>
-</a>
-</g>
-<!-- 53 -->
-<g id="node73" class="node"><title>53</title>
-<a xlink:href="../www.zorba-xquery.com_modules_image_manipulation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/manipulation";>
-<ellipse fill="white" stroke="white" cx="3555.82" cy="-195" rx="57.2688" ry="18"/>
-<text text-anchor="middle" x="3555.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">manipulation</text>
-</a>
-</g>
-<!-- 53&#45;&gt;Magick -->
-<g id="edge93" class="edge"><title>53-&gt;Magick</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/manipulation, TO: Magick">
-<path fill="none" stroke="red" d="M3582.92,-179.027C3594.66,-172.92 3608.69,-166.109 3621.82,-161 3633.88,-156.308 3639.84,-161.24 3649.82,-153 3666.07,-139.581 3676.39,-117.879 3682.47,-100.613"/>
-<polygon fill="red" stroke="red" points="3685.81,-101.648 3685.57,-91.0559 3679.15,-99.4872 3685.81,-101.648"/>
-</a>
-</g>
-<!-- 54 -->
-<g id="node74" class="node"><title>54</title>
-<a xlink:href="../www.zorba-xquery.com_modules_image_paint.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/paint";>
-<ellipse fill="white" stroke="white" cx="3451.82" cy="-195" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="3451.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">paint</text>
-</a>
-</g>
-<!-- 54&#45;&gt;Magick -->
-<g id="edge95" class="edge"><title>54-&gt;Magick</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/paint, TO: Magick">
-<path fill="none" stroke="red" d="M3464.63,-178.584C3471.12,-171.917 3479.58,-164.787 3488.82,-161 3521.97,-147.415 3619.78,-172.507 3649.82,-153 3667.8,-141.329 3678.06,-118.94 3683.67,-100.969"/>
-<polygon fill="red" stroke="red" points="3687.06,-101.848 3686.4,-91.274 3680.32,-99.952 3687.06,-101.848"/>
-</a>
-</g>
-<!-- 92 -->
-<g id="node76" class="node"><title>92</title>
-<a xlink:href="../www.zorba-xquery.com_modules_oauth_client.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/client";>
-<ellipse fill="white" stroke="white" cx="3491.82" cy="-470" rx="30.3206" ry="18"/>
-<text text-anchor="middle" x="3491.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="green">client</text>
-</a>
-</g>
-<!-- 92&#45;&gt;10 -->
-<g id="edge221" class="edge"><title>92-&gt;10</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/random";>
-<path fill="none" stroke="black" d="M3461.46,-468.201C3298.72,-463.959 2513.25,-443.96 1870.82,-436 1858.27,-435.844 71.68,-436.898 62.8215,-428 -20.9027,-343.905 -20.9725,-245.026 62.8215,-161 77.0226,-146.76 2941.31,-162.884 2958.82,-153 2978.63,-141.82 2991.22,-118.799 2998.51,-100.479"/>
-<polygon fill="black" stroke="black" points="3001.87,-101.483 3002.03,-90.8897 2995.3,-99.0729 3001.87,-101.483"/>
-</a>
-</g>
-<!-- 92&#45;&gt;18 -->
-<g id="edge227" class="edge"><title>92-&gt;18</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/converters/base64";>
-<path fill="none" stroke="black" d="M3461.39,-468.448C3360.24,-466.342 3039.77,-457.388 3004.82,-428 2953.83,-385.12 2986.46,-346.659 2966.82,-283 2960.46,-262.379 2952.22,-239.395 2945.83,-222.231"/>
-<polygon fill="black" stroke="black" points="2949.11,-220.992 2942.32,-212.859 2942.55,-223.452 2949.11,-220.992"/>
-</a>
-</g>
-<!-- 92&#45;&gt;90 -->
-<g id="edge223" class="edge"><title>92-&gt;90</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/cryptography/hmac";>
-<path fill="none" stroke="black" d="M3521.9,-467.749C3610.65,-463.811 3867.1,-450.573 3896.82,-428 3922.68,-408.36 3933,-370.92 3937.11,-345.221"/>
-<polygon fill="black" stroke="black" points="3940.62,-345.397 3938.52,-335.012 3933.69,-344.44 3940.62,-345.397"/>
-</a>
-</g>
-<!-- 93 -->
-<g id="node77" class="node"><title>93</title>
-<a xlink:href="../www.zorba-xquery.com_modules_oauth_error.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/error";>
-<ellipse fill="white" stroke="white" cx="3491.82" cy="-317" rx="27.4223" ry="18"/>
-<text text-anchor="middle" x="3491.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">error</text>
-</a>
-</g>
-<!-- 92&#45;&gt;93 -->
-<g id="edge229" class="edge"><title>92-&gt;93</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/oauth/error";>
-<path fill="none" stroke="black" d="M3491.82,-451.972C3491.82,-426.03 3491.82,-376.357 3491.82,-345.326"/>
-<polygon fill="black" stroke="black" points="3495.32,-345.198 3491.82,-335.198 3488.32,-345.198 3495.32,-345.198"/>
-</a>
-</g>
-<!-- 94 -->
-<g id="node88" class="node"><title>94</title>
-<a xlink:href="../expath.org_ns_http-client.html" xlink:title="(External module) module uri=http://expath.org/ns/http-client";>
-<ellipse fill="white" stroke="white" cx="3679.82" cy="-317" rx="46.1964" ry="18"/>
-<text text-anchor="middle" x="3679.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">http-client</text>
-</a>
-</g>
-<!-- 92&#45;&gt;94 -->
-<g id="edge225" class="edge"><title>92-&gt;94</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://expath.org/ns/http-client";>
-<path fill="none" stroke="black" d="M3521.5,-466.005C3549.81,-461.781 3592.26,-451.723 3620.82,-428 3647.05,-406.217 3663.32,-369.664 3671.97,-344.721"/>
-<polygon fill="black" stroke="black" points="3675.32,-345.734 3675.12,-335.142 3668.67,-343.55 3675.32,-345.734"/>
-</a>
-</g>
-<!-- 42 -->
-<g id="node83" class="node"><title>42</title>
-<a xlink:href="../www.functx.com_index.html" xlink:title="(Zorba-core) module uri=http://www.functx.com/";>
-<ellipse fill="white" stroke="white" cx="4544.82" cy="-470" rx="72.192" ry="18"/>
-<text text-anchor="middle" x="4544.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">www.functx.com</text>
-</a>
-</g>
-<!-- 51 -->
-<g id="node86" class="node"><title>51</title>
-<a xlink:href="../expath.org_ns_geo.html" xlink:title="(External module) module uri=http://expath.org/ns/geo";>
-<ellipse fill="white" stroke="white" cx="3581.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="3581.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">geo</text>
+<g id="node19" class="node"><title>1</title>
+<a xlink:href="../modules_expath_EXPath Error Codes.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/error";>
+<ellipse fill="white" stroke="white" cx="6537" cy="-172" rx="27.4223" ry="18"/>
+<text text-anchor="middle" x="6537" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">error</text>
+</a>
+</g>
+<!-- 40 -->
+<g id="node21" class="node"><title>40</title>
+<a xlink:href="../modules_expath_EXPath File Module.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/file";>
+<ellipse fill="white" stroke="white" cx="6807" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="6807" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">file</text>
+</a>
+</g>
+<!-- 67 -->
+<g id="node23" class="node"><title>67</title>
+<a xlink:href="../modules_expath_EXPath Geo Module.html" xlink:title="(External module) module uri=http://expath.org/ns/geo";>
+<ellipse fill="white" stroke="white" cx="6695" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="6695" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">geo</text>
 </a>
 </g>
 <!-- GEOS -->
-<g id="node178" class="node"><title>GEOS</title>
+<g id="node229" class="node"><title>GEOS</title>
 <a xlink:href="http://trac.osgeo.org/geos/"; xlink:title="GEOS (Geometry Engine - Open Source)">
-<polygon fill="none" stroke="red" points="4099.82,-91 4049.82,-91 4045.82,-87 4045.82,-55 4095.82,-55 4099.82,-59 4099.82,-91"/>
-<polyline fill="none" stroke="red" points="4095.82,-87 4045.82,-87 "/>
-<polyline fill="none" stroke="red" points="4095.82,-87 4095.82,-55 "/>
-<polyline fill="none" stroke="red" points="4095.82,-87 4099.82,-91 "/>
-<text text-anchor="middle" x="4072.82" y="-69.3" font-family="Times,serif" font-size="14.00">GEOS</text>
+<polygon fill="none" stroke="red" points="6722,-91 6672,-91 6668,-87 6668,-55 6718,-55 6722,-59 6722,-91"/>
+<polyline fill="none" stroke="red" points="6718,-87 6668,-87 "/>
+<polyline fill="none" stroke="red" points="6718,-87 6718,-55 "/>
+<polyline fill="none" stroke="red" points="6718,-87 6722,-91 "/>
+<text text-anchor="middle" x="6695" y="-69.3" font-family="Times,serif" font-size="14.00">GEOS</text>
 </a>
 </g>
-<!-- 51&#45;&gt;GEOS -->
-<g id="edge89" class="edge"><title>51-&gt;GEOS</title>
+<!-- 67&#45;&gt;GEOS -->
+<g id="edge144" class="edge"><title>67-&gt;GEOS</title>
 <a xlink:title="FROM: http://expath.org/ns/geo, TO: GEOS">
-<path fill="none" stroke="red" d="M3594.72,-301.137C3601.67,-294.244 3610.86,-286.758 3620.82,-283 3642.14,-274.956 4013.28,-289.54 4030.82,-275 4057.22,-253.115 4067.66,-150.608 4071.22,-101.014"/>
-<polygon fill="red" stroke="red" points="4074.71,-101.217 4071.9,-91.0039 4067.73,-100.745 4074.71,-101.217"/>
-</a>
-</g>
-<!-- 94&#45;&gt;2 -->
-<g id="edge231" class="edge"><title>94-&gt;2</title>
+<path fill="none" stroke="red" d="M6695,-306.816C6695,-264.178 6695,-153.24 6695,-101.419"/>
+<polygon fill="red" stroke="red" points="6698.5,-101.304 6695,-91.3038 6691.5,-101.304 6698.5,-101.304"/>
+</a>
+</g>
+<!-- 50 -->
+<g id="node25" class="node"><title>50</title>
+<a xlink:href="../modules_expath_EXPath HTTP Client.html" xlink:title="(External module) module uri=http://expath.org/ns/http-client";>
+<ellipse fill="white" stroke="white" cx="6547" cy="-325" rx="46.1964" ry="18"/>
+<text text-anchor="middle" x="6547" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">http-client</text>
+</a>
+</g>
+<!-- 50&#45;&gt;1 -->
+<g id="edge202" class="edge"><title>50-&gt;1</title>
+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://expath.org/ns/error";>
+<path fill="none" stroke="black" d="M6545.87,-306.972C6544.15,-281.03 6540.86,-231.357 6538.81,-200.326"/>
+<polygon fill="black" stroke="black" points="6542.29,-199.944 6538.14,-190.198 6535.31,-200.407 6542.29,-199.944"/>
+</a>
+</g>
+<!-- 49 -->
+<g id="node68" class="node"><title>49</title>
+<a xlink:href="../modules_zorba_data_converters_HTML.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/html";>
+<ellipse fill="white" stroke="white" cx="2175" cy="-325" rx="26.949" ry="18"/>
+<text text-anchor="middle" x="2175" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">html</text>
+</a>
+</g>
+<!-- 50&#45;&gt;49 -->
+<g id="edge204" class="edge"><title>50-&gt;49</title>
+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/converters/html";>
+<path fill="none" stroke="black" d="M6539.1,-342.761C6527.82,-365.226 6504.67,-401.855 6471,-409 6456.57,-412.062 2237.43,-412.062 2223,-409 2198.18,-403.732 2185.94,-375.428 2180.07,-353.111"/>
+<polygon fill="black" stroke="black" points="2183.41,-352.023 2177.74,-343.074 2176.59,-353.607 2183.41,-352.023"/>
+</a>
+</g>
+<!-- 2 -->
+<g id="node156" class="node"><title>2</title>
+<a xlink:href="../modules_zorba_input_output_HTTP Client.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/http-client";>
+<ellipse fill="white" stroke="white" cx="5853" cy="-172" rx="46.1964" ry="18"/>
+<text text-anchor="middle" x="5853" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">http-client</text>
+</a>
+</g>
+<!-- 50&#45;&gt;2 -->
+<g id="edge200" class="edge"><title>50-&gt;2</title>
 <a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/http-client";>
-<path fill="none" stroke="black" d="M3703.35,-301.245C3715.78,-294.288 3731.58,-286.712 3746.82,-283 3768.31,-277.767 4125.07,-284.95 4144.82,-275 4166.96,-263.846 4183.41,-240.487 4193.61,-222.048"/>
-<polygon fill="black" stroke="black" points="4196.83,-223.427 4198.37,-212.944 4190.63,-220.182 4196.83,-223.427"/>
-</a>
-</g>
-<!-- 94&#45;&gt;89 -->
-<g id="edge235" class="edge"><title>94-&gt;89</title>
-<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/converters/html";>
-<path fill="none" stroke="black" d="M3658.81,-300.871C3648.01,-294.003 3634.31,-286.618 3620.82,-283 3590.34,-274.825 3079.33,-292.121 3052.82,-275 3034.98,-263.476 3025.58,-240.867 3020.73,-222.778"/>
-<polygon fill="black" stroke="black" points="3024.13,-221.956 3018.42,-213.031 3017.32,-223.568 3024.13,-221.956"/>
-</a>
-</g>
-<!-- 94&#45;&gt;1 -->
-<g id="edge233" class="edge"><title>94-&gt;1</title>
-<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://expath.org/ns/error";>
-<path fill="none" stroke="black" d="M3703.35,-301.259C3715.78,-294.306 3731.58,-286.729 3746.82,-283 3766.15,-278.271 4088.63,-286.56 4104.82,-275 4148.77,-243.623 4106.06,-196.416 4146.82,-161 4159.52,-149.965 4168.84,-160.653 4183.82,-153 4210.78,-139.232 4235.87,-115.123 4252.31,-97.1486"/>
-<polygon fill="black" stroke="black" points="4255.19,-99.1764 4259.22,-89.381 4249.96,-94.5205 4255.19,-99.1764"/>
-</a>
-</g>
-<!-- 94&#45;&gt;cURL -->
-<g id="edge115" class="edge"><title>94-&gt;cURL</title>
+<path fill="none" stroke="black" d="M6501.53,-321.095C6357.63,-311.895 5921.56,-283.944 5920,-283 5889.27,-264.39 5870.72,-225.81 5861.17,-199.658"/>
+<polygon fill="black" stroke="black" points="5864.4,-198.29 5857.83,-189.976 5857.78,-200.571 5864.4,-198.29"/>
+</a>
+</g>
+<!-- cURL -->
+<g id="node227" class="node"><title>cURL</title>
+<a xlink:href="http://curl.haxx.se/"; xlink:title="cURL Library">
+<polygon fill="none" stroke="red" points="6398,-91 6348,-91 6344,-87 6344,-55 6394,-55 6398,-59 6398,-91"/>
+<polyline fill="none" stroke="red" points="6394,-87 6344,-87 "/>
+<polyline fill="none" stroke="red" points="6394,-87 6394,-55 "/>
+<polyline fill="none" stroke="red" points="6394,-87 6398,-91 "/>
+<text text-anchor="middle" x="6371" y="-69.3" font-family="Times,serif" font-size="14.00">cURL</text>
+</a>
+</g>
+<!-- 50&#45;&gt;cURL -->
+<g id="edge130" class="edge"><title>50-&gt;cURL</title>
 <a xlink:title="FROM: http://expath.org/ns/http-client, TO: cURL">
-<path fill="none" stroke="red" d="M3703.36,-301.275C3715.79,-294.326 3731.59,-286.748 3746.82,-283 3764.2,-278.725 4054.23,-285.355 4068.82,-275 4076.29,-269.702 4117.01,-154.292 4135.58,-100.793"/>
-<polygon fill="red" stroke="red" points="4138.91,-101.862 4138.88,-91.2671 4132.3,-99.5706 4138.91,-101.862"/>
-</a>
-</g>
-<!-- 48 -->
-<g id="node91" class="node"><title>48</title>
-<a xlink:href="../www.zorba-xquery.com_modules_archive.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/archive";>
-<ellipse fill="white" stroke="white" cx="2378.82" cy="-317" rx="36.096" ry="18"/>
-<text text-anchor="middle" x="2378.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">archive</text>
+<path fill="none" stroke="red" d="M6583.59,-313.813C6598.87,-307.551 6615.11,-297.802 6624,-283 6659.01,-224.702 6671.19,-178.961 6624,-130 6607.26,-112.628 6428.38,-133.186 6407,-122 6397.68,-117.125 6390.12,-108.633 6384.37,-100.133"/>
+<polygon fill="red" stroke="red" points="6387.25,-98.1266 6379.04,-91.4235 6381.27,-101.78 6387.25,-98.1266"/>
+</a>
+</g>
+<!-- 58 -->
+<g id="node28" class="node"><title>58</title>
+<a xlink:href="../modules_db_drivers_Couchbase.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/couchbase";>
+<ellipse fill="white" stroke="white" cx="6525" cy="-447" rx="47.169" ry="18"/>
+<text text-anchor="middle" x="6525" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">couchbase</text>
+</a>
+</g>
+<!-- 60 -->
+<g id="node30" class="node"><title>60</title>
+<a xlink:href="../modules_db_drivers_JDBC.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/jdbc";>
+<ellipse fill="white" stroke="white" cx="6427" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="6427" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">jdbc</text>
+</a>
+</g>
+<!-- 53 -->
+<g id="node32" class="node"><title>53</title>
+<a xlink:href="../modules_db_drivers_ORACLE NoSQL.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oracle-nosqldb";>
+<ellipse fill="white" stroke="white" cx="6229" cy="-447" rx="63.0666" ry="18"/>
+<text text-anchor="middle" x="6229" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">oracle-nosqldb</text>
+</a>
+</g>
+<!-- 19 -->
+<g id="node64" class="node"><title>19</title>
+<a xlink:href="../modules_zorba_data_converters_Base 64.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/base64";>
+<ellipse fill="white" stroke="white" cx="2261" cy="-325" rx="35.1455" ry="18"/>
+<text text-anchor="middle" x="2261" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">base64</text>
+</a>
+</g>
+<!-- 53&#45;&gt;19 -->
+<g id="edge206" class="edge"><title>53-&gt;19</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oracle-nosqldb, TO: http://www.zorba-xquery.com/modules/converters/base64";>
+<path fill="none" stroke="black" d="M6180.3,-435.556C6140.6,-427.596 6082.97,-417.296 6032,-413 5981.51,-408.745 2432.6,-419.321 2384,-405 2345.89,-393.77 2308.4,-366.734 2285.01,-347.422"/>
+<polygon fill="black" stroke="black" points="2287.25,-344.731 2277.35,-340.952 2282.73,-350.078 2287.25,-344.731"/>
+</a>
+</g>
+<!-- 59 -->
+<g id="node34" class="node"><title>59</title>
+<a xlink:href="../modules_db_drivers_SQLite.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/sqlite";>
+<ellipse fill="white" stroke="white" cx="6346" cy="-447" rx="29.3479" ry="18"/>
+<text text-anchor="middle" x="6346" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">sqlite</text>
+</a>
+</g>
+<!-- SQLite -->
+<g id="node223" class="node"><title>SQLite</title>
+<a xlink:href="http://www.sqlite.org/"; xlink:title="SQLite">
+<polygon fill="none" stroke="red" points="6868,-91 6816,-91 6812,-87 6812,-55 6864,-55 6868,-59 6868,-91"/>
+<polyline fill="none" stroke="red" points="6864,-87 6812,-87 "/>
+<polyline fill="none" stroke="red" points="6864,-87 6864,-55 "/>
+<polyline fill="none" stroke="red" points="6864,-87 6868,-91 "/>
+<text text-anchor="middle" x="6840" y="-69.3" font-family="Times,serif" font-size="14.00">SQLite</text>
+</a>
+</g>
+<!-- 59&#45;&gt;SQLite -->
+<g id="edge138" class="edge"><title>59-&gt;SQLite</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/sqlite, TO: SQLite">
+<path fill="none" stroke="red" d="M6360.08,-431.081C6367.62,-424.174 6377.5,-416.692 6388,-413 6408.02,-405.958 7137.07,-420.086 7152,-405 7284.43,-271.18 6987.35,-134.675 6980,-130 6947.89,-109.58 6907.11,-94.2941 6877.85,-84.8959"/>
+<polygon fill="red" stroke="red" points="6878.61,-81.4649 6868.02,-81.8184 6876.52,-88.1454 6878.61,-81.4649"/>
+</a>
+</g>
+<!-- 56 -->
+<g id="node37" class="node"><title>56</title>
+<a xlink:href="../modules_zorba_Archive.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/archive";>
+<ellipse fill="white" stroke="white" cx="5984" cy="-447" rx="36.096" ry="18"/>
+<text text-anchor="middle" x="5984" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">archive</text>
 </a>
 </g>
 <!-- libarchive -->
-<g id="node175" class="node"><title>libarchive</title>
+<g id="node226" class="node"><title>libarchive</title>
 <a xlink:href="http://code.google.com/p/libarchive/"; xlink:title="libarchive">
-<polygon fill="none" stroke="red" points="3953.07,-91 3886.57,-91 3882.57,-87 3882.57,-55 3949.07,-55 3953.07,-59 3953.07,-91"/>
-<polyline fill="none" stroke="red" points="3949.07,-87 3882.57,-87 "/>
-<polyline fill="none" stroke="red" points="3949.07,-87 3949.07,-55 "/>
-<polyline fill="none" stroke="red" points="3949.07,-87 3953.07,-91 "/>
-<text text-anchor="middle" x="3917.82" y="-69.3" font-family="Times,serif" font-size="14.00">libarchive</text>
+<polygon fill="none" stroke="red" points="6649.25,-91 6582.75,-91 6578.75,-87 6578.75,-55 6645.25,-55 6649.25,-59 6649.25,-91"/>
+<polyline fill="none" stroke="red" points="6645.25,-87 6578.75,-87 "/>
+<polyline fill="none" stroke="red" points="6645.25,-87 6645.25,-55 "/>
+<polyline fill="none" stroke="red" points="6645.25,-87 6649.25,-91 "/>
+<text text-anchor="middle" x="6614" y="-69.3" font-family="Times,serif" font-size="14.00">libarchive</text>
 </a>
 </g>
-<!-- 48&#45;&gt;libarchive -->
-<g id="edge83" class="edge"><title>48-&gt;libarchive</title>
+<!-- 56&#45;&gt;libarchive -->
+<g id="edge136" class="edge"><title>56-&gt;libarchive</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/archive, TO: libarchive">
-<path fill="none" stroke="red" d="M2413.78,-312.043C2480.93,-304.651 2632.65,-288.956 2760.82,-283 2769.1,-282.615 3948.98,-280.883 3954.82,-275 4001.53,-227.977 3960.38,-142.562 3934.71,-99.8166"/>
-<polygon fill="red" stroke="red" points="3937.58,-97.8026 3929.35,-91.1285 3931.62,-101.477 3937.58,-97.8026"/>
-</a>
-</g>
-<!-- 64 -->
-<g id="node94" class="node"><title>64</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_character-based-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
-<ellipse fill="white" stroke="white" cx="1383.82" cy="-73" rx="126.133" ry="18"/>
-<text text-anchor="middle" x="1383.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">character-based-string-similarity</text>
-</a>
-</g>
-<!-- 65 -->
-<g id="node96" class="node"><title>65</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_consolidation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/consolidation";>
-<ellipse fill="white" stroke="white" cx="1306.82" cy="-195" rx="57.2688" ry="18"/>
-<text text-anchor="middle" x="1306.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">consolidation</text>
-</a>
-</g>
-<!-- 65&#45;&gt;64 -->
-<g id="edge165" class="edge"><title>65-&gt;64</title>
+<path fill="none" stroke="red" d="M6019.02,-442.072C6054.13,-437.095 6109.01,-426.439 6152,-405 6324.69,-318.875 6309.68,-203.753 6488,-130 6521.43,-116.174 6536.55,-137.997 6569,-122 6579.67,-116.741 6589.1,-107.819 6596.54,-99.0836"/>
+<polygon fill="red" stroke="red" points="6599.31,-101.23 6602.79,-91.2247 6593.83,-96.8732 6599.31,-101.23"/>
+</a>
+</g>
+<!-- 61 -->
+<g id="node40" class="node"><title>61</title>
+<a xlink:href="../modules_zorba_cryptography_HMAC.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hmac";>
+<ellipse fill="white" stroke="white" cx="774" cy="-325" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="774" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">hmac</text>
+</a>
+</g>
+<!-- 62 -->
+<g id="node42" class="node"><title>62</title>
+<a xlink:href="../modules_zorba_cryptography_hash.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hash";>
+<ellipse fill="white" stroke="white" cx="692" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="692" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">hash</text>
+</a>
+</g>
+<!-- 78 -->
+<g id="node45" class="node"><title>78</title>
+<a xlink:href="../modules_zorba_data_cleaning_Character-Based String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
+<ellipse fill="white" stroke="white" cx="5013" cy="-73" rx="126.133" ry="18"/>
+<text text-anchor="middle" x="5013" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">character-based-string-similarity</text>
+</a>
+</g>
+<!-- 79 -->
+<g id="node47" class="node"><title>79</title>
+<a xlink:href="../modules_zorba_data_cleaning_Consolidation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/consolidation";>
+<ellipse fill="white" stroke="white" cx="4936" cy="-172" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="4936" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">consolidation</text>
+</a>
+</g>
+<!-- 79&#45;&gt;78 -->
+<g id="edge238" class="edge"><title>79-&gt;78</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/consolidation, TO: http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
-<path fill="none" stroke="black" d="M1317.53,-177.315C1330.43,-157.214 1352.24,-123.225 1367.3,-99.7516"/>
-<polygon fill="black" stroke="black" points="1370.25,-101.627 1372.71,-91.3209 1364.36,-97.847 1370.25,-101.627"/>
-</a>
-</g>
-<!-- 70 -->
-<g id="node106" class="node"><title>70</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_set-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
-<ellipse fill="white" stroke="white" cx="1175.82" cy="-73" rx="57.2688" ry="18"/>
-<text text-anchor="middle" x="1175.82" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">set-similarity</text>
-</a>
-</g>
-<!-- 65&#45;&gt;70 -->
-<g id="edge163" class="edge"><title>65-&gt;70</title>
+<path fill="none" stroke="black" d="M4949.41,-154.104C4961.48,-138.897 4979.38,-116.348 4993.12,-99.0455"/>
+<polygon fill="black" stroke="black" points="4996.01,-101.036 4999.48,-91.028 4990.52,-96.6841 4996.01,-101.036"/>
+</a>
+</g>
+<!-- 84 -->
+<g id="node59" class="node"><title>84</title>
+<a xlink:href="../modules_zorba_data_cleaning_Set Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
+<ellipse fill="white" stroke="white" cx="4805" cy="-73" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="4805" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">set-similarity</text>
+</a>
+</g>
+<!-- 79&#45;&gt;84 -->
+<g id="edge236" class="edge"><title>79-&gt;84</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/consolidation, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
-<path fill="none" stroke="black" d="M1281.14,-178.8C1269.83,-171.595 1256.67,-162.494 1245.82,-153 1227.03,-136.56 1208.41,-115.242 1195.11,-98.8948"/>
-<polygon fill="black" stroke="black" points="1197.65,-96.4656 1188.66,-90.8516 1192.18,-100.844 1197.65,-96.4656"/>
-</a>
-</g>
-<!-- 66 -->
-<g id="node98" class="node"><title>66</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_conversion.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/conversion";>
-<ellipse fill="white" stroke="white" cx="1047.82" cy="-317" rx="49.0941" ry="18"/>
-<text text-anchor="middle" x="1047.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">conversion</text>
-</a>
-</g>
-<!-- 66&#45;&gt;11 -->
-<g id="edge169" class="edge"><title>66-&gt;11</title>
+<path fill="none" stroke="black" d="M4914.66,-155.199C4892.87,-139.064 4858.87,-113.891 4834.51,-95.8507"/>
+<polygon fill="black" stroke="black" points="4836.45,-92.9319 4826.33,-89.7938 4832.28,-98.5575 4836.45,-92.9319"/>
+</a>
+</g>
+<!-- 80 -->
+<g id="node49" class="node"><title>80</title>
+<a xlink:href="../modules_zorba_data_cleaning_Conversion.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/conversion";>
+<ellipse fill="white" stroke="white" cx="5185" cy="-325" rx="49.0941" ry="18"/>
+<text text-anchor="middle" x="5185" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">conversion</text>
+</a>
+</g>
+<!-- 80&#45;&gt;2 -->
+<g id="edge240" class="edge"><title>80-&gt;2</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/http-client";>
+<path fill="none" stroke="black" d="M5233.04,-320.766C5376.85,-311.084 5794,-283 5794,-283 5823.1,-264.231 5838.86,-226.037 5846.59,-199.979"/>
+<polygon fill="black" stroke="black" points="5849.97,-200.889 5849.26,-190.318 5843.23,-199.025 5849.97,-200.889"/>
+</a>
+</g>
+<!-- 12 -->
+<g id="node182" class="node"><title>12</title>
+<a xlink:href="../modules_zorba_Reflection.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/reflection";>
+<ellipse fill="white" stroke="white" cx="5976" cy="-172" rx="44.2946" ry="18"/>
+<text text-anchor="middle" x="5976" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">reflection</text>
+</a>
+</g>
+<!-- 80&#45;&gt;12 -->
+<g id="edge242" class="edge"><title>80-&gt;12</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/reflection";>
-<path fill="none" stroke="black" d="M1018.19,-302.398C1000.73,-295.114 977.982,-286.864 956.822,-283 924.137,-277.031 389.626,-287.449 358.822,-275 331.335,-263.892 307.54,-239.2 292.364,-220.357"/>
-<polygon fill="black" stroke="black" points="295.109,-218.186 286.209,-212.439 289.583,-222.482 295.109,-218.186"/>
-</a>
-</g>
-<!-- 66&#45;&gt;2 -->
-<g id="edge167" class="edge"><title>66-&gt;2</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/http-client";>
-<path fill="none" stroke="black" d="M1085.02,-305.075C1113.87,-297.192 1155,-287.222 1191.82,-283 1336.37,-266.425 3666.05,-289.558 3810.82,-275 3938.25,-262.185 4085.51,-227.276 4159.01,-208.442"/>
-<polygon fill="black" stroke="black" points="4160.07,-211.782 4168.88,-205.895 4158.32,-205.004 4160.07,-211.782"/>
-</a>
-</g>
-<!-- 67 -->
-<g id="node100" class="node"><title>67</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_hybrid-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity";>
-<ellipse fill="white" stroke="white" cx="1297.82" cy="-317" rx="93.3873" ry="18"/>
-<text text-anchor="middle" x="1297.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">hybrid-string-similarity</text>
-</a>
-</g>
-<!-- 67&#45;&gt;64 -->
-<g id="edge175" class="edge"><title>67-&gt;64</title>
+<path fill="none" stroke="black" d="M5232.71,-320.264C5320.43,-313.515 5513.24,-299.226 5676,-291 5689.1,-290.338 5900.74,-289.732 5912,-283 5942.47,-264.783 5959.9,-226.102 5968.66,-199.821"/>
+<polygon fill="black" stroke="black" points="5972.06,-200.676 5971.7,-190.087 5965.38,-198.59 5972.06,-200.676"/>
+</a>
+</g>
+<!-- 81 -->
+<g id="node51" class="node"><title>81</title>
+<a xlink:href="../modules_zorba_data_cleaning_Hybrid String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity";>
+<ellipse fill="white" stroke="white" cx="4724" cy="-325" rx="93.3873" ry="18"/>
+<text text-anchor="middle" x="4724" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">hybrid-string-similarity</text>
+</a>
+</g>
+<!-- 81&#45;&gt;78 -->
+<g id="edge248" class="edge"><title>81-&gt;78</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
-<path fill="none" stroke="black" d="M1345.03,-301.47C1357.42,-295.315 1369.39,-286.757 1376.82,-275 1394.59,-246.87 1389.78,-149.221 1386.16,-101.154"/>
-<polygon fill="black" stroke="black" points="1389.65,-100.844 1385.37,-91.1509 1382.67,-101.395 1389.65,-100.844"/>
-</a>
-</g>
-<!-- 69 -->
-<g id="node104" class="node"><title>69</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_phonetic-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity";>
-<ellipse fill="white" stroke="white" cx="1503.82" cy="-195" rx="100.611" ry="18"/>
-<text text-anchor="middle" x="1503.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">phonetic-string-similarity</text>
-</a>
-</g>
-<!-- 67&#45;&gt;69 -->
-<g id="edge177" class="edge"><title>67-&gt;69</title>
+<path fill="none" stroke="black" d="M4764.42,-308.738C4783.94,-302.062 4807.88,-294.879 4830,-291 4849.28,-287.618 4992.24,-296.925 5006,-283 5018.47,-270.376 5015.98,-155.112 5014.1,-101.362"/>
+<polygon fill="black" stroke="black" points="5017.59,-101.048 5013.73,-91.1829 5010.6,-101.305 5017.59,-101.048"/>
+</a>
+</g>
+<!-- 83 -->
+<g id="node57" class="node"><title>83</title>
+<a xlink:href="../modules_zorba_data_cleaning_Phonectic String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity";>
+<ellipse fill="white" stroke="white" cx="5133" cy="-172" rx="100.611" ry="18"/>
+<text text-anchor="middle" x="5133" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">phonetic-string-similarity</text>
+</a>
+</g>
+<!-- 81&#45;&gt;83 -->
+<g id="edge250" class="edge"><title>81-&gt;83</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity";>
-<path fill="none" stroke="black" d="M1336.2,-300.519C1352.73,-293.395 1372.06,-284.434 1388.82,-275 1418.96,-258.04 1451.25,-235.428 1473.91,-218.742"/>
-<polygon fill="black" stroke="black" points="1476.16,-221.432 1482.11,-212.661 1471.99,-215.811 1476.16,-221.432"/>
+<path fill="none" stroke="black" d="M4764.42,-308.709C4783.94,-302.027 4807.88,-294.847 4830,-291 4871.2,-283.836 4979.53,-299.394 5018,-283 5059.97,-265.114 5095.64,-224.535 5115.68,-197.98"/>
+<polygon fill="black" stroke="black" points="5118.52,-200.027 5121.63,-189.897 5112.88,-195.879 5118.52,-200.027"/>
 </a>
 </g>
-<!-- 67&#45;&gt;70 -->
-<g id="edge171" class="edge"><title>67-&gt;70</title>
+<!-- 81&#45;&gt;84 -->
+<g id="edge244" class="edge"><title>81-&gt;84</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
-<path fill="none" stroke="black" d="M1263.63,-300.206C1253.41,-293.815 1243.23,-285.439 1236.82,-275 1210.11,-231.497 1238.33,-209.633 1222.82,-161 1215.82,-139.058 1203.25,-116.221 1192.87,-99.4526"/>
-<polygon fill="black" stroke="black" points="1195.69,-97.37 1187.38,-90.8055 1189.79,-101.123 1195.69,-97.37"/>
-</a>
-</g>
-<!-- 71 -->
-<g id="node108" class="node"><title>71</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_token-based-string-similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity";>
-<ellipse fill="white" stroke="white" cx="1097.82" cy="-195" rx="113.135" ry="18"/>
-<text text-anchor="middle" x="1097.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">token-based-string-similarity</text>
-</a>
-</g>
-<!-- 67&#45;&gt;71 -->
-<g id="edge173" class="edge"><title>67-&gt;71</title>
+<path fill="none" stroke="black" d="M4770.97,-309.301C4807.23,-297.901 4851.35,-283.887 4852,-283 4872.04,-255.535 4863.63,-161.949 4852,-130 4847.59,-117.887 4839.28,-106.571 4830.86,-97.326"/>
+<polygon fill="black" stroke="black" points="4833.32,-94.8285 4823.85,-90.0756 4828.29,-99.696 4833.32,-94.8285"/>
+</a>
+</g>
+<!-- 85 -->
+<g id="node61" class="node"><title>85</title>
+<a xlink:href="../modules_zorba_data_cleaning_Token Based String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity";>
+<ellipse fill="white" stroke="white" cx="4727" cy="-172" rx="113.135" ry="18"/>
+<text text-anchor="middle" x="4727" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">token-based-string-similarity</text>
+</a>
+</g>
+<!-- 81&#45;&gt;85 -->
+<g id="edge246" class="edge"><title>81-&gt;85</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity";>
-<path fill="none" stroke="black" d="M1268.17,-299.74C1254.84,-292.33 1238.96,-283.362 1224.82,-275 1193.23,-256.317 1157.81,-234.184 1132.42,-218.105"/>
-<polygon fill="black" stroke="black" points="1134.2,-215.088 1123.88,-212.685 1130.45,-220.999 1134.2,-215.088"/>
-</a>
-</g>
-<!-- 68 -->
-<g id="node102" class="node"><title>68</title>
-<a xlink:href="../www.zorba-xquery.com_modules_data-cleaning_normalization.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/normalization";>
-<ellipse fill="white" stroke="white" cx="1544.82" cy="-317" rx="59.1941" ry="18"/>
-<text text-anchor="middle" x="1544.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">normalization</text>
-</a>
-</g>
-<!-- 68&#45;&gt;2 -->
-<g id="edge179" class="edge"><title>68-&gt;2</title>
+<path fill="none" stroke="black" d="M4724.34,-306.972C4724.85,-281.03 4725.84,-231.357 4726.46,-200.326"/>
+<polygon fill="black" stroke="black" points="4729.96,-200.265 4726.66,-190.198 4722.96,-200.126 4729.96,-200.265"/>
+</a>
+</g>
+<!-- 65 -->
+<g id="node53" class="node"><title>65</title>
+<a xlink:href="../modules_zorba_data_cleaning_Info Extraction.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/info-extraction";>
+<ellipse fill="white" stroke="white" cx="5049" cy="-325" rx="63.0666" ry="18"/>
+<text text-anchor="middle" x="5049" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">info-extraction</text>
+</a>
+</g>
+<!-- 65&#45;&gt;2 -->
+<g id="edge220" class="edge"><title>65-&gt;2</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/info-extraction, TO: http://www.zorba-xquery.com/modules/http-client";>
+<path fill="none" stroke="black" d="M5076.58,-308.667C5090.38,-301.841 5107.59,-294.552 5124,-291 5142.19,-287.061 5778.09,-292.652 5794,-283 5823.77,-264.943 5839.41,-226.222 5846.93,-199.888"/>
+<polygon fill="black" stroke="black" points="5850.34,-200.695 5849.51,-190.133 5843.57,-198.906 5850.34,-200.695"/>
+</a>
+</g>
+<!-- 82 -->
+<g id="node55" class="node"><title>82</title>
+<a xlink:href="../modules_zorba_data_cleaning_Normalization.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/normalization";>
+<ellipse fill="white" stroke="white" cx="4902" cy="-325" rx="59.1941" ry="18"/>
+<text text-anchor="middle" x="4902" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">normalization</text>
+</a>
+</g>
+<!-- 82&#45;&gt;2 -->
+<g id="edge252" class="edge"><title>82-&gt;2</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/normalization, TO: http://www.zorba-xquery.com/modules/http-client";>
-<path fill="none" stroke="black" d="M1575.41,-301.463C1591.99,-294.377 1613.08,-286.617 1632.82,-283 1692.33,-272.096 3750.63,-281.072 3810.82,-275 3938.08,-262.162 4085.12,-227.344 4158.72,-208.506"/>
-<polygon fill="black" stroke="black" points="4159.8,-211.843 4168.61,-205.958 4158.05,-205.064 4159.8,-211.843"/>
+<path fill="none" stroke="black" d="M4928.41,-308.654C4941.63,-301.825 4958.16,-294.537 4974,-291 4996.23,-286.034 5774.51,-294.792 5794,-283 5823.79,-264.975 5839.43,-226.246 5846.94,-199.901"/>
+<polygon fill="black" stroke="black" points="5850.35,-200.704 5849.52,-190.142 5843.58,-198.917 5850.35,-200.704"/>
 </a>
 </g>
-<!-- 71&#45;&gt;70 -->
-<g id="edge181" class="edge"><title>71-&gt;70</title>
+<!-- 85&#45;&gt;84 -->
+<g id="edge254" class="edge"><title>85-&gt;84</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
-<path fill="none" stroke="black" d="M1108.83,-177.061C1122.01,-156.782 1144.21,-122.631 1159.42,-99.2392"/>
-<polygon fill="black" stroke="black" points="1162.35,-101.144 1164.87,-90.8524 1156.48,-97.3294 1162.35,-101.144"/>
-</a>
-</g>
-<!-- 87 -->
-<g id="node111" class="node"><title>87</title>
-<a xlink:href="../www.zorba-xquery.com_modules_schema-tools.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/schema-tools";>
-<ellipse fill="white" stroke="white" cx="1702.82" cy="-317" rx="57.2688" ry="18"/>
-<text text-anchor="middle" x="1702.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">schema-tools</text>
-</a>
-</g>
-<!-- 87&#45;&gt;12 -->
-<g id="edge215" class="edge"><title>87-&gt;12</title>
+<path fill="none" stroke="black" d="M4740.59,-154.104C4752.89,-138.804 4771.17,-116.071 4785.12,-98.7277"/>
+<polygon fill="black" stroke="black" points="4788.03,-100.689 4791.57,-90.7025 4782.58,-96.3022 4788.03,-100.689"/>
+</a>
+</g>
+<!-- 98 -->
+<g id="node66" class="node"><title>98</title>
+<a xlink:href="../modules_zorba_data_converters_CSV.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/csv";>
+<ellipse fill="white" stroke="white" cx="2097" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="2097" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">csv</text>
+</a>
+</g>
+<!-- 98&#45;&gt;13 -->
+<g id="edge276" class="edge"><title>98-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/csv, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M2082.91,-309.533C2075.94,-303.074 2067.08,-295.845 2058,-291 2046.58,-284.906 2039.8,-291.448 2030,-283 2005.11,-261.553 1991.96,-225.174 1985.5,-200.162"/>
+<polygon fill="black" stroke="black" points="1988.85,-199.131 1983.13,-190.216 1982.04,-200.755 1988.85,-199.131"/>
+</a>
+</g>
+<!-- 49&#45;&gt;13 -->
+<g id="edge198" class="edge"><title>49-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M2161.66,-309.029C2154.73,-302.289 2145.68,-294.967 2136,-291 2114.14,-282.045 2049.37,-296.528 2030,-283 2002.64,-263.889 1989.98,-226.053 1984.31,-200.143"/>
+<polygon fill="black" stroke="black" points="1987.72,-199.326 1982.35,-190.193 1980.85,-200.682 1987.72,-199.326"/>
+</a>
+</g>
+<!-- Tidy -->
+<g id="node233" class="node"><title>Tidy</title>
+<a xlink:href="http://tidy.sourceforge.net/"; xlink:title="Tidy C++ Library">
+<polygon fill="none" stroke="red" points="6178,-91 6128,-91 6124,-87 6124,-55 6174,-55 6178,-59 6178,-91"/>
+<polyline fill="none" stroke="red" points="6174,-87 6124,-87 "/>
+<polyline fill="none" stroke="red" points="6174,-87 6174,-55 "/>
+<polyline fill="none" stroke="red" points="6174,-87 6178,-91 "/>
+<text text-anchor="middle" x="6151" y="-69.3" font-family="Times,serif" font-size="14.00">Tidy</text>
+</a>
+</g>
+<!-- 49&#45;&gt;Tidy -->
+<g id="edge128" class="edge"><title>49-&gt;Tidy</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: Tidy">
+<path fill="none" stroke="red" d="M2187.87,-309.064C2194.82,-302.152 2204.01,-294.671 2214,-291 2238.89,-281.854 6011.55,-299.87 6032,-283 6085.46,-238.911 6011.94,-177.914 6062,-130 6079.21,-113.528 6094.55,-134.218 6115,-122 6123.89,-116.687 6131.31,-108.257 6137.06,-99.9349"/>
+<polygon fill="red" stroke="red" points="6140.04,-101.759 6142.43,-91.4359 6134.13,-98.0177 6140.04,-101.759"/>
+</a>
+</g>
+<!-- 20 -->
+<g id="node70" class="node"><title>20</title>
+<a xlink:href="../modules_zorba_data_converters_JSON.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/json";>
+<ellipse fill="white" stroke="white" cx="1941" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="1941" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">json</text>
+</a>
+</g>
+<!-- 20&#45;&gt;13 -->
+<g id="edge174" class="edge"><title>20-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/json, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M1945.4,-306.972C1952.13,-280.917 1965.04,-230.922 1973.05,-199.921"/>
+<polygon fill="black" stroke="black" points="1976.45,-200.755 1975.56,-190.198 1969.67,-199.005 1976.45,-200.755"/>
+</a>
+</g>
+<!-- 16 -->
+<g id="node72" class="node"><title>16</title>
+<a xlink:href="../modules_zorba_data_converters_XML.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xml";>
+<ellipse fill="white" stroke="white" cx="2019" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="2019" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">xml</text>
+</a>
+</g>
+<!-- 16&#45;&gt;13 -->
+<g id="edge168" class="edge"><title>16-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xml, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M2014.6,-306.972C2007.87,-280.917 1994.96,-230.922 1986.95,-199.921"/>
+<polygon fill="black" stroke="black" points="1990.33,-199.005 1984.44,-190.198 1983.55,-200.755 1990.33,-199.005"/>
+</a>
+</g>
+<!-- 68 -->
+<g id="node75" class="node"><title>68</title>
+<a xlink:href="../modules_zorba_data_formatting_XSL-FO.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/xsl-fo";>
+<ellipse fill="white" stroke="white" cx="5885" cy="-447" rx="31.2965" ry="18"/>
+<text text-anchor="middle" x="5885" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">xsl-fo</text>
+</a>
+</g>
+<!-- 52 -->
+<g id="node170" class="node"><title>52</title>
+<a xlink:href="../modules_zorba_JVM Utility.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/util-jvm";>
+<ellipse fill="white" stroke="white" cx="5980" cy="-325" rx="39.4691" ry="18"/>
+<text text-anchor="middle" x="5980" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">util-jvm</text>
+</a>
+</g>
+<!-- 68&#45;&gt;52 -->
+<g id="edge224" class="edge"><title>68-&gt;52</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xsl-fo, TO: http://www.zorba-xquery.com/modules/util-jvm";>
+<path fill="none" stroke="black" d="M5898.51,-430.6C5905.09,-422.983 5913.07,-413.6 5920,-405 5934.49,-387.006 5950.27,-366.176 5962.01,-350.424"/>
+<polygon fill="black" stroke="black" points="5964.93,-352.361 5968.08,-342.246 5959.31,-348.189 5964.93,-352.361"/>
+</a>
+</g>
+<!-- JDK -->
+<g id="node230" class="node"><title>JDK</title>
+<a xlink:href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"; xlink:title="JDK - Java Development Kit">
+<polygon fill="none" stroke="red" points="6326,-91 6276,-91 6272,-87 6272,-55 6322,-55 6326,-59 6326,-91"/>
+<polyline fill="none" stroke="red" points="6322,-87 6272,-87 "/>
+<polyline fill="none" stroke="red" points="6322,-87 6322,-55 "/>
+<polyline fill="none" stroke="red" points="6322,-87 6326,-91 "/>
+<text text-anchor="middle" x="6299" y="-69.3" font-family="Times,serif" font-size="14.00">JDK</text>
+</a>
+</g>
+<!-- 68&#45;&gt;JDK -->
+<g id="edge146" class="edge"><title>68-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xsl-fo, TO: JDK">
+<path fill="none" stroke="red" d="M5902.28,-431.755C5911.67,-424.843 5923.82,-417.154 5936,-413 5976.52,-399.178 5991.03,-417.437 6032,-405 6138.98,-372.522 6184.98,-372.489 6252,-283 6293.02,-228.232 6299.35,-144.235 6299.67,-101.311"/>
+<polygon fill="red" stroke="red" points="6303.17,-101.069 6299.64,-91.081 6296.17,-101.093 6303.17,-101.069"/>
+</a>
+</g>
+<!-- 70 -->
+<g id="node78" class="node"><title>70</title>
+<a xlink:href="../modules_zorba_data_processing_PDF Reader.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/read-pdf";>
+<ellipse fill="white" stroke="white" cx="5728" cy="-325" rx="39.9464" ry="18"/>
+<text text-anchor="middle" x="5728" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">read-pdf</text>
+</a>
+</g>
+<!-- 70&#45;&gt;13 -->
+<g id="edge226" class="edge"><title>70-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M5689,-320.454C5607.05,-313.198 5410.92,-296.844 5246,-291 5234.84,-290.605 2039.38,-289.057 2030,-283 2001.81,-264.798 1989.33,-226.395 1983.93,-200.143"/>
+<polygon fill="black" stroke="black" points="1987.33,-199.272 1982.08,-190.069 1980.44,-200.537 1987.33,-199.272"/>
+</a>
+</g>
+<!-- Apache -->
+<g id="node228" class="node"><title>Apache</title>
+<a xlink:href="http://pdfbox.apache.org/"; xlink:title="Apache PDFBox">
+<polygon fill="none" stroke="red" points="6254,-91 6200,-91 6196,-87 6196,-55 6250,-55 6254,-59 6254,-91"/>
+<polyline fill="none" stroke="red" points="6250,-87 6196,-87 "/>
+<polyline fill="none" stroke="red" points="6250,-87 6250,-55 "/>
+<polyline fill="none" stroke="red" points="6250,-87 6254,-91 "/>
+<text text-anchor="middle" x="6225" y="-69.3" font-family="Times,serif" font-size="14.00">Apache</text>
+</a>
+</g>
+<!-- 70&#45;&gt;Apache -->
+<g id="edge152" class="edge"><title>70-&gt;Apache</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: Apache">
+<path fill="none" stroke="red" d="M5746.52,-308.788C5755.94,-301.991 5767.94,-294.691 5780,-291 5794.99,-286.414 6049.5,-292.455 6062,-283 6118.84,-240.007 6054.82,-175.098 6110,-130 6123.32,-119.114 6171.92,-130.283 6187,-122 6196.5,-116.78 6204.46,-108.1 6210.61,-99.5451"/>
+<polygon fill="red" stroke="red" points="6213.55,-101.441 6216.13,-91.1652 6207.7,-97.588 6213.55,-101.441"/>
+</a>
+</g>
+<!-- 70&#45;&gt;JDK -->
+<g id="edge150" class="edge"><title>70-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: JDK">
+<path fill="none" stroke="red" d="M5746.52,-308.771C5755.94,-301.969 5767.93,-294.671 5780,-291 5797.01,-285.826 6085.64,-293.494 6100,-283 6158.1,-240.535 6095.93,-173.836 6153,-130 6172.44,-115.071 6241.49,-133.749 6263,-122 6272.23,-116.96 6279.78,-108.432 6285.53,-99.9502"/>
+<polygon fill="red" stroke="red" points="6288.61,-101.625 6290.88,-91.2763 6282.65,-97.9516 6288.61,-101.625"/>
+</a>
+</g>
+<!-- 66 -->
+<g id="node80" class="node"><title>66</title>
+<a xlink:href="../modules_zorba_data_processing_Schema Tools.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/schema-tools";>
+<ellipse fill="white" stroke="white" cx="5850" cy="-325" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="5850" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">schema-tools</text>
+</a>
+</g>
+<!-- 66&#45;&gt;13 -->
+<g id="edge222" class="edge"><title>66-&gt;13</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M1734.97,-301.867C1750.91,-295.325 1770.61,-287.929 1788.82,-283 2113.12,-195.252 2200.13,-190.116 2534.82,-161 2554.17,-159.317 3216.87,-162.462 3233.82,-153 3254.01,-141.736 3267.21,-118.558 3274.95,-100.206"/>
-<polygon fill="black" stroke="black" points="3278.21,-101.464 3278.6,-90.8766 3271.69,-98.9121 3278.21,-101.464"/>
+<path fill="none" stroke="black" d="M5824.72,-308.778C5811.82,-301.887 5795.6,-294.51 5780,-291 5754.59,-285.283 2051.88,-297.122 2030,-283 2001.81,-264.803 1989.32,-226.399 1983.93,-200.145"/>
+<polygon fill="black" stroke="black" points="1987.33,-199.274 1982.08,-190.07 1980.44,-200.538 1987.33,-199.274"/>
 </a>
 </g>
-<!-- 87&#45;&gt;Apache -->
-<g id="edge111" class="edge"><title>87-&gt;Apache</title>
+<!-- 66&#45;&gt;Apache -->
+<g id="edge142" class="edge"><title>66-&gt;Apache</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: Apache">
-<path fill="none" stroke="red" d="M1732.68,-301.466C1748.88,-294.381 1769.49,-286.622 1788.82,-283 1802.62,-280.415 3800.91,-284.949 3810.82,-275 3846.58,-239.102 3845.74,-197.71 3810.82,-161 3798.55,-148.103 3665.65,-162.847 3650.82,-153 3633.23,-141.317 3623.54,-119.087 3618.36,-101.178"/>
-<polygon fill="red" stroke="red" points="3621.69,-100.057 3615.81,-91.2447 3614.91,-101.801 3621.69,-100.057"/>
+<path fill="none" stroke="red" d="M5878.08,-309.264C5892.58,-302.404 5910.79,-294.908 5928,-291 5946.66,-286.762 6083.72,-293.042 6100,-283 6166.4,-242.055 6144.55,-196.083 6186,-130 6192.36,-119.857 6199.78,-108.995 6206.43,-99.562"/>
+<polygon fill="red" stroke="red" points="6209.32,-101.54 6212.26,-91.3629 6203.61,-97.4802 6209.32,-101.54"/>
 </a>
 </g>
-<!-- 87&#45;&gt;JDK -->
-<g id="edge109" class="edge"><title>87-&gt;JDK</title>
+<!-- 66&#45;&gt;JDK -->
+<g id="edge140" class="edge"><title>66-&gt;JDK</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: JDK">
-<path fill="none" stroke="red" d="M1732.69,-301.509C1748.89,-294.436 1769.5,-286.675 1788.82,-283 1811.91,-278.61 2615.82,-288.831 2634.82,-275 2678,-243.568 2629.66,-192.46 2672.82,-161 2689.52,-148.825 3399.5,-164.274 3416.82,-153 3434.46,-141.522 3443.56,-119.07 3448.2,-101.026"/>
-<polygon fill="red" stroke="red" points="3451.67,-101.551 3450.44,-91.0273 3444.84,-100.018 3451.67,-101.551"/>
-</a>
-</g>
-<!-- 72 -->
-<g id="node114" class="node"><title>72</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_datetime.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/datetime";>
-<ellipse fill="white" stroke="white" cx="902.822" cy="-317" rx="41.394" ry="18"/>
-<text text-anchor="middle" x="902.822" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">datetime</text>
-</a>
-</g>
-<!-- 81 -->
-<g id="node132" class="node"><title>81</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_text.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/text";>
-<ellipse fill="white" stroke="white" cx="917.822" cy="-195" rx="27" ry="18"/>
-<text text-anchor="middle" x="917.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">text</text>
-</a>
-</g>
-<!-- 72&#45;&gt;81 -->
-<g id="edge183" class="edge"><title>72-&gt;81</title>
+<path fill="none" stroke="red" d="M5878.06,-309.18C5892.56,-302.298 5910.77,-294.809 5928,-291 5952.86,-285.504 6136.35,-297.887 6157,-283 6215.87,-240.569 6157.94,-176.079 6214,-130 6231.05,-115.988 6244.13,-133.431 6263,-122 6271.86,-116.633 6279.27,-108.192 6285.02,-99.875"/>
+<polygon fill="red" stroke="red" points="6288,-101.707 6290.4,-91.3869 6282.09,-97.9593 6288,-101.707"/>
+</a>
+</g>
+<!-- 24 -->
+<g id="node84" class="node"><title>24</title>
+<a xlink:href="../modules_zorba_data_store_collections_Dynamic Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<ellipse fill="white" stroke="white" cx="4151" cy="-172" rx="27" ry="18"/>
+<text text-anchor="middle" x="4151" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 25 -->
+<g id="node86" class="node"><title>25</title>
+<a xlink:href="../modules_zorba_data_store_collections_Dynamic Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<ellipse fill="white" stroke="white" cx="4151" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="4151" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 28 -->
+<g id="node88" class="node"><title>28</title>
+<a xlink:href="../modules_zorba_data_store_collections_Static Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/ddl";>
+<ellipse fill="white" stroke="white" cx="4506" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="4506" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 29 -->
+<g id="node90" class="node"><title>29</title>
+<a xlink:href="../modules_zorba_data_store_collections_Static Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/dml";>
+<ellipse fill="white" stroke="white" cx="4353" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="4353" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 26 -->
+<g id="node92" class="node"><title>26</title>
+<a xlink:href="../modules_zorba_data_store_collections_W3C Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl";>
+<ellipse fill="white" stroke="white" cx="4332" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="4332" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 26&#45;&gt;24 -->
+<g id="edge176" class="edge"><title>26-&gt;24</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<path fill="none" stroke="black" d="M4315.71,-310.159C4308.73,-304.243 4300.48,-297.269 4293,-291 4251.64,-256.321 4203.26,-216.213 4174.98,-192.82"/>
+<polygon fill="black" stroke="black" points="4177.16,-190.079 4167.22,-186.403 4172.7,-195.473 4177.16,-190.079"/>
+</a>
+</g>
+<!-- 27 -->
+<g id="node94" class="node"><title>27</title>
+<a xlink:href="../modules_zorba_data_store_collections_W3C Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml";>
+<ellipse fill="white" stroke="white" cx="4192" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="4192" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 27&#45;&gt;25 -->
+<g id="edge180" class="edge"><title>27-&gt;25</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<path fill="none" stroke="black" d="M4186.3,-429.315C4179.51,-409.456 4168.1,-376.042 4160.09,-352.604"/>
+<polygon fill="black" stroke="black" points="4163.33,-351.262 4156.78,-342.931 4156.71,-353.525 4163.33,-351.262"/>
+</a>
+</g>
+<!-- 27&#45;&gt;26 -->
+<g id="edge178" class="edge"><title>27-&gt;26</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl";>
+<path fill="none" stroke="black" d="M4214.35,-436.59C4230.36,-429.897 4252.45,-420.755 4272,-413 4281.28,-409.318 4285.61,-411.721 4293,-405 4308.27,-391.107 4318.28,-369.901 4324.33,-352.957"/>
+<polygon fill="black" stroke="black" points="4327.79,-353.654 4327.6,-343.061 4321.14,-351.459 4327.79,-353.654"/>
+</a>
+</g>
+<!-- 71 -->
+<g id="node97" class="node"><title>71</title>
+<a xlink:href="../modules_zorba_data_store_data_structures_Queue.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/queue";>
+<ellipse fill="white" stroke="white" cx="3970" cy="-447" rx="31.2735" ry="18"/>
+<text text-anchor="middle" x="3970" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">queue</text>
+</a>
+</g>
+<!-- 71&#45;&gt;24 -->
+<g id="edge228" class="edge"><title>71-&gt;24</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<path fill="none" stroke="black" d="M3980.04,-429.54C3997.5,-401.043 4034.78,-340.788 4068,-291 4090.06,-257.931 4116.68,-220.508 4133.71,-196.841"/>
+<polygon fill="black" stroke="black" points="4136.73,-198.64 4139.74,-188.483 4131.05,-194.544 4136.73,-198.64"/>
+</a>
+</g>
+<!-- 71&#45;&gt;25 -->
+<g id="edge230" class="edge"><title>71-&gt;25</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<path fill="none" stroke="black" d="M3988.18,-431.869C3996.02,-425.903 4005.36,-418.971 4014,-413 4050.86,-387.53 4094.79,-360.132 4122.78,-343.03"/>
+<polygon fill="black" stroke="black" points="4124.91,-345.832 4131.63,-337.642 4121.27,-339.853 4124.91,-345.832"/>
+</a>
+</g>
+<!-- 73 -->
+<g id="node99" class="node"><title>73</title>
+<a xlink:href="../modules_zorba_data_store_data_structures_Stack.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/stack";>
+<ellipse fill="white" stroke="white" cx="4055" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="4055" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">stack</text>
+</a>
+</g>
+<!-- 73&#45;&gt;24 -->
+<g id="edge232" class="edge"><title>73-&gt;24</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<path fill="none" stroke="black" d="M4060.86,-429.334C4077,-383.452 4122.16,-255.005 4141.75,-199.312"/>
+<polygon fill="black" stroke="black" points="4145.08,-200.39 4145.09,-189.795 4138.47,-198.068 4145.08,-200.39"/>
+</a>
+</g>
+<!-- 73&#45;&gt;25 -->
+<g id="edge234" class="edge"><title>73-&gt;25</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<path fill="none" stroke="black" d="M4067.55,-430.312C4084.1,-409.626 4113.35,-373.063 4132.45,-349.183"/>
+<polygon fill="black" stroke="black" points="4135.24,-351.307 4138.75,-341.312 4129.77,-346.935 4135.24,-351.307"/>
+</a>
+</g>
+<!-- 22 -->
+<g id="node101" class="node"><title>22</title>
+<a xlink:href="../modules_zorba_data_store_data_structures_Unordered Map.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/data-structures/unordered-map";>
+<ellipse fill="white" stroke="white" cx="3849" cy="-447" rx="64.4914" ry="18"/>
+<text text-anchor="middle" x="3849" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">unordered-map</text>
+</a>
+</g>
+<!-- 23 -->
+<g id="node103" class="node"><title>23</title>
+<a xlink:href="../modules_zorba_data_store_Documents.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/documents";>
+<ellipse fill="white" stroke="white" cx="3703" cy="-447" rx="49.0941" ry="18"/>
+<text text-anchor="middle" x="3703" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">documents</text>
+</a>
+</g>
+<!-- 30 -->
+<g id="node106" class="node"><title>30</title>
+<a xlink:href="../modules_zorba_data_store_indexes_Static Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/ddl";>
+<ellipse fill="white" stroke="white" cx="3562" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3562" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 31 -->
+<g id="node108" class="node"><title>31</title>
+<a xlink:href="../modules_zorba_data_store_indexes_Static Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/dml";>
+<ellipse fill="white" stroke="white" cx="3409" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3409" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 32 -->
+<g id="node111" class="node"><title>32</title>
+<a xlink:href="../modules_zorba_data_store_integrity_constraints_Static Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/ddl";>
+<ellipse fill="white" stroke="white" cx="3240" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3240" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 33 -->
+<g id="node113" class="node"><title>33</title>
+<a xlink:href="../modules_zorba_data_store_integrity_constraints_Static Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/dml";>
+<ellipse fill="white" stroke="white" cx="3087" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3087" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 37 -->
+<g id="node115" class="node"><title>37</title>
+<a xlink:href="../modules_zorba_Debugger.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler";>
+<ellipse fill="white" stroke="white" cx="2261" cy="-447" rx="90.4879" ry="18"/>
+<text text-anchor="middle" x="2261" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dbgp-message-handler</text>
+</a>
+</g>
+<!-- 37&#45;&gt;19 -->
+<g id="edge192" class="edge"><title>37-&gt;19</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler, TO: http://www.zorba-xquery.com/modules/converters/base64";>
+<path fill="none" stroke="black" d="M2261,-428.807C2261,-409.114 2261,-376.583 2261,-353.39"/>
+<polygon fill="black" stroke="black" points="2264.5,-353.161 2261,-343.161 2257.5,-353.161 2264.5,-353.161"/>
+</a>
+</g>
+<!-- 88 -->
+<g id="node118" class="node"><title>88</title>
+<a xlink:href="../modules_zorba_excel_Datetime.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/datetime";>
+<ellipse fill="white" stroke="white" cx="2928" cy="-447" rx="41.394" ry="18"/>
+<text text-anchor="middle" x="2928" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">datetime</text>
+</a>
+</g>
+<!-- 97 -->
+<g id="node136" class="node"><title>97</title>
+<a xlink:href="../modules_zorba_excel_Text.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/text";>
+<ellipse fill="white" stroke="white" cx="2943" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="2943" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">text</text>
+</a>
+</g>
+<!-- 88&#45;&gt;97 -->
+<g id="edge256" class="edge"><title>88-&gt;97</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/datetime, TO: http://www.zorba-xquery.com/modules/excel/text";>
-<path fill="none" stroke="black" d="M904.971,-298.807C907.432,-279.114 911.499,-246.583 914.398,-223.39"/>
-<polygon fill="black" stroke="black" points="917.909,-223.518 915.676,-213.161 910.963,-222.65 917.909,-223.518"/>
-</a>
-</g>
-<!-- 73 -->
-<g id="node116" class="node"><title>73</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_engineering.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/engineering";>
-<ellipse fill="white" stroke="white" cx="784.822" cy="-317" rx="51.4931" ry="18"/>
-<text text-anchor="middle" x="784.822" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">engineering</text>
-</a>
-</g>
-<!-- 78 -->
-<g id="node124" class="node"><title>78</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_math.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math";>
-<ellipse fill="white" stroke="white" cx="687.822" cy="-73" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="687.822" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">math</text>
-</a>
-</g>
-<!-- 73&#45;&gt;78 -->
-<g id="edge187" class="edge"><title>73-&gt;78</title>
+<path fill="none" stroke="black" d="M2930.15,-428.807C2932.61,-409.114 2936.68,-376.583 2939.58,-353.39"/>
+<polygon fill="black" stroke="black" points="2943.09,-353.518 2940.85,-343.161 2936.14,-352.65 2943.09,-353.518"/>
+</a>
+</g>
+<!-- 89 -->
+<g id="node120" class="node"><title>89</title>
+<a xlink:href="../modules_zorba_excel_Engineering.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/engineering";>
+<ellipse fill="white" stroke="white" cx="2810" cy="-447" rx="51.4931" ry="18"/>
+<text text-anchor="middle" x="2810" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">engineering</text>
+</a>
+</g>
+<!-- 94 -->
+<g id="node128" class="node"><title>94</title>
+<a xlink:href="../modules_zorba_excel_Math.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math";>
+<ellipse fill="white" stroke="white" cx="2713" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="2713" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">math</text>
+</a>
+</g>
+<!-- 89&#45;&gt;94 -->
+<g id="edge260" class="edge"><title>89-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/engineering, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M812.505,-301.631C823.757,-295.815 836.895,-289.056 848.822,-283 855.91,-279.4 860.642,-281.763 864.822,-275 878.14,-253.45 878.213,-182.504 864.822,-161 834.305,-111.996 767.212,-89.8038 724.957,-80.3623"/>
-<polygon fill="black" stroke="black" points="725.552,-76.9109 715.046,-78.279 724.112,-83.7612 725.552,-76.9109"/>
+<path fill="none" stroke="black" d="M2837.68,-431.631C2848.94,-425.815 2862.07,-419.056 2874,-413 2881.09,-409.4 2885.82,-411.763 2890,-405 2903.32,-383.45 2901.95,-313.336 2890,-291 2859.91,-234.779 2789.9,-200.719 2747.5,-184.5"/>
+<polygon fill="black" stroke="black" points="2748.46,-181.125 2737.87,-180.941 2746.03,-187.691 2748.46,-181.125"/>
 </a>
 </g>
-<!-- 73&#45;&gt;81 -->
-<g id="edge185" class="edge"><title>73-&gt;81</title>
+<!-- 89&#45;&gt;97 -->
+<g id="edge258" class="edge"><title>89-&gt;97</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/engineering, TO: http://www.zorba-xquery.com/modules/excel/text";>
-<path fill="none" stroke="black" d="M810.434,-301.317C821.927,-295.118 835.804,-288.157 848.822,-283 860.854,-278.233 866.8,-283.19 876.822,-275 893.224,-261.594 903.817,-239.891 910.119,-222.621"/>
-<polygon fill="black" stroke="black" points="913.463,-223.656 913.345,-213.062 906.831,-221.418 913.463,-223.656"/>
-</a>
-</g>
-<!-- 74 -->
-<g id="node118" class="node"><title>74</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_information.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/information";>
-<ellipse fill="white" stroke="white" cx="799.822" cy="-195" rx="52.4675" ry="18"/>
-<text text-anchor="middle" x="799.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">information</text>
-</a>
-</g>
-<!-- 74&#45;&gt;78 -->
-<g id="edge189" class="edge"><title>74-&gt;78</title>
+<path fill="none" stroke="black" d="M2835.61,-431.317C2847.11,-425.118 2860.98,-418.157 2874,-413 2886.03,-408.233 2891.98,-413.19 2902,-405 2918.4,-391.594 2929,-369.891 2935.3,-352.621"/>
+<polygon fill="black" stroke="black" points="2938.64,-353.656 2938.52,-343.062 2932.01,-351.418 2938.64,-353.656"/>
+</a>
+</g>
+<!-- 90 -->
+<g id="node122" class="node"><title>90</title>
+<a xlink:href="../modules_zorba_excel_Information.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/information";>
+<ellipse fill="white" stroke="white" cx="2825" cy="-325" rx="52.4675" ry="18"/>
+<text text-anchor="middle" x="2825" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">information</text>
+</a>
+</g>
+<!-- 90&#45;&gt;94 -->
+<g id="edge262" class="edge"><title>90-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/information, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M784.248,-177.315C764.592,-156.254 730.706,-119.947 708.787,-96.4631"/>
-<polygon fill="black" stroke="black" points="711.232,-93.9536 701.851,-89.0311 706.115,-98.7298 711.232,-93.9536"/>
-</a>
-</g>
-<!-- 75 -->
-<g id="node120" class="node"><title>75</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_logical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/logical";>
-<ellipse fill="white" stroke="white" cx="611.822" cy="-317" rx="34.1708" ry="18"/>
-<text text-anchor="middle" x="611.822" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">logical</text>
-</a>
-</g>
-<!-- 76 -->
-<g id="node122" class="node"><title>76</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_lookup.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/lookup";>
-<ellipse fill="white" stroke="white" cx="687.822" cy="-195" rx="35.1455" ry="18"/>
-<text text-anchor="middle" x="687.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">lookup</text>
-</a>
-</g>
-<!-- 76&#45;&gt;78 -->
-<g id="edge191" class="edge"><title>76-&gt;78</title>
+<path fill="none" stroke="black" d="M2812.59,-307.263C2792.7,-280.452 2753.62,-227.765 2730.78,-196.966"/>
+<polygon fill="black" stroke="black" points="2733.56,-194.845 2724.79,-188.899 2727.94,-199.016 2733.56,-194.845"/>
+</a>
+</g>
+<!-- 91 -->
+<g id="node124" class="node"><title>91</title>
+<a xlink:href="../modules_zorba_excel_Logical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/logical";>
+<ellipse fill="white" stroke="white" cx="2637" cy="-447" rx="34.1708" ry="18"/>
+<text text-anchor="middle" x="2637" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">logical</text>
+</a>
+</g>
+<!-- 92 -->
+<g id="node126" class="node"><title>92</title>
+<a xlink:href="../modules_zorba_excel_Lookup.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/lookup";>
+<ellipse fill="white" stroke="white" cx="2713" cy="-325" rx="35.1455" ry="18"/>
+<text text-anchor="middle" x="2713" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">lookup</text>
+</a>
+</g>
+<!-- 92&#45;&gt;94 -->
+<g id="edge264" class="edge"><title>92-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/lookup, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M687.822,-176.807C687.822,-157.114 687.822,-124.583 687.822,-101.39"/>
-<polygon fill="black" stroke="black" points="691.322,-101.161 687.822,-91.1612 684.322,-101.161 691.322,-101.161"/>
-</a>
-</g>
-<!-- 77 -->
-<g id="node126" class="node"><title>77</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_math-sumproduct.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math-sumproduct";>
-<ellipse fill="white" stroke="white" cx="555.822" cy="-195" rx="73.1654" ry="18"/>
-<text text-anchor="middle" x="555.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">math-sumproduct</text>
-</a>
-</g>
-<!-- 77&#45;&gt;78 -->
-<g id="edge193" class="edge"><title>77-&gt;78</title>
+<path fill="none" stroke="black" d="M2713,-306.972C2713,-281.03 2713,-231.357 2713,-200.326"/>
+<polygon fill="black" stroke="black" points="2716.5,-200.198 2713,-190.198 2709.5,-200.198 2716.5,-200.198"/>
+</a>
+</g>
+<!-- 93 -->
+<g id="node130" class="node"><title>93</title>
+<a xlink:href="../modules_zorba_excel_Math Sumproduct.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math-sumproduct";>
+<ellipse fill="white" stroke="white" cx="2581" cy="-325" rx="73.1654" ry="18"/>
+<text text-anchor="middle" x="2581" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">math-sumproduct</text>
+</a>
+</g>
+<!-- 93&#45;&gt;94 -->
+<g id="edge266" class="edge"><title>93-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/math-sumproduct, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M574.176,-177.315C597.801,-155.837 638.866,-118.505 664.628,-95.0849"/>
-<polygon fill="black" stroke="black" points="667.051,-97.6127 672.096,-88.2962 662.342,-92.4331 667.051,-97.6127"/>
-</a>
-</g>
-<!-- 80 -->
-<g id="node128" class="node"><title>80</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_statistical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical";>
-<ellipse fill="white" stroke="white" cx="414.822" cy="-195" rx="44.2946" ry="18"/>
-<text text-anchor="middle" x="414.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">statistical</text>
-</a>
-</g>
-<!-- 80&#45;&gt;78 -->
-<g id="edge199" class="edge"><title>80-&gt;78</title>
+<path fill="none" stroke="black" d="M2595.63,-307.263C2619.42,-280.055 2666.49,-226.201 2693.23,-195.614"/>
+<polygon fill="black" stroke="black" points="2695.94,-197.839 2699.88,-188.007 2690.66,-193.232 2695.94,-197.839"/>
+</a>
+</g>
+<!-- 96 -->
+<g id="node132" class="node"><title>96</title>
+<a xlink:href="../modules_zorba_excel_Statistical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical";>
+<ellipse fill="white" stroke="white" cx="2440" cy="-325" rx="44.2946" ry="18"/>
+<text text-anchor="middle" x="2440" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">statistical</text>
+</a>
+</g>
+<!-- 96&#45;&gt;94 -->
+<g id="edge272" class="edge"><title>96-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M437.548,-179.551C447.559,-173.464 459.58,-166.526 470.822,-161 533.845,-130.018 610.803,-101.174 654.07,-85.7305"/>
-<polygon fill="black" stroke="black" points="655.29,-89.0116 663.545,-82.3709 652.95,-82.4141 655.29,-89.0116"/>
-</a>
-</g>
-<!-- 79 -->
-<g id="node130" class="node"><title>79</title>
-<a xlink:href="../www.zorba-xquery.com_modules_excel_statistical-zorba.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical-zorba";>
-<ellipse fill="white" stroke="white" cx="424.822" cy="-317" rx="65.9423" ry="18"/>
-<text text-anchor="middle" x="424.822" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">statistical-zorba</text>
-</a>
-</g>
-<!-- 79&#45;&gt;78 -->
-<g id="edge195" class="edge"><title>79-&gt;78</title>
+<path fill="none" stroke="black" d="M2463.88,-309.686C2473.77,-303.817 2485.39,-297.006 2496,-291 2562.26,-253.476 2641,-211.235 2683.03,-188.874"/>
+<polygon fill="black" stroke="black" points="2684.73,-191.936 2691.92,-184.153 2681.45,-185.755 2684.73,-191.936"/>
+</a>
+</g>
+<!-- 95 -->
+<g id="node134" class="node"><title>95</title>
+<a xlink:href="../modules_zorba_excel_Statistical Zorba.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical-zorba";>
+<ellipse fill="white" stroke="white" cx="2450" cy="-447" rx="65.9423" ry="18"/>
+<text text-anchor="middle" x="2450" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">statistical-zorba</text>
+</a>
+</g>
+<!-- 95&#45;&gt;94 -->
+<g id="edge268" class="edge"><title>95-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical-zorba, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M388.121,-301.822C376.652,-295.447 365.311,-286.671 358.822,-275 334.199,-230.718 327.912,-201.146 358.822,-161 394.48,-114.686 571.56,-87.992 650.146,-78.2567"/>
-<polygon fill="black" stroke="black" points="650.608,-81.7264 660.114,-77.0477 649.765,-74.7773 650.608,-81.7264"/>
+<path fill="none" stroke="black" d="M2413.3,-431.822C2401.83,-425.447 2390.49,-416.671 2384,-405 2359.38,-360.718 2354.84,-332.435 2384,-291 2451.1,-195.652 2602.8,-176.958 2674.32,-173.565"/>
+<polygon fill="black" stroke="black" points="2674.82,-177.048 2684.68,-173.155 2674.55,-170.054 2674.82,-177.048"/>
 </a>
 </g>
-<!-- 79&#45;&gt;80 -->
-<g id="edge197" class="edge"><title>79-&gt;80</title>
+<!-- 95&#45;&gt;96 -->
+<g id="edge270" class="edge"><title>95-&gt;96</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical-zorba, TO: http://www.zorba-xquery.com/modules/excel/statistical";>
-<path fill="none" stroke="black" d="M423.389,-298.807C421.748,-279.114 419.037,-246.583 417.104,-223.39"/>
-<polygon fill="black" stroke="black" points="420.57,-222.836 416.252,-213.161 413.594,-223.417 420.57,-222.836"/>
+<path fill="none" stroke="black" d="M2448.57,-428.807C2446.93,-409.114 2444.22,-376.583 2442.28,-353.39"/>
+<polygon fill="black" stroke="black" points="2445.75,-352.836 2441.43,-343.161 2438.77,-353.417 2445.75,-352.836"/>
 </a>
 </g>
-<!-- 81&#45;&gt;78 -->
-<g id="edge201" class="edge"><title>81-&gt;78</title>
+<!-- 97&#45;&gt;94 -->
+<g id="edge274" class="edge"><title>97-&gt;94</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/text, TO: http://www.zorba-xquery.com/modules/excel/math";>
-<path fill="none" stroke="black" d="M902.146,-179.867C894.776,-173.629 885.677,-166.485 876.822,-161 825.376,-129.135 760.323,-101.718 721.505,-86.5729"/>
-<polygon fill="black" stroke="black" points="722.345,-83.1455 711.755,-82.8124 719.826,-89.6766 722.345,-83.1455"/>
-</a>
-</g>
-<!-- 58 -->
-<g id="node135" class="node"><title>58</title>
-<a xlink:href="../www.zorba-xquery.com_modules_email_imap.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/imap";>
-<ellipse fill="white" stroke="white" cx="2105.82" cy="-317" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="2105.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">imap</text>
+<path fill="none" stroke="black" d="M2926.99,-310.374C2919.55,-304.239 2910.49,-297.035 2902,-291 2847.36,-252.16 2780.07,-211.827 2742.31,-189.823"/>
+<polygon fill="black" stroke="black" points="2743.78,-186.628 2733.37,-184.636 2740.27,-192.682 2743.78,-186.628"/>
+</a>
+</g>
+<!-- 18 -->
+<g id="node138" class="node"><title>18</title>
+<a xlink:href="../modules_zorba_Full-Text.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/full-text";>
+<ellipse fill="white" stroke="white" cx="2107" cy="-447" rx="38.4949" ry="18"/>
+<text text-anchor="middle" x="2107" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">full-text</text>
+</a>
+</g>
+<!-- 57 -->
+<g id="node140" class="node"><title>57</title>
+<a xlink:href="../modules_zorba_Geo Projection.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/geoproj";>
+<ellipse fill="white" stroke="white" cx="891" cy="-325" rx="37.5442" ry="18"/>
+<text text-anchor="middle" x="891" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">geoproj</text>
+</a>
+</g>
+<!-- 57&#45;&gt;13 -->
+<g id="edge208" class="edge"><title>57-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/geoproj, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M910.556,-309.531C921.313,-302.464 935.239,-294.702 949,-291 974.886,-284.036 1890.73,-296.304 1914,-283 1945.07,-265.241 1963.13,-226.443 1972.28,-200.012"/>
+<polygon fill="black" stroke="black" points="1975.7,-200.81 1975.46,-190.217 1969.05,-198.647 1975.7,-200.81"/>
+</a>
+</g>
+<!-- 77 -->
+<g id="node143" class="node"><title>77</title>
+<a xlink:href="../modules_zorba_image_Animation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/animation";>
+<ellipse fill="white" stroke="white" cx="1578" cy="-447" rx="46.2191" ry="18"/>
+<text text-anchor="middle" x="1578" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">animation</text>
+</a>
+</g>
+<!-- Magick -->
+<g id="node225" class="node"><title>Magick</title>
+<a xlink:href="http://www.imagemagick.org/Magick++/"; xlink:title="Magick++ C++ Library">
+<polygon fill="none" stroke="red" points="6475.25,-91 6420.75,-91 6416.75,-87 6416.75,-55 6471.25,-55 6475.25,-59 6475.25,-91"/>
+<polyline fill="none" stroke="red" points="6471.25,-87 6416.75,-87 "/>
+<polyline fill="none" stroke="red" points="6471.25,-87 6471.25,-55 "/>
+<polyline fill="none" stroke="red" points="6471.25,-87 6475.25,-91 "/>
+<text text-anchor="middle" x="6446" y="-69.3" font-family="Times,serif" font-size="14.00">Magick</text>
+</a>
+</g>
+<!-- 77&#45;&gt;Magick -->
+<g id="edge160" class="edge"><title>77-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/animation, TO: Magick">
+<path fill="none" stroke="red" d="M1598.61,-430.803C1609.21,-423.918 1622.68,-416.538 1636,-413 1695.01,-397.33 5972.9,-420.346 6032,-405 6140.22,-376.898 6182.11,-370.269 6252,-283 6296.31,-227.675 6241.83,-174.496 6297,-130 6316.08,-114.614 6385.27,-133.329 6407,-122 6416.71,-116.937 6424.88,-108.289 6431.18,-99.7158"/>
+<polygon fill="red" stroke="red" points="6434.17,-101.55 6436.86,-91.3033 6428.37,-97.6341 6434.17,-101.55"/>
+</a>
+</g>
+<!-- 74 -->
+<g id="node145" class="node"><title>74</title>
+<a xlink:href="../modules_zorba_image_Basic.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/basic";>
+<ellipse fill="white" stroke="white" cx="1677" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="1677" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">basic</text>
+</a>
+</g>
+<!-- 74&#45;&gt;Magick -->
+<g id="edge154" class="edge"><title>74-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/basic, TO: Magick">
+<path fill="none" stroke="red" d="M1690.67,-431.049C1698.01,-424.133 1707.66,-416.654 1718,-413 1732.97,-407.71 6277.97,-415.354 6290,-405 6383.72,-324.361 6242.62,-215.424 6332,-130 6344.12,-118.419 6392.27,-129.997 6407,-122 6416.63,-116.775 6424.77,-108.093 6431.09,-99.5391"/>
+<polygon fill="red" stroke="red" points="6434.06,-101.398 6436.79,-91.1603 6428.27,-97.4628 6434.06,-101.398"/>
+</a>
+</g>
+<!-- 69 -->
+<g id="node147" class="node"><title>69</title>
+<a xlink:href="../modules_zorba_image_Graphviz.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/graphviz";>
+<ellipse fill="white" stroke="white" cx="1772" cy="-447" rx="41.394" ry="18"/>
+<text text-anchor="middle" x="1772" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">graphviz</text>
+</a>
+</g>
+<!-- Graphviz -->
+<g id="node231" class="node"><title>Graphviz</title>
+<a xlink:href="http://www.graphviz.org/"; xlink:title="Graphviz - Graph Visualization Software">
+<polygon fill="none" stroke="red" points="6560.25,-91 6497.75,-91 6493.75,-87 6493.75,-55 6556.25,-55 6560.25,-59 6560.25,-91"/>
+<polyline fill="none" stroke="red" points="6556.25,-87 6493.75,-87 "/>
+<polyline fill="none" stroke="red" points="6556.25,-87 6556.25,-55 "/>
+<polyline fill="none" stroke="red" points="6556.25,-87 6560.25,-91 "/>
+<text text-anchor="middle" x="6527" y="-69.3" font-family="Times,serif" font-size="14.00">Graphviz</text>
+</a>
+</g>
+<!-- 69&#45;&gt;Graphviz -->
+<g id="edge148" class="edge"><title>69-&gt;Graphviz</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/graphviz, TO: Graphviz">
+<path fill="none" stroke="red" d="M1791.03,-430.815C1800.86,-423.933 1813.42,-416.552 1826,-413 1841.04,-408.753 6316.22,-415.28 6328,-405 6420.95,-323.863 6275.77,-214.156 6366,-130 6385.22,-112.074 6460.38,-133.526 6484,-122 6494.36,-116.943 6503.35,-108.178 6510.39,-99.5105"/>
+<polygon fill="red" stroke="red" points="6513.31,-101.45 6516.53,-91.3542 6507.72,-97.2419 6513.31,-101.45"/>
+</a>
+</g>
+<!-- 75 -->
+<g id="node149" class="node"><title>75</title>
+<a xlink:href="../modules_zorba_image_Manipulation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/manipulation";>
+<ellipse fill="white" stroke="white" cx="1896" cy="-447" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="1896" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">manipulation</text>
+</a>
+</g>
+<!-- 75&#45;&gt;Magick -->
+<g id="edge156" class="edge"><title>75-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/manipulation, TO: Magick">
+<path fill="none" stroke="red" d="M1921.28,-430.776C1934.18,-423.885 1950.4,-416.508 1966,-413 1980.78,-409.677 6315.96,-414.184 6328,-405 6428.83,-328.109 6348.1,-243.815 6404,-130 6409.33,-119.143 6416.87,-108.263 6424.09,-99.0198"/>
+<polygon fill="red" stroke="red" points="6426.98,-101.011 6430.55,-91.0383 6421.54,-96.6039 6426.98,-101.011"/>
+</a>
+</g>
+<!-- 76 -->
+<g id="node151" class="node"><title>76</title>
+<a xlink:href="../modules_zorba_image_Paint.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/paint";>
+<ellipse fill="white" stroke="white" cx="2007" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="2007" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">paint</text>
+</a>
+</g>
+<!-- 76&#45;&gt;Magick -->
+<g id="edge158" class="edge"><title>76-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/paint, TO: Magick">
+<path fill="none" stroke="red" d="M2022.95,-431.697C2031.96,-424.583 2043.84,-416.724 2056,-413 2072.1,-408.069 6894.1,-416.918 6906,-405 6941.8,-369.144 6930.34,-335.437 6906,-291 6842.15,-174.436 6780.66,-170.263 6654,-130 6617.96,-118.543 6517.65,-139.266 6484,-122 6474.35,-117.051 6466.36,-108.425 6460.24,-99.8388"/>
+<polygon fill="red" stroke="red" points="6463.13,-97.8722 6454.74,-91.4029 6457.27,-101.693 6463.13,-97.8722"/>
+</a>
+</g>
+<!-- 4 -->
+<g id="node154" class="node"><title>4</title>
+<a xlink:href="../modules_zorba_input_output_Fetch.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/fetch";>
+<ellipse fill="white" stroke="white" cx="5753" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="5753" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">fetch</text>
+</a>
+</g>
+<!-- 2&#45;&gt;1 -->
+<g id="edge166" class="edge"><title>2-&gt;1</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: http://expath.org/ns/error";>
+<path fill="none" stroke="black" d="M5856.92,-190.055C5864.63,-220.018 5884.99,-277.66 5929,-287 5943.73,-290.125 6456.27,-290.125 6471,-287 6509.03,-278.928 6525.61,-231.446 6532.49,-200.072"/>
+<polygon fill="black" stroke="black" points="6535.95,-200.62 6534.46,-190.13 6529.08,-199.255 6535.95,-200.62"/>
+</a>
+</g>
+<!-- 2&#45;&gt;cURL -->
+<g id="edge126" class="edge"><title>2-&gt;cURL</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: cURL">
+<path fill="none" stroke="red" d="M5872.2,-155.431C5884.92,-146.117 5902.46,-135.124 5920,-130 5942.13,-123.534 6314.47,-132.511 6335,-122 6344.5,-117.137 6352.16,-108.482 6357.93,-99.8475"/>
+<polygon fill="red" stroke="red" points="6361.09,-101.387 6363.26,-91.0168 6355.1,-97.7689 6361.09,-101.387"/>
+</a>
+</g>
+<!-- 87 -->
+<g id="node158" class="node"><title>87</title>
+<a xlink:href="../modules_zorba_input_output_IMAP.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/imap";>
+<ellipse fill="white" stroke="white" cx="5671" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="5671" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">imap</text>
 </a>
 </g>
 <!-- cclient -->
-<g id="node173" class="node"><title>cclient</title>
+<g id="node224" class="node"><title>cclient</title>
 <a xlink:href="http://www.washington.edu/imap/"; xlink:title="c-client library part of UW IMAP toolkit">
-<polygon fill="none" stroke="red" points="3791.82,-91 3741.82,-91 3737.82,-87 3737.82,-55 3787.82,-55 3791.82,-59 3791.82,-91"/>
-<polyline fill="none" stroke="red" points="3787.82,-87 3737.82,-87 "/>
-<polyline fill="none" stroke="red" points="3787.82,-87 3787.82,-55 "/>
-<polyline fill="none" stroke="red" points="3787.82,-87 3791.82,-91 "/>
-<text text-anchor="middle" x="3764.82" y="-69.3" font-family="Times,serif" font-size="14.00">cclient</text>
+<polygon fill="none" stroke="red" points="6106,-91 6056,-91 6052,-87 6052,-55 6102,-55 6106,-59 6106,-91"/>
+<polyline fill="none" stroke="red" points="6102,-87 6052,-87 "/>
+<polyline fill="none" stroke="red" points="6102,-87 6102,-55 "/>
+<polyline fill="none" stroke="red" points="6102,-87 6106,-91 "/>
+<text text-anchor="middle" x="6079" y="-69.3" font-family="Times,serif" font-size="14.00">cclient</text>
 </a>
 </g>
-<!-- 58&#45;&gt;cclient -->
-<g id="edge101" class="edge"><title>58-&gt;cclient</title>
+<!-- 87&#45;&gt;cclient -->
+<g id="edge164" class="edge"><title>87-&gt;cclient</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/email/imap, TO: cclient">
-<path fill="none" stroke="red" d="M2123.23,-302.713C2134,-295.338 2148.47,-286.889 2162.82,-283 2174.32,-279.882 3870.41,-283.446 3878.82,-275 3914.56,-239.09 3912.77,-198.61 3878.82,-161 3867.15,-148.066 3814.98,-163.163 3800.82,-153 3783.83,-140.802 3774.68,-118.616 3769.87,-100.854"/>
-<polygon fill="red" stroke="red" points="3773.24,-99.9229 3767.51,-91.0162 3766.44,-101.557 3773.24,-99.9229"/>
-</a>
-</g>
-<!-- 62 -->
-<g id="node137" class="node"><title>62</title>
-<a xlink:href="../www.zorba-xquery.com_modules_process.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/process";>
-<ellipse fill="white" stroke="white" cx="2015.82" cy="-317" rx="37.0701" ry="18"/>
-<text text-anchor="middle" x="2015.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">process</text>
-</a>
-</g>
-<!-- 57 -->
-<g id="node139" class="node"><title>57</title>
-<a xlink:href="../www.zorba-xquery.com_modules_email_smtp.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/smtp";>
-<ellipse fill="white" stroke="white" cx="1925.82" cy="-317" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="1925.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">smtp</text>
-</a>
-</g>
-<!-- 57&#45;&gt;cclient -->
-<g id="edge99" class="edge"><title>57-&gt;cclient</title>
+<path fill="none" stroke="red" d="M5682.53,-155.274C5689.93,-146.389 5700.32,-135.908 5712,-130 5769.38,-100.968 5960.28,-83.1716 6041.69,-76.7337"/>
+<polygon fill="red" stroke="red" points="6042.28,-80.1991 6051.98,-75.9353 6041.74,-73.2201 6042.28,-80.1991"/>
+</a>
+</g>
+<!-- 55 -->
+<g id="node160" class="node"><title>55</title>
+<a xlink:href="../modules_zorba_input_output_Process.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/process";>
+<ellipse fill="white" stroke="white" cx="5581" cy="-172" rx="37.0701" ry="18"/>
+<text text-anchor="middle" x="5581" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">process</text>
+</a>
+</g>
+<!-- 54 -->
+<g id="node161" class="node"><title>54</title>
+<a xlink:href="../modules_zorba_input_output_Process.html" xlink:title="(External module) module uri=http://zorba.io/modules/process";>
+<ellipse fill="white" stroke="white" cx="5489" cy="-172" rx="37.0701" ry="18"/>
+<text text-anchor="middle" x="5489" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">process</text>
+</a>
+</g>
+<!-- 86 -->
+<g id="node163" class="node"><title>86</title>
+<a xlink:href="../modules_zorba_input_output_SMTP.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/smtp";>
+<ellipse fill="white" stroke="white" cx="5399" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="5399" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">smtp</text>
+</a>
+</g>
+<!-- 86&#45;&gt;cclient -->
+<g id="edge162" class="edge"><title>86-&gt;cclient</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/email/smtp, TO: cclient">
-<path fill="none" stroke="red" d="M1939.49,-301.06C1946.83,-294.147 1956.49,-286.667 1966.82,-283 1979.09,-278.648 3831.64,-284.222 3840.82,-275 3876.57,-239.097 3872.94,-200.183 3840.82,-161 3829.33,-146.979 3815.03,-164.263 3800.82,-153 3784.78,-140.284 3775.63,-118.825 3770.57,-101.48"/>
-<polygon fill="red" stroke="red" points="3773.83,-100.12 3767.92,-91.3257 3767.06,-101.885 3773.83,-100.12"/>
-</a>
-</g>
-<!-- 61 -->
-<g id="node141" class="node"><title>61</title>
-<a xlink:href="../www.zorba-xquery.com_modules_system.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/system";>
-<ellipse fill="white" stroke="white" cx="1836.82" cy="-317" rx="35.6194" ry="18"/>
-<text text-anchor="middle" x="1836.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">system</text>
-</a>
-</g>
-<!-- 43 -->
-<g id="node144" class="node"><title>43</title>
-<a xlink:href="../www.zorba-xquery.com_modules_xqxq.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqxq";>
-<ellipse fill="white" stroke="white" cx="2281.82" cy="-317" rx="28.3955" ry="18"/>
-<text text-anchor="middle" x="2281.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">xqxq</text>
-</a>
-</g>
-<!-- 49 -->
-<g id="node146" class="node"><title>49</title>
-<a xlink:href="../www.zorba-xquery.com_modules_languages_xslt.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/languages/xslt";>
-<ellipse fill="white" stroke="white" cx="2201.82" cy="-317" rx="27" ry="18"/>
-<text text-anchor="middle" x="2201.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">xslt</text>
+<path fill="none" stroke="red" d="M5410.06,-155.414C5417.43,-146.342 5427.96,-135.617 5440,-130 5548.01,-79.6242 5922.1,-74.3392 6041.83,-73.9601"/>
+<polygon fill="red" stroke="red" points="6041.97,-77.4599 6051.96,-73.9381 6041.96,-70.4599 6041.97,-77.4599"/>
+</a>
+</g>
+<!-- 72 -->
+<g id="node165" class="node"><title>72</title>
+<a xlink:href="../modules_zorba_input_output_System.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/system";>
+<ellipse fill="white" stroke="white" cx="5310" cy="-172" rx="35.6194" ry="18"/>
+<text text-anchor="middle" x="5310" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">system</text>
+</a>
+</g>
+<!-- 21 -->
+<g id="node168" class="node"><title>21</title>
+<a xlink:href="../modules_zorba_introspection_Static Context.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/introspection/sctx";>
+<ellipse fill="white" stroke="white" cx="1453" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="1453" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">sctx</text>
+</a>
+</g>
+<!-- 52&#45;&gt;JDK -->
+<g id="edge134" class="edge"><title>52-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/util-jvm, TO: JDK">
+<path fill="none" stroke="red" d="M6018.83,-322.002C6077.66,-318.201 6185.55,-307.955 6214,-283 6267.57,-236 6231.39,-194.36 6262,-130 6266.93,-119.633 6273.55,-108.952 6279.82,-99.7337"/>
+<polygon fill="red" stroke="red" points="6282.79,-101.599 6285.66,-91.4019 6277.05,-97.5794 6282.79,-101.599"/>
+</a>
+</g>
+<!-- 63 -->
+<g id="node173" class="node"><title>63</title>
+<a xlink:href="../modules_zorba_oauth_Client.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/client";>
+<ellipse fill="white" stroke="white" cx="594" cy="-447" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="594" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">client</text>
+</a>
+</g>
+<!-- 63&#45;&gt;50 -->
+<g id="edge214" class="edge"><title>63-&gt;50</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://expath.org/ns/http-client";>
+<path fill="none" stroke="black" d="M623.855,-443.505C704.456,-436.907 933.26,-419.088 1124,-413 1260.26,-408.651 5896.07,-415.477 6032,-405 6203.9,-391.751 6405.32,-354.437 6497,-336.238"/>
+<polygon fill="black" stroke="black" points="6497.72,-339.663 6506.84,-334.274 6496.35,-332.799 6497.72,-339.663"/>
+</a>
+</g>
+<!-- 63&#45;&gt;61 -->
+<g id="edge212" class="edge"><title>63-&gt;61</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/cryptography/hmac";>
+<path fill="none" stroke="black" d="M623.772,-443.656C653.775,-439.906 699.959,-430.182 731,-405 747.625,-391.513 758.776,-369.815 765.547,-352.569"/>
+<polygon fill="black" stroke="black" points="768.89,-353.618 769.037,-343.024 762.316,-351.214 768.89,-353.618"/>
+</a>
+</g>
+<!-- 63&#45;&gt;19 -->
+<g id="edge216" class="edge"><title>63-&gt;19</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/converters/base64";>
+<path fill="none" stroke="black" d="M623.857,-443.565C704.462,-437.115 933.278,-419.632 1124,-413 1139.13,-412.474 2200.87,-412.532 2214,-405 2233.62,-393.745 2245.93,-370.733 2253,-352.435"/>
+<polygon fill="black" stroke="black" points="2256.35,-353.453 2256.4,-342.859 2249.75,-351.109 2256.35,-353.453"/>
+</a>
+</g>
+<!-- 64 -->
+<g id="node175" class="node"><title>64</title>
+<a xlink:href="../modules_zorba_oauth_Errors.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/error";>
+<ellipse fill="white" stroke="white" cx="594" cy="-325" rx="27.4223" ry="18"/>
+<text text-anchor="middle" x="594" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">error</text>
+</a>
+</g>
+<!-- 63&#45;&gt;64 -->
+<g id="edge218" class="edge"><title>63-&gt;64</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/oauth/error";>
+<path fill="none" stroke="black" d="M594,-428.807C594,-409.114 594,-376.583 594,-353.39"/>
+<polygon fill="black" stroke="black" points="597.5,-353.161 594,-343.161 590.5,-353.161 597.5,-353.161"/>
+</a>
+</g>
+<!-- 11 -->
+<g id="node199" class="node"><title>11</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_Random.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/random";>
+<ellipse fill="white" stroke="white" cx="1674" cy="-172" rx="38.0212" ry="18"/>
+<text text-anchor="middle" x="1674" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">random</text>
+</a>
+</g>
+<!-- 63&#45;&gt;11 -->
+<g id="edge210" class="edge"><title>63-&gt;11</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/random";>
+<path fill="none" stroke="black" d="M624.324,-444.643C678.955,-441.541 790.687,-431.986 817,-405 852.81,-368.275 796.173,-324.52 835,-291 851.591,-276.677 1605.63,-294.959 1624,-283 1652.12,-264.691 1664.62,-226.315 1670.04,-200.098"/>
+<polygon fill="black" stroke="black" points="1673.53,-200.508 1671.9,-190.038 1666.64,-199.235 1673.53,-200.508"/>
+</a>
+</g>
+<!-- 45 -->
+<g id="node178" class="node"><title>45</title>
+<a xlink:href="../modules_zorba_programming_languages_XQXQ.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqxq";>
+<ellipse fill="white" stroke="white" cx="1345" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="1345" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">xqxq</text>
+</a>
+</g>
+<!-- 51 -->
+<g id="node180" class="node"><title>51</title>
+<a xlink:href="../modules_zorba_programming_languages_XSLT.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/languages/xslt";>
+<ellipse fill="white" stroke="white" cx="1265" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="1265" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">xslt</text>
 </a>
 </g>
 <!-- libxslt -->
-<g id="node181" class="node"><title>libxslt</title>
+<g id="node232" class="node"><title>libxslt</title>
 <a xlink:href="http://xmlsoft.org/XSLT/"; xlink:title="libxslt Library">
-<polygon fill="none" stroke="red" points="3863.82,-91 3813.82,-91 3809.82,-87 3809.82,-55 3859.82,-55 3863.82,-59 3863.82,-91"/>
-<polyline fill="none" stroke="red" points="3859.82,-87 3809.82,-87 "/>
-<polyline fill="none" stroke="red" points="3859.82,-87 3859.82,-55 "/>
-<polyline fill="none" stroke="red" points="3859.82,-87 3863.82,-91 "/>
-<text text-anchor="middle" x="3836.82" y="-69.3" font-family="Times,serif" font-size="14.00">libxslt</text>
+<polygon fill="none" stroke="red" points="6794,-91 6744,-91 6740,-87 6740,-55 6790,-55 6794,-59 6794,-91"/>
+<polyline fill="none" stroke="red" points="6790,-87 6740,-87 "/>
+<polyline fill="none" stroke="red" points="6790,-87 6790,-55 "/>
+<polyline fill="none" stroke="red" points="6790,-87 6794,-91 "/>
+<text text-anchor="middle" x="6767" y="-69.3" font-family="Times,serif" font-size="14.00">libxslt</text>
 </a>
 </g>
-<!-- 49&#45;&gt;libxslt -->
-<g id="edge85" class="edge"><title>49-&gt;libxslt</title>
+<!-- 51&#45;&gt;libxslt -->
+<g id="edge132" class="edge"><title>51-&gt;libxslt</title>
 <a xlink:title="FROM: http://www.zorba-xquery.com/modules/languages/xslt, TO: libxslt">
-<path fill="none" stroke="red" d="M2214.69,-301.075C2221.64,-294.166 2230.84,-286.685 2240.82,-283 2262.66,-274.941 3900.4,-291.499 3916.82,-275 3952.56,-239.088 3949.29,-199.899 3916.82,-161 3904.09,-145.74 3888.5,-165.21 3872.82,-153 3856.42,-140.229 3847.24,-118.286 3842.26,-100.763"/>
-<polygon fill="red" stroke="red" points="3845.65,-99.8877 3839.8,-91.0586 3838.87,-101.613 3845.65,-99.8877"/>
+<path fill="none" stroke="red" d="M1277.87,-431.061C1284.81,-424.148 1294.01,-416.668 1304,-413 1322.26,-406.296 6892.26,-418.764 6906,-405 6941.8,-369.148 6920.24,-339.625 6906,-291 6893.87,-249.568 6821.03,-147.282 6785.91,-99.4383"/>
+<polygon fill="red" stroke="red" points="6788.57,-97.1399 6779.82,-91.1654 6782.93,-101.292 6788.57,-97.1399"/>
+</a>
+</g>
+<!-- 34 -->
+<g id="node185" class="node"><title>34</title>
+<a xlink:href="../modules_zorba_xqdoc_Batch.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc/batch";>
+<ellipse fill="white" stroke="white" cx="1166" cy="-447" rx="29.3479" ry="18"/>
+<text text-anchor="middle" x="1166" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">batch</text>
+</a>
+</g>
+<!-- 34&#45;&gt;44 -->
+<g id="edge182" class="edge"><title>34-&gt;44</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.functx.com/";>
+<path fill="none" stroke="black" d="M1184.42,-432.689C1195.8,-425.305 1211.03,-416.855 1226,-413 1302.39,-393.32 6829.17,-422.892 6906,-405 6953.47,-393.946 7003.09,-366.869 7034.48,-347.5"/>
+<polygon fill="black" stroke="black" points="7036.61,-350.293 7043.22,-342.012 7032.89,-344.364 7036.61,-350.293"/>
+</a>
+</g>
+<!-- 34&#45;&gt;40 -->
+<g id="edge184" class="edge"><title>34-&gt;40</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://expath.org/ns/file";>
+<path fill="none" stroke="black" d="M1184.42,-432.689C1195.8,-425.305 1211.03,-416.856 1226,-413 1244.63,-408.199 6751.66,-415.17 6768,-405 6786.21,-393.662 6796.17,-371.035 6801.46,-352.892"/>
+<polygon fill="black" stroke="black" points="6804.87,-353.67 6804,-343.111 6798.1,-351.911 6804.87,-353.67"/>
 </a>
 </g>
 <!-- 35 -->
-<g id="node148" class="node"><title>35</title>
-<a xlink:href="../www.zorba-xquery.com_modules_debugger_dbgp-message-handler.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler";>
-<ellipse fill="white" stroke="white" cx="2863.82" cy="-317" rx="90.4879" ry="18"/>
-<text text-anchor="middle" x="2863.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">dbgp-message-handler</text>
-</a>
-</g>
-<!-- 35&#45;&gt;18 -->
-<g id="edge153" class="edge"><title>35-&gt;18</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler, TO: http://www.zorba-xquery.com/modules/converters/base64";>
-<path fill="none" stroke="black" d="M2875.89,-299.074C2880.97,-291.769 2886.84,-283.065 2891.82,-275 2902.62,-257.528 2913.88,-237.278 2922.3,-221.655"/>
-<polygon fill="black" stroke="black" points="2925.52,-223.06 2927.15,-212.592 2919.34,-219.758 2925.52,-223.06"/>
-</a>
-</g>
-<!-- 41 -->
-<g id="node150" class="node"><title>41</title>
-<a xlink:href="../jsoniq.org_errors.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/errors";>
-<ellipse fill="white" stroke="white" cx="4970.82" cy="-470" rx="31.2965" ry="18"/>
-<text text-anchor="middle" x="4970.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
-</a>
-</g>
-<!-- 46 -->
-<g id="node151" class="node"><title>46</title>
-<a xlink:href="../www.w3.org_2005_xqt-errors.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xqt-errors";>
-<ellipse fill="white" stroke="white" cx="4875.82" cy="-470" rx="45.244" ry="18"/>
-<text text-anchor="middle" x="4875.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">xqt-errors</text>
+<g id="node187" class="node"><title>35</title>
+<a xlink:href="../modules_zorba_xqdoc_HTML.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc/html";>
+<ellipse fill="white" stroke="white" cx="988" cy="-325" rx="26.949" ry="18"/>
+<text text-anchor="middle" x="988" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">html</text>
+</a>
+</g>
+<!-- 34&#45;&gt;35 -->
+<g id="edge190" class="edge"><title>34-&gt;35</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.zorba-xquery.com/modules/xqdoc/html";>
+<path fill="none" stroke="black" d="M1136.72,-444.153C1106.15,-440.807 1058.38,-431.405 1027,-405 1011.11,-391.625 1001.1,-370.207 995.207,-353.044"/>
+<polygon fill="black" stroke="black" points="998.393,-351.507 992.054,-343.018 991.715,-353.607 998.393,-351.507"/>
 </a>
 </g>
 <!-- 36 -->
-<g id="node152" class="node"><title>36</title>
-<a xlink:href="../www.zorba-xquery.com_errors.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/errors";>
-<ellipse fill="white" stroke="white" cx="4780.82" cy="-470" rx="31.2965" ry="18"/>
-<text text-anchor="middle" x="4780.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
-</a>
-</g>
-<!-- 37 -->
-<g id="node153" class="node"><title>37</title>
-<a xlink:href="../www.zorba-xquery.com_warnings.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/warnings";>
-<ellipse fill="white" stroke="white" cx="4688.82" cy="-470" rx="42.3456" ry="18"/>
-<text text-anchor="middle" x="4688.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="red">warnings</text>
-</a>
-</g>
-<!-- 83 -->
-<g id="node155" class="node"><title>83</title>
-<a xlink:href="../www.zorba-xquery.com_modules_info-extraction.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/info-extraction";>
-<ellipse fill="white" stroke="white" cx="3821.82" cy="-317" rx="63.0666" ry="18"/>
-<text text-anchor="middle" x="3821.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">info-extraction</text>
-</a>
-</g>
-<!-- 83&#45;&gt;2 -->
-<g id="edge207" class="edge"><title>83-&gt;2</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/info-extraction, TO: http://www.zorba-xquery.com/modules/http-client";>
-<path fill="none" stroke="black" d="M3849.44,-300.812C3863.24,-294.02 3880.45,-286.719 3896.82,-283 3923.71,-276.893 4120.28,-287.554 4144.82,-275 4166.89,-263.712 4183.35,-240.369 4193.57,-221.969"/>
-<polygon fill="black" stroke="black" points="4196.79,-223.368 4198.34,-212.888 4190.59,-220.111 4196.79,-223.368"/>
-</a>
-</g>
-<!-- 40 -->
-<g id="node157" class="node"><title>40</title>
-<a xlink:href="../jsoniq.org_function-library.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/function-library";>
-<ellipse fill="white" stroke="white" cx="140.822" cy="-317" rx="65.9423" ry="18"/>
-<text text-anchor="middle" x="140.822" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">function-library</text>
+<g id="node189" class="node"><title>36</title>
+<a xlink:href="../modules_zorba_xqdoc_Menu.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc/menu";>
+<ellipse fill="white" stroke="white" cx="1070" cy="-325" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="1070" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">menu</text>
+</a>
+</g>
+<!-- 34&#45;&gt;36 -->
+<g id="edge188" class="edge"><title>34-&gt;36</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.zorba-xquery.com/modules/xqdoc/menu";>
+<path fill="none" stroke="black" d="M1146.23,-433.653C1135.49,-426.266 1122.5,-416.16 1113,-405 1099.5,-389.149 1088.4,-368.38 1080.86,-352.116"/>
+<polygon fill="black" stroke="black" points="1083.91,-350.36 1076.64,-342.655 1077.52,-353.214 1083.91,-350.36"/>
+</a>
+</g>
+<!-- 17 -->
+<g id="node191" class="node"><title>17</title>
+<a xlink:href="../modules_zorba_xqdoc_XQDoc Core.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc";>
+<ellipse fill="white" stroke="white" cx="1166" cy="-325" rx="32.2457" ry="18"/>
+<text text-anchor="middle" x="1166" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">xqdoc</text>
+</a>
+</g>
+<!-- 34&#45;&gt;17 -->
+<g id="edge186" class="edge"><title>34-&gt;17</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.zorba-xquery.com/modules/xqdoc";>
+<path fill="none" stroke="black" d="M1166,-428.807C1166,-409.114 1166,-376.583 1166,-353.39"/>
+<polygon fill="black" stroke="black" points="1169.5,-353.161 1166,-343.161 1162.5,-353.161 1169.5,-353.161"/>
+</a>
+</g>
+<!-- 17&#45;&gt;4 -->
+<g id="edge170" class="edge"><title>17-&gt;4</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc, TO: http://www.zorba-xquery.com/modules/fetch";>
+<path fill="none" stroke="black" d="M1197.91,-322.082C1300.22,-316.035 1629.32,-297.397 1902,-291 1915.23,-290.69 5701.14,-290.558 5712,-283 5738.61,-264.478 5747.98,-226.499 5751.26,-200.396"/>
+<polygon fill="black" stroke="black" points="5754.75,-200.673 5752.3,-190.366 5747.79,-199.952 5754.75,-200.673"/>
+</a>
+</g>
+<!-- 17&#45;&gt;13 -->
+<g id="edge172" class="edge"><title>17-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M1198.35,-323.996C1333.91,-323.74 1852.12,-320.312 1914,-283 1944.64,-264.524 1962.82,-225.909 1972.11,-199.713"/>
+<polygon fill="black" stroke="black" points="1975.5,-200.608 1975.35,-190.014 1968.86,-198.392 1975.5,-200.608"/>
+</a>
+</g>
+<!-- 3 -->
+<g id="node195" class="node"><title>3</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_Datetime.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/datetime";>
+<ellipse fill="white" stroke="white" cx="1860" cy="-172" rx="41.394" ry="18"/>
+<text text-anchor="middle" x="1860" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">datetime</text>
+</a>
+</g>
+<!-- 5 -->
+<g id="node197" class="node"><title>5</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_Math.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/math";>
+<ellipse fill="white" stroke="white" cx="1765" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="1765" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
+</a>
+</g>
+<!-- 14 -->
+<g id="node201" class="node"><title>14</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_String.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/string";>
+<ellipse fill="white" stroke="white" cx="1581" cy="-172" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="1581" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">string</text>
+</a>
+</g>
+<!-- 15 -->
+<g id="node203" class="node"><title>15</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_URI.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/uri";>
+<ellipse fill="white" stroke="white" cx="1499" cy="-172" rx="27" ry="18"/>
+<text text-anchor="middle" x="1499" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">uri</text>
+</a>
+</g>
+<!-- 10 -->
+<g id="node206" class="node"><title>10</title>
+<a xlink:href="../modules_zorba_xquery_data_model_item_Item.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/item";>
+<ellipse fill="white" stroke="white" cx="2069" cy="-172" rx="27" ry="18"/>
+<text text-anchor="middle" x="2069" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">item</text>
+</a>
+</g>
+<!-- 9 -->
+<g id="node211" class="node"><title>9</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Node.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node";>
+<ellipse fill="white" stroke="white" cx="1404" cy="-172" rx="27.4223" ry="18"/>
+<text text-anchor="middle" x="1404" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">node</text>
+</a>
+</g>
+<!-- 8 -->
+<g id="node213" class="node"><title>8</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Node Position.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-position";>
+<ellipse fill="white" stroke="white" cx="1293" cy="-172" rx="59.2173" ry="18"/>
+<text text-anchor="middle" x="1293" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">node-position</text>
+</a>
+</g>
+<!-- 6 -->
+<g id="node215" class="node"><title>6</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Node Reference.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-reference";>
+<ellipse fill="white" stroke="white" cx="1146" cy="-172" rx="63.5411" ry="18"/>
+<text text-anchor="middle" x="1146" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">node-reference</text>
+</a>
+</g>
+<!-- 7 -->
+<g id="node217" class="node"><title>7</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Reference.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/reference";>
+<ellipse fill="white" stroke="white" cx="1014" cy="-172" rx="43.319" ry="18"/>
+<text text-anchor="middle" x="1014" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">reference</text>
+</a>
+</g>
+<!-- 38 -->
+<g id="node219" class="node"><title>38</title>
+<a xlink:href="../modules_zorba_Zorba Error Codes.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/errors";>
+<ellipse fill="white" stroke="white" cx="479" cy="-447" rx="31.2965" ry="18"/>
+<text text-anchor="middle" x="479" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
 </a>
 </g>
 <!-- 39 -->
-<g id="node158" class="node"><title>39</title>
-<a xlink:href="../jsoniq.org_functions.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/functions";>
-<ellipse fill="white" stroke="white" cx="151.822" cy="-195" rx="43.319" ry="18"/>
-<text text-anchor="middle" x="151.822" y="-191.3" font-family="Times,serif" font-size="14.00" fill="red">functions</text>
-</a>
-</g>
-<!-- 40&#45;&gt;39 -->
-<g id="edge157" class="edge"><title>40-&gt;39</title>
-<a xlink:title="FROM: http://jsoniq.org/function-library, TO: http://jsoniq.org/functions";>
-<path fill="none" stroke="black" d="M142.398,-298.807C144.203,-279.114 147.185,-246.583 149.311,-223.39"/>
-<polygon fill="black" stroke="black" points="152.821,-223.439 150.248,-213.161 145.85,-222.8 152.821,-223.439"/>
-</a>
-</g>
-<!-- 39&#45;&gt;12 -->
-<g id="edge155" class="edge"><title>39-&gt;12</title>
-<a xlink:title="FROM: http://jsoniq.org/functions, TO: http://www.zorba-xquery.com/modules/schema";>
-<path fill="none" stroke="black" d="M174.71,-179.48C187.22,-172.399 203.293,-164.638 218.822,-161 239.207,-156.224 3215.49,-163.122 3233.82,-153 3254.06,-141.825 3267.25,-118.637 3274.98,-100.259"/>
-<polygon fill="black" stroke="black" points="3278.25,-101.502 3278.62,-90.9138 3271.73,-98.9586 3278.25,-101.502"/>
-</a>
-</g>
-<!-- 86 -->
-<g id="node161" class="node"><title>86</title>
-<a xlink:href="../www.zorba-xquery.com_modules_jdbc.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/jdbc";>
-<ellipse fill="white" stroke="white" cx="5076.82" cy="-470" rx="27" ry="18"/>
-<text text-anchor="middle" x="5076.82" y="-466.3" font-family="Times,serif" font-size="14.00" fill="green">jdbc</text>
-</a>
-</g>
-<!-- 59 -->
-<g id="node164" class="node"><title>59</title>
-<a xlink:href="../www.zorba-xquery.com_modules_util-jvm.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/util-jvm";>
-<ellipse fill="white" stroke="white" cx="3249.82" cy="-195" rx="39.4691" ry="18"/>
-<text text-anchor="middle" x="3249.82" y="-191.3" font-family="Times,serif" font-size="14.00" fill="green">util-jvm</text>
-</a>
-</g>
-<!-- 59&#45;&gt;JDK -->
-<g id="edge103" class="edge"><title>59-&gt;JDK</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/util-jvm, TO: JDK">
-<path fill="none" stroke="red" d="M3270.78,-179.565C3281.87,-172.692 3296.03,-165.096 3309.82,-161 3332.68,-154.211 3397.26,-166.638 3416.82,-153 3433.98,-141.037 3443.11,-118.831 3447.88,-101.002"/>
-<polygon fill="red" stroke="red" points="3451.32,-101.657 3450.21,-91.1206 3444.51,-100.05 3451.32,-101.657"/>
-</a>
-</g>
-<!-- 56 -->
-<g id="node167" class="node"><title>56</title>
-<a xlink:href="../www.zorba-xquery.com_modules_couchbase.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/couchbase";>
-<ellipse fill="white" stroke="white" cx="3381.82" cy="-317" rx="47.169" ry="18"/>
-<text text-anchor="middle" x="3381.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">couchbase</text>
-</a>
-</g>
-<!-- 17 -->
-<g id="node168" class="node"><title>17</title>
-<a xlink:href="../www.zorba-xquery.com_modules_full-text.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/full-text";>
-<ellipse fill="white" stroke="white" cx="3277.82" cy="-317" rx="38.4949" ry="18"/>
-<text text-anchor="middle" x="3277.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="red">full-text</text>
-</a>
-</g>
-<!-- 63 -->
-<g id="node169" class="node"><title>63</title>
-<a xlink:href="../www.zorba-xquery.com_modules_oracle-nosqldb.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oracle-nosqldb";>
-<ellipse fill="white" stroke="white" cx="3079.82" cy="-317" rx="63.0666" ry="18"/>
-<text text-anchor="middle" x="3079.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">oracle-nosqldb</text>
-</a>
-</g>
-<!-- 63&#45;&gt;18 -->
-<g id="edge161" class="edge"><title>63-&gt;18</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oracle-nosqldb, TO: http://www.zorba-xquery.com/modules/converters/base64";>
-<path fill="none" stroke="black" d="M3044.21,-302.043C3016.56,-291.101 2982.46,-277.343 2979.82,-275 2963.82,-260.801 2952.39,-239.336 2945.19,-222.363"/>
-<polygon fill="black" stroke="black" points="2948.41,-220.966 2941.45,-212.978 2941.9,-223.562 2948.41,-220.966"/>
-</a>
-</g>
-<!-- 50 -->
-<g id="node170" class="node"><title>50</title>
-<a xlink:href="../www.zorba-xquery.com_modules_sqlite.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/sqlite";>
-<ellipse fill="white" stroke="white" cx="3190.82" cy="-317" rx="29.3479" ry="18"/>
-<text text-anchor="middle" x="3190.82" y="-313.3" font-family="Times,serif" font-size="14.00" fill="green">sqlite</text>
-</a>
-</g>
-<!-- SQLite -->
-<g id="node172" class="node"><title>SQLite</title>
-<a xlink:href="http://www.sqlite.org/"; xlink:title="SQLite">
-<polygon fill="none" stroke="red" points="4027.32,-91 3976.32,-91 3972.32,-87 3972.32,-55 4023.32,-55 4027.32,-59 4027.32,-91"/>
-<polyline fill="none" stroke="red" points="4023.32,-87 3972.32,-87 "/>
-<polyline fill="none" stroke="red" points="4023.32,-87 4023.32,-55 "/>
-<polyline fill="none" stroke="red" points="4023.32,-87 4027.32,-91 "/>
-<text text-anchor="middle" x="3999.82" y="-69.3" font-family="Times,serif" font-size="14.00">SQLite</text>
-</a>
-</g>
-<!-- 50&#45;&gt;SQLite -->
-<g id="edge87" class="edge"><title>50-&gt;SQLite</title>
-<a xlink:title="FROM: http://www.zorba-xquery.com/modules/sqlite, TO: SQLite">
-<path fill="none" stroke="red" d="M3204.05,-300.753C3210.96,-293.948 3220.01,-286.651 3229.82,-283 3249.69,-275.605 3977.65,-289.804 3992.82,-275 4039.32,-229.619 4021.92,-144.011 4008.95,-100.634"/>
-<polygon fill="red" stroke="red" points="4012.28,-99.5552 4005.95,-91.0587 4005.6,-101.648 4012.28,-99.5552"/>
+<g id="node221" class="node"><title>39</title>
+<a xlink:href="../modules_zorba_Zorba Warning Codes.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/warnings";>
+<ellipse fill="white" stroke="white" cx="343" cy="-447" rx="42.3456" ry="18"/>
+<text text-anchor="middle" x="343" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">warnings</text>
 </a>
 </g>
 </g>

=== added file 'doc/zorba/xqdoc/images/modules_new.svg'
--- doc/zorba/xqdoc/images/modules_new.svg	1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/images/modules_new.svg	2013-06-15 18:04:29 +0000
@@ -0,0 +1,2082 @@
+<!-- Generated by graphviz version 2.28.0 (20130109.1152)
+ --><!-- Title: G Pages: 1 --><svg xmlns="http://www.w3.org/2000/svg"; xmlns:xlink="http://www.w3.org/1999/xlink"; width="7194pt" height="605pt" viewBox="0.00 0.00 7194.14 605.00">
+<g id="graph1" class="graph" transform="scale(1 1) rotate(0) translate(4 601)">
+<title>G</title>
+<a xlink:title="Zorba modules dependency graph">
+<polygon fill="white" stroke="white" points="-4,5 -4,-601 7191.14,-601 7191.14,5 -4,5"/>
+<text text-anchor="middle" x="3593.07" y="-7.8" font-family="Times,serif" font-size="14.00">Zorba modules dependency graph</text>
+</a>
+<g id="graph2" class="cluster"><title>cluster1</title>
+<a xlink:title="JSONiq">
+<polygon fill="lime" stroke="black" points="8,-291 8,-527 258,-527 258,-291 8,-291"/>
+<text text-anchor="middle" x="133" y="-511.8" font-family="Times,serif" font-size="14.00">JSONiq</text>
+</a>
+</g>
+<g id="graph3" class="cluster"><title>clusterJSONiqErrors</title>
+<a xlink:title="JSONiq/Errors">
+<polygon fill="lime" stroke="black" points="172,-421 172,-496 250,-496 250,-421 172,-421"/>
+<text text-anchor="middle" x="211" y="-480.8" font-family="Times,serif" font-size="14.00">Errors</text>
+</a>
+</g>
+<g id="graph4" class="cluster"><title>clusterJSONiqFunctionLibrary</title>
+<a xlink:title="JSONiq/Function Library">
+<polygon fill="lime" stroke="black" points="16,-421 16,-496 164,-496 164,-421 16,-421"/>
+<text text-anchor="middle" x="90" y="-480.8" font-family="Times,serif" font-size="14.00">Function Library</text>
+</a>
+</g>
+<g id="graph5" class="cluster"><title>clusterJSONiqFunctions</title>
+<a xlink:title="JSONiq/Functions">
+<polygon fill="lime" stroke="black" points="92,-299 92,-374 196,-374 196,-299 92,-299"/>
+<text text-anchor="middle" x="144" y="-358.8" font-family="Times,serif" font-size="14.00">Functions</text>
+</a>
+</g>
+<g id="graph6" class="cluster"><title>cluster2</title>
+<a xlink:title="W3C">
+<polygon fill="red" stroke="black" points="6649,-413 6649,-527 7094,-527 7094,-413 6649,-413"/>
+<text text-anchor="middle" x="6871.5" y="-511.8" font-family="Times,serif" font-size="14.00">W3C</text>
+</a>
+</g>
+<g id="graph7" class="cluster"><title>clusterW3CXPathErrorsCodes</title>
+<a xlink:title="W3C/XPath Errors Codes">
+<polygon fill="red" stroke="black" points="6961,-421 6961,-496 7086,-496 7086,-421 6961,-421"/>
+<text text-anchor="middle" x="7023.5" y="-480.8" font-family="Times,serif" font-size="14.00">XPath Errors Codes</text>
+</a>
+</g>
+<g id="graph8" class="cluster"><title>clusterW3CXPathFunctions</title>
+<a xlink:title="W3C/XPath Functions">
+<polygon fill="red" stroke="black" points="6805,-421 6805,-496 6953,-496 6953,-421 6805,-421"/>
+<text text-anchor="middle" x="6879" y="-480.8" font-family="Times,serif" font-size="14.00">XPath Functions</text>
+</a>
+</g>
+<g id="graph9" class="cluster"><title>clusterW3CXPathMathFunctions</title>
+<a xlink:title="W3C/XPath Math Functions">
+<polygon fill="red" stroke="black" points="6657,-421 6657,-496 6797,-496 6797,-421 6657,-421"/>
+<text text-anchor="middle" x="6727" y="-480.8" font-family="Times,serif" font-size="14.00">XPath Math Functions</text>
+</a>
+</g>
+<g id="graph10" class="cluster"><title>cluster3</title>
+<a xlink:title="FunctX">
+<polygon fill="tan" stroke="black" points="6986,-299 6986,-374 7148,-374 7148,-299 6986,-299"/>
+<text text-anchor="middle" x="7067" y="-358.8" font-family="Times,serif" font-size="14.00">FunctX</text>
+</a>
+</g>
+<g id="graph11" class="cluster"><title>cluster4</title>
+<a xlink:title="EXPath">
+<polygon fill="OrangeRed" stroke="black" points="6484,-138 6484,-405 6910,-405 6910,-138 6484,-138"/>
+<text text-anchor="middle" x="6697" y="-389.8" font-family="Times,serif" font-size="14.00">EXPath</text>
+</a>
+</g>
+<g id="graph12" class="cluster"><title>clusterEXPathEXPathErrorCodes</title>
+<a xlink:title="EXPath/EXPath Error Codes">
+<polygon fill="OrangeRed" stroke="black" points="6492,-146 6492,-221 6620,-221 6620,-146 6492,-146"/>
+<text text-anchor="middle" x="6556" y="-205.8" font-family="Times,serif" font-size="14.00">EXPath Error Codes</text>
+</a>
+</g>
+<g id="graph13" class="cluster"><title>clusterEXPathEXPathFileModule</title>
+<a xlink:title="EXPath/EXPath File Module">
+<polygon fill="OrangeRed" stroke="black" points="6772,-299 6772,-374 6902,-374 6902,-299 6772,-299"/>
+<text text-anchor="middle" x="6837" y="-358.8" font-family="Times,serif" font-size="14.00">EXPath File Module</text>
+</a>
+</g>
+<g id="graph14" class="cluster"><title>clusterEXPathEXPathGeoModule</title>
+<a xlink:title="EXPath/EXPath Geo Module">
+<polygon fill="OrangeRed" stroke="black" points="6633,-299 6633,-374 6764,-374 6764,-299 6633,-299"/>
+<text text-anchor="middle" x="6698.5" y="-358.8" font-family="Times,serif" font-size="14.00">EXPath Geo Module</text>
+</a>
+</g>
+<g id="graph15" class="cluster"><title>clusterEXPathEXPathHTTPClient</title>
+<a xlink:title="EXPath/EXPath HTTP Client">
+<polygon fill="OrangeRed" stroke="black" points="6492,-299 6492,-374 6625,-374 6625,-299 6492,-299"/>
+<text text-anchor="middle" x="6558.5" y="-358.8" font-family="Times,serif" font-size="14.00">EXPath HTTP Client</text>
+</a>
+</g>
+<g id="graph16" class="cluster"><title>cluster5</title>
+<a xlink:title="DB Drivers">
+<polygon fill="LimeGreen" stroke="black" points="6150,-413 6150,-527 6588,-527 6588,-413 6150,-413"/>
+<text text-anchor="middle" x="6369" y="-511.8" font-family="Times,serif" font-size="14.00">DB Drivers</text>
+</a>
+</g>
+<g id="graph17" class="cluster"><title>clusterDBDriversCouchbase</title>
+<a xlink:title="DB Drivers/Couchbase">
+<polygon fill="LimeGreen" stroke="black" points="6470,-421 6470,-496 6580,-496 6580,-421 6470,-421"/>
+<text text-anchor="middle" x="6525" y="-480.8" font-family="Times,serif" font-size="14.00">Couchbase</text>
+</a>
+</g>
+<g id="graph18" class="cluster"><title>clusterDBDriversJDBC</title>
+<a xlink:title="DB Drivers/JDBC">
+<polygon fill="LimeGreen" stroke="black" points="6392,-421 6392,-496 6462,-496 6462,-421 6392,-421"/>
+<text text-anchor="middle" x="6427" y="-480.8" font-family="Times,serif" font-size="14.00">JDBC</text>
+</a>
+</g>
+<g id="graph19" class="cluster"><title>clusterDBDriversORACLENoSQL</title>
+<a xlink:title="DB Drivers/ORACLE NoSQL">
+<polygon fill="LimeGreen" stroke="black" points="6158,-421 6158,-496 6300,-496 6300,-421 6158,-421"/>
+<text text-anchor="middle" x="6229" y="-480.8" font-family="Times,serif" font-size="14.00">ORACLE NoSQL</text>
+</a>
+</g>
+<g id="graph20" class="cluster"><title>clusterDBDriversSQLite</title>
+<a xlink:title="DB Drivers/SQLite">
+<polygon fill="LimeGreen" stroke="black" points="6308,-421 6308,-496 6384,-496 6384,-421 6308,-421"/>
+<text text-anchor="middle" x="6346" y="-480.8" font-family="Times,serif" font-size="14.00">SQLite</text>
+</a>
+</g>
+<g id="graph21" class="cluster"><title>cluster6</title>
+<a xlink:title="Zorba">
+<polygon fill="lightsteelblue" stroke="black" points="266,-31 266,-589 6036,-589 6036,-31 266,-31"/>
+<text text-anchor="middle" x="3151" y="-573.8" font-family="Times,serif" font-size="14.00">Zorba</text>
+</a>
+</g>
+<g id="graph22" class="cluster"><title>clusterZorbaArchive</title>
+<a xlink:title="Zorba/Archive">
+<polygon fill="lightsteelblue" stroke="black" points="5940,-421 5940,-496 6028,-496 6028,-421 5940,-421"/>
+<text text-anchor="middle" x="5984" y="-480.8" font-family="Times,serif" font-size="14.00">Archive</text>
+</a>
+</g>
+<g id="graph23" class="cluster"><title>clusterZorbaCryptography</title>
+<a xlink:title="Zorba/Cryptography">
+<polygon fill="lightsteelblue" stroke="black" points="649,-291 649,-405 821,-405 821,-291 649,-291"/>
+<text text-anchor="middle" x="735" y="-389.8" font-family="Times,serif" font-size="14.00">Cryptography</text>
+</a>
+</g>
+<g id="graph24" class="cluster"><title>clusterZorbaCryptographyHMAC</title>
+<a xlink:title="Zorba/Cryptography/HMAC">
+<polygon fill="lightsteelblue" stroke="black" points="735,-299 735,-374 813,-374 813,-299 735,-299"/>
+<text text-anchor="middle" x="774" y="-358.8" font-family="Times,serif" font-size="14.00">HMAC</text>
+</a>
+</g>
+<g id="graph25" class="cluster"><title>clusterZorbaCryptographyhash</title>
+<a xlink:title="Zorba/Cryptography/hash">
+<polygon fill="lightsteelblue" stroke="black" points="657,-299 657,-374 727,-374 727,-299 657,-299"/>
+<text text-anchor="middle" x="692" y="-358.8" font-family="Times,serif" font-size="14.00">hash</text>
+</a>
+</g>
+<g id="graph26" class="cluster"><title>clusterZorbaDataCleaning</title>
+<a xlink:title="Zorba/Data Cleaning">
+<polygon fill="lightsteelblue" stroke="black" points="4598,-39 4598,-405 5250,-405 5250,-39 4598,-39"/>
+<text text-anchor="middle" x="4924" y="-389.8" font-family="Times,serif" font-size="14.00">Data Cleaning</text>
+</a>
+</g>
+<g id="graph27" class="cluster"><title>clusterZorbaDataCleaningCharacterBasedStringSimilarity</title>
+<a xlink:title="Zorba/Data Cleaning/Character-Based String Similarity">
+<polygon fill="lightsteelblue" stroke="black" points="4879,-47 4879,-122 5147,-122 5147,-47 4879,-47"/>
+<text text-anchor="middle" x="5013" y="-106.8" font-family="Times,serif" font-size="14.00">Character-Based String Similarity</text>
+</a>
+</g>
+<g id="graph28" class="cluster"><title>clusterZorbaDataCleaningConsolidation</title>
+<a xlink:title="Zorba/Data Cleaning/Consolidation">
+<polygon fill="lightsteelblue" stroke="black" points="4870,-146 4870,-221 5002,-221 5002,-146 4870,-146"/>
+<text text-anchor="middle" x="4936" y="-205.8" font-family="Times,serif" font-size="14.00">Consolidation</text>
+</a>
+</g>
+<g id="graph29" class="cluster"><title>clusterZorbaDataCleaningConversion</title>
+<a xlink:title="Zorba/Data Cleaning/Conversion">
+<polygon fill="lightsteelblue" stroke="black" points="5128,-299 5128,-374 5242,-374 5242,-299 5128,-299"/>
+<text text-anchor="middle" x="5185" y="-358.8" font-family="Times,serif" font-size="14.00">Conversion</text>
+</a>
+</g>
+<g id="graph30" class="cluster"><title>clusterZorbaDataCleaningHybridStringSimilarity</title>
+<a xlink:title="Zorba/Data Cleaning/Hybrid String Similarity">
+<polygon fill="lightsteelblue" stroke="black" points="4622,-299 4622,-374 4826,-374 4826,-299 4622,-299"/>
+<text text-anchor="middle" x="4724" y="-358.8" font-family="Times,serif" font-size="14.00">Hybrid String Similarity</text>
+</a>
+</g>
+<g id="graph31" class="cluster"><title>clusterZorbaDataCleaningInfoExtraction</title>
+<a xlink:title="Zorba/Data Cleaning/Info Extraction">
+<polygon fill="lightsteelblue" stroke="black" points="4978,-299 4978,-374 5120,-374 5120,-299 4978,-299"/>
+<text text-anchor="middle" x="5049" y="-358.8" font-family="Times,serif" font-size="14.00">Info Extraction</text>
+</a>
+</g>
+<g id="graph32" class="cluster"><title>clusterZorbaDataCleaningNormalization</title>
+<a xlink:title="Zorba/Data Cleaning/Normalization">
+<polygon fill="lightsteelblue" stroke="black" points="4834,-299 4834,-374 4970,-374 4970,-299 4834,-299"/>
+<text text-anchor="middle" x="4902" y="-358.8" font-family="Times,serif" font-size="14.00">Normalization</text>
+</a>
+</g>
+<g id="graph33" class="cluster"><title>clusterZorbaDataCleaningPhonecticStringSimilarity</title>
+<a xlink:title="Zorba/Data Cleaning/Phonectic String Similarity">
+<polygon fill="lightsteelblue" stroke="black" points="5024,-146 5024,-221 5242,-221 5242,-146 5024,-146"/>
+<text text-anchor="middle" x="5133" y="-205.8" font-family="Times,serif" font-size="14.00">Phonectic String Similarity</text>
+</a>
+</g>
+<g id="graph34" class="cluster"><title>clusterZorbaDataCleaningSetSimilarity</title>
+<a xlink:title="Zorba/Data Cleaning/Set Similarity">
+<polygon fill="lightsteelblue" stroke="black" points="4739,-47 4739,-122 4871,-122 4871,-47 4739,-47"/>
+<text text-anchor="middle" x="4805" y="-106.8" font-family="Times,serif" font-size="14.00">Set Similarity</text>
+</a>
+</g>
+<g id="graph35" class="cluster"><title>clusterZorbaDataCleaningTokenBasedStringSimilarity</title>
+<a xlink:title="Zorba/Data Cleaning/Token Based String Similarity">
+<polygon fill="lightsteelblue" stroke="black" points="4606,-146 4606,-221 4848,-221 4848,-146 4606,-146"/>
+<text text-anchor="middle" x="4727" y="-205.8" font-family="Times,serif" font-size="14.00">Token Based String Similarity</text>
+</a>
+</g>
+<g id="graph36" class="cluster"><title>clusterZorbaDataConverters</title>
+<a xlink:title="Zorba/Data Converters">
+<polygon fill="lightsteelblue" stroke="black" points="1898,-291 1898,-405 2312,-405 2312,-291 1898,-291"/>
+<text text-anchor="middle" x="2105" y="-389.8" font-family="Times,serif" font-size="14.00">Data Converters</text>
+</a>
+</g>
+<g id="graph37" class="cluster"><title>clusterZorbaDataConvertersBase64</title>
+<a xlink:title="Zorba/Data Converters/Base 64">
+<polygon fill="lightsteelblue" stroke="black" points="2218,-299 2218,-374 2304,-374 2304,-299 2218,-299"/>
+<text text-anchor="middle" x="2261" y="-358.8" font-family="Times,serif" font-size="14.00">Base 64</text>
+</a>
+</g>
+<g id="graph38" class="cluster"><title>clusterZorbaDataConvertersCSV</title>
+<a xlink:title="Zorba/Data Converters/CSV">
+<polygon fill="lightsteelblue" stroke="black" points="2062,-299 2062,-374 2132,-374 2132,-299 2062,-299"/>
+<text text-anchor="middle" x="2097" y="-358.8" font-family="Times,serif" font-size="14.00">CSV</text>
+</a>
+</g>
+<g id="graph39" class="cluster"><title>clusterZorbaDataConvertersHTML</title>
+<a xlink:title="Zorba/Data Converters/HTML">
+<polygon fill="lightsteelblue" stroke="black" points="2140,-299 2140,-374 2210,-374 2210,-299 2140,-299"/>
+<text text-anchor="middle" x="2175" y="-358.8" font-family="Times,serif" font-size="14.00">HTML</text>
+</a>
+</g>
+<g id="graph40" class="cluster"><title>clusterZorbaDataConvertersJSON</title>
+<a xlink:title="Zorba/Data Converters/JSON">
+<polygon fill="lightsteelblue" stroke="black" points="1906,-299 1906,-374 1976,-374 1976,-299 1906,-299"/>
+<text text-anchor="middle" x="1941" y="-358.8" font-family="Times,serif" font-size="14.00">JSON</text>
+</a>
+</g>
+<g id="graph41" class="cluster"><title>clusterZorbaDataConvertersXML</title>
+<a xlink:title="Zorba/Data Converters/XML">
+<polygon fill="lightsteelblue" stroke="black" points="1984,-299 1984,-374 2054,-374 2054,-299 1984,-299"/>
+<text text-anchor="middle" x="2019" y="-358.8" font-family="Times,serif" font-size="14.00">XML</text>
+</a>
+</g>
+<g id="graph42" class="cluster"><title>clusterZorbaDataFormatting</title>
+<a xlink:title="Zorba/Data Formatting">
+<polygon fill="lightsteelblue" stroke="black" points="5825,-413 5825,-527 5932,-527 5932,-413 5825,-413"/>
+<text text-anchor="middle" x="5878.5" y="-511.8" font-family="Times,serif" font-size="14.00">Data Formatting</text>
+</a>
+</g>
+<g id="graph43" class="cluster"><title>clusterZorbaDataFormattingXSLFO</title>
+<a xlink:title="Zorba/Data Formatting/XSL-FO">
+<polygon fill="lightsteelblue" stroke="black" points="5846,-421 5846,-496 5924,-496 5924,-421 5846,-421"/>
+<text text-anchor="middle" x="5885" y="-480.8" font-family="Times,serif" font-size="14.00">XSL-FO</text>
+</a>
+</g>
+<g id="graph44" class="cluster"><title>clusterZorbaDataProcessing</title>
+<a xlink:title="Zorba/Data Processing">
+<polygon fill="lightsteelblue" stroke="black" points="5672,-291 5672,-405 5924,-405 5924,-291 5672,-291"/>
+<text text-anchor="middle" x="5798" y="-389.8" font-family="Times,serif" font-size="14.00">Data Processing</text>
+</a>
+</g>
+<g id="graph45" class="cluster"><title>clusterZorbaDataProcessingPDFReader</title>
+<a xlink:title="Zorba/Data Processing/PDF Reader">
+<polygon fill="lightsteelblue" stroke="black" points="5680,-299 5680,-374 5776,-374 5776,-299 5680,-299"/>
+<text text-anchor="middle" x="5728" y="-358.8" font-family="Times,serif" font-size="14.00">PDF Reader</text>
+</a>
+</g>
+<g id="graph46" class="cluster"><title>clusterZorbaDataProcessingSchemaTools</title>
+<a xlink:title="Zorba/Data Processing/Schema Tools">
+<polygon fill="lightsteelblue" stroke="black" points="5784,-299 5784,-374 5916,-374 5916,-299 5784,-299"/>
+<text text-anchor="middle" x="5850" y="-358.8" font-family="Times,serif" font-size="14.00">Schema Tools</text>
+</a>
+</g>
+<g id="graph47" class="cluster"><title>clusterZorbaDataStore</title>
+<a xlink:title="Zorba/Data Store">
+<polygon fill="lightsteelblue" stroke="black" points="2994,-130 2994,-558 4590,-558 4590,-130 2994,-130"/>
+<text text-anchor="middle" x="3792" y="-542.8" font-family="Times,serif" font-size="14.00">Data Store</text>
+</a>
+</g>
+<g id="graph48" class="cluster"><title>clusterZorbaDataStoreCollections</title>
+<a xlink:title="Zorba/Data Store/Collections">
+<polygon fill="lightsteelblue" stroke="black" points="4108,-138 4108,-527 4582,-527 4582,-138 4108,-138"/>
+<text text-anchor="middle" x="4345" y="-511.8" font-family="Times,serif" font-size="14.00">Collections</text>
+</a>
+</g>
+<g id="graph49" class="cluster"><title>clusterZorbaDataStoreCollectionsDynamicDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Collections/Dynamic Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="4116,-146 4116,-221 4271,-221 4271,-146 4116,-146"/>
+<text text-anchor="middle" x="4193.5" y="-205.8" font-family="Times,serif" font-size="14.00">Dynamic Data Definition</text>
+</a>
+</g>
+<g id="graph50" class="cluster"><title>clusterZorbaDataStoreCollectionsDynamicDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Collections/Dynamic Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="4116,-299 4116,-374 4289,-374 4289,-299 4116,-299"/>
+<text text-anchor="middle" x="4202.5" y="-358.8" font-family="Times,serif" font-size="14.00">Dynamic Data Manipulation</text>
+</a>
+</g>
+<g id="graph51" class="cluster"><title>clusterZorbaDataStoreCollectionsStaticDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Collections/Static Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="4438,-421 4438,-496 4574,-496 4574,-421 4438,-421"/>
+<text text-anchor="middle" x="4506" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Definition</text>
+</a>
+</g>
+<g id="graph52" class="cluster"><title>clusterZorbaDataStoreCollectionsStaticDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Collections/Static Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="4276,-421 4276,-496 4430,-496 4430,-421 4276,-421"/>
+<text text-anchor="middle" x="4353" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Manipulation</text>
+</a>
+</g>
+<g id="graph53" class="cluster"><title>clusterZorbaDataStoreCollectionsW3CDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Collections/W3C Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="4297,-299 4297,-374 4431,-374 4431,-299 4297,-299"/>
+<text text-anchor="middle" x="4364" y="-358.8" font-family="Times,serif" font-size="14.00">W3C Data Definition</text>
+</a>
+</g>
+<g id="graph54" class="cluster"><title>clusterZorbaDataStoreCollectionsW3CDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Collections/W3C Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="4116,-421 4116,-496 4268,-496 4268,-421 4116,-421"/>
+<text text-anchor="middle" x="4192" y="-480.8" font-family="Times,serif" font-size="14.00">W3C Data Manipulation</text>
+</a>
+</g>
+<g id="graph55" class="cluster"><title>clusterZorbaDataStoreDataStructures</title>
+<a xlink:title="Zorba/Data Store/Data Structures">
+<polygon fill="lightsteelblue" stroke="black" points="3768,-413 3768,-527 4100,-527 4100,-413 3768,-413"/>
+<text text-anchor="middle" x="3934" y="-511.8" font-family="Times,serif" font-size="14.00">Data Structures</text>
+</a>
+</g>
+<g id="graph56" class="cluster"><title>clusterZorbaDataStoreDataStructuresQueue</title>
+<a xlink:title="Zorba/Data Store/Data Structures/Queue">
+<polygon fill="lightsteelblue" stroke="black" points="3930,-421 3930,-496 4010,-496 4010,-421 3930,-421"/>
+<text text-anchor="middle" x="3970" y="-480.8" font-family="Times,serif" font-size="14.00">Queue</text>
+</a>
+</g>
+<g id="graph57" class="cluster"><title>clusterZorbaDataStoreDataStructuresStack</title>
+<a xlink:title="Zorba/Data Store/Data Structures/Stack">
+<polygon fill="lightsteelblue" stroke="black" points="4018,-421 4018,-496 4092,-496 4092,-421 4018,-421"/>
+<text text-anchor="middle" x="4055" y="-480.8" font-family="Times,serif" font-size="14.00">Stack</text>
+</a>
+</g>
+<g id="graph58" class="cluster"><title>clusterZorbaDataStoreDataStructuresUnorderedMap</title>
+<a xlink:title="Zorba/Data Store/Data Structures/Unordered Map">
+<polygon fill="lightsteelblue" stroke="black" points="3776,-421 3776,-496 3922,-496 3922,-421 3776,-421"/>
+<text text-anchor="middle" x="3849" y="-480.8" font-family="Times,serif" font-size="14.00">Unordered Map</text>
+</a>
+</g>
+<g id="graph59" class="cluster"><title>clusterZorbaDataStoreDocuments</title>
+<a xlink:title="Zorba/Data Store/Documents">
+<polygon fill="lightsteelblue" stroke="black" points="3646,-421 3646,-496 3760,-496 3760,-421 3646,-421"/>
+<text text-anchor="middle" x="3703" y="-480.8" font-family="Times,serif" font-size="14.00">Documents</text>
+</a>
+</g>
+<g id="graph60" class="cluster"><title>clusterZorbaDataStoreIndexes</title>
+<a xlink:title="Zorba/Data Store/Indexes">
+<polygon fill="lightsteelblue" stroke="black" points="3324,-413 3324,-527 3638,-527 3638,-413 3324,-413"/>
+<text text-anchor="middle" x="3481" y="-511.8" font-family="Times,serif" font-size="14.00">Indexes</text>
+</a>
+</g>
+<g id="graph61" class="cluster"><title>clusterZorbaDataStoreIndexesStaticDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Indexes/Static Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="3494,-421 3494,-496 3630,-496 3630,-421 3494,-421"/>
+<text text-anchor="middle" x="3562" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Definition</text>
+</a>
+</g>
+<g id="graph62" class="cluster"><title>clusterZorbaDataStoreIndexesStaticDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Indexes/Static Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="3332,-421 3332,-496 3486,-496 3486,-421 3332,-421"/>
+<text text-anchor="middle" x="3409" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Manipulation</text>
+</a>
+</g>
+<g id="graph63" class="cluster"><title>clusterZorbaDataStoreIntegrityConstraints</title>
+<a xlink:title="Zorba/Data Store/Integrity Constraints">
+<polygon fill="lightsteelblue" stroke="black" points="3002,-413 3002,-527 3316,-527 3316,-413 3002,-413"/>
+<text text-anchor="middle" x="3159" y="-511.8" font-family="Times,serif" font-size="14.00">Integrity Constraints</text>
+</a>
+</g>
+<g id="graph64" class="cluster"><title>clusterZorbaDataStoreIntegrityConstraintsStaticDataDefinition</title>
+<a xlink:title="Zorba/Data Store/Integrity Constraints/Static Data Definition">
+<polygon fill="lightsteelblue" stroke="black" points="3172,-421 3172,-496 3308,-496 3308,-421 3172,-421"/>
+<text text-anchor="middle" x="3240" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Definition</text>
+</a>
+</g>
+<g id="graph65" class="cluster"><title>clusterZorbaDataStoreIntegrityConstraintsStaticDataManipulation</title>
+<a xlink:title="Zorba/Data Store/Integrity Constraints/Static Data Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="3010,-421 3010,-496 3164,-496 3164,-421 3010,-421"/>
+<text text-anchor="middle" x="3087" y="-480.8" font-family="Times,serif" font-size="14.00">Static Data Manipulation</text>
+</a>
+</g>
+<g id="graph66" class="cluster"><title>clusterZorbaDebugger</title>
+<a xlink:title="Zorba/Debugger">
+<polygon fill="lightsteelblue" stroke="black" points="2162,-421 2162,-496 2360,-496 2360,-421 2162,-421"/>
+<text text-anchor="middle" x="2261" y="-480.8" font-family="Times,serif" font-size="14.00">Debugger</text>
+</a>
+</g>
+<g id="graph67" class="cluster"><title>clusterZorbaExcel</title>
+<a xlink:title="Zorba/Excel">
+<polygon fill="lightsteelblue" stroke="black" points="2368,-138 2368,-527 2986,-527 2986,-138 2368,-138"/>
+<text text-anchor="middle" x="2677" y="-511.8" font-family="Times,serif" font-size="14.00">Excel</text>
+</a>
+</g>
+<g id="graph68" class="cluster"><title>clusterZorbaExcelDatetime</title>
+<a xlink:title="Zorba/Excel/Datetime">
+<polygon fill="lightsteelblue" stroke="black" points="2878,-421 2878,-496 2978,-496 2978,-421 2878,-421"/>
+<text text-anchor="middle" x="2928" y="-480.8" font-family="Times,serif" font-size="14.00">Datetime</text>
+</a>
+</g>
+<g id="graph69" class="cluster"><title>clusterZorbaExcelEngineering</title>
+<a xlink:title="Zorba/Excel/Engineering">
+<polygon fill="lightsteelblue" stroke="black" points="2750,-421 2750,-496 2870,-496 2870,-421 2750,-421"/>
+<text text-anchor="middle" x="2810" y="-480.8" font-family="Times,serif" font-size="14.00">Engineering</text>
+</a>
+</g>
+<g id="graph70" class="cluster"><title>clusterZorbaExcelInformation</title>
+<a xlink:title="Zorba/Excel/Information">
+<polygon fill="lightsteelblue" stroke="black" points="2764,-299 2764,-374 2886,-374 2886,-299 2764,-299"/>
+<text text-anchor="middle" x="2825" y="-358.8" font-family="Times,serif" font-size="14.00">Information</text>
+</a>
+</g>
+<g id="graph71" class="cluster"><title>clusterZorbaExcelLogical</title>
+<a xlink:title="Zorba/Excel/Logical">
+<polygon fill="lightsteelblue" stroke="black" points="2595,-421 2595,-496 2679,-496 2679,-421 2595,-421"/>
+<text text-anchor="middle" x="2637" y="-480.8" font-family="Times,serif" font-size="14.00">Logical</text>
+</a>
+</g>
+<g id="graph72" class="cluster"><title>clusterZorbaExcelLookup</title>
+<a xlink:title="Zorba/Excel/Lookup">
+<polygon fill="lightsteelblue" stroke="black" points="2670,-299 2670,-374 2756,-374 2756,-299 2670,-299"/>
+<text text-anchor="middle" x="2713" y="-358.8" font-family="Times,serif" font-size="14.00">Lookup</text>
+</a>
+</g>
+<g id="graph73" class="cluster"><title>clusterZorbaExcelMath</title>
+<a xlink:title="Zorba/Excel/Math">
+<polygon fill="lightsteelblue" stroke="black" points="2676,-146 2676,-221 2750,-221 2750,-146 2676,-146"/>
+<text text-anchor="middle" x="2713" y="-205.8" font-family="Times,serif" font-size="14.00">Math</text>
+</a>
+</g>
+<g id="graph74" class="cluster"><title>clusterZorbaExcelMathSumproduct</title>
+<a xlink:title="Zorba/Excel/Math Sumproduct">
+<polygon fill="lightsteelblue" stroke="black" points="2500,-299 2500,-374 2662,-374 2662,-299 2500,-299"/>
+<text text-anchor="middle" x="2581" y="-358.8" font-family="Times,serif" font-size="14.00">Math Sumproduct</text>
+</a>
+</g>
+<g id="graph75" class="cluster"><title>clusterZorbaExcelStatistical</title>
+<a xlink:title="Zorba/Excel/Statistical">
+<polygon fill="lightsteelblue" stroke="black" points="2388,-299 2388,-374 2492,-374 2492,-299 2388,-299"/>
+<text text-anchor="middle" x="2440" y="-358.8" font-family="Times,serif" font-size="14.00">Statistical</text>
+</a>
+</g>
+<g id="graph76" class="cluster"><title>clusterZorbaExcelStatisticalZorba</title>
+<a xlink:title="Zorba/Excel/Statistical Zorba">
+<polygon fill="lightsteelblue" stroke="black" points="2376,-421 2376,-496 2524,-496 2524,-421 2376,-421"/>
+<text text-anchor="middle" x="2450" y="-480.8" font-family="Times,serif" font-size="14.00">Statistical Zorba</text>
+</a>
+</g>
+<g id="graph77" class="cluster"><title>clusterZorbaExcelText</title>
+<a xlink:title="Zorba/Excel/Text">
+<polygon fill="lightsteelblue" stroke="black" points="2908,-299 2908,-374 2978,-374 2978,-299 2908,-299"/>
+<text text-anchor="middle" x="2943" y="-358.8" font-family="Times,serif" font-size="14.00">Text</text>
+</a>
+</g>
+<g id="graph78" class="cluster"><title>clusterZorbaFullText</title>
+<a xlink:title="Zorba/Full-Text">
+<polygon fill="lightsteelblue" stroke="black" points="2060,-421 2060,-496 2154,-496 2154,-421 2060,-421"/>
+<text text-anchor="middle" x="2107" y="-480.8" font-family="Times,serif" font-size="14.00">Full-Text</text>
+</a>
+</g>
+<g id="graph79" class="cluster"><title>clusterZorbaGeoProjection</title>
+<a xlink:title="Zorba/Geo Projection">
+<polygon fill="lightsteelblue" stroke="black" points="839,-299 839,-374 937,-374 937,-299 839,-299"/>
+<text text-anchor="middle" x="888" y="-358.8" font-family="Times,serif" font-size="14.00">Geo Projection</text>
+</a>
+</g>
+<g id="graph80" class="cluster"><title>clusterZorbaImage</title>
+<a xlink:title="Zorba/Image">
+<polygon fill="lightsteelblue" stroke="black" points="1516,-413 1516,-527 2052,-527 2052,-413 1516,-413"/>
+<text text-anchor="middle" x="1784" y="-511.8" font-family="Times,serif" font-size="14.00">Image</text>
+</a>
+</g>
+<g id="graph81" class="cluster"><title>clusterZorbaImageAnimation</title>
+<a xlink:title="Zorba/Image/Animation">
+<polygon fill="lightsteelblue" stroke="black" points="1524,-421 1524,-496 1632,-496 1632,-421 1524,-421"/>
+<text text-anchor="middle" x="1578" y="-480.8" font-family="Times,serif" font-size="14.00">Animation</text>
+</a>
+</g>
+<g id="graph82" class="cluster"><title>clusterZorbaImageBasic</title>
+<a xlink:title="Zorba/Image/Basic">
+<polygon fill="lightsteelblue" stroke="black" points="1640,-421 1640,-496 1714,-496 1714,-421 1640,-421"/>
+<text text-anchor="middle" x="1677" y="-480.8" font-family="Times,serif" font-size="14.00">Basic</text>
+</a>
+</g>
+<g id="graph83" class="cluster"><title>clusterZorbaImageGraphviz</title>
+<a xlink:title="Zorba/Image/Graphviz">
+<polygon fill="lightsteelblue" stroke="black" points="1722,-421 1722,-496 1822,-496 1822,-421 1722,-421"/>
+<text text-anchor="middle" x="1772" y="-480.8" font-family="Times,serif" font-size="14.00">Graphviz</text>
+</a>
+</g>
+<g id="graph84" class="cluster"><title>clusterZorbaImageManipulation</title>
+<a xlink:title="Zorba/Image/Manipulation">
+<polygon fill="lightsteelblue" stroke="black" points="1830,-421 1830,-496 1962,-496 1962,-421 1830,-421"/>
+<text text-anchor="middle" x="1896" y="-480.8" font-family="Times,serif" font-size="14.00">Manipulation</text>
+</a>
+</g>
+<g id="graph85" class="cluster"><title>clusterZorbaImagePaint</title>
+<a xlink:title="Zorba/Image/Paint">
+<polygon fill="lightsteelblue" stroke="black" points="1970,-421 1970,-496 2044,-496 2044,-421 1970,-421"/>
+<text text-anchor="middle" x="2007" y="-480.8" font-family="Times,serif" font-size="14.00">Paint</text>
+</a>
+</g>
+<g id="graph86" class="cluster"><title>clusterZorbaInputOutput</title>
+<a xlink:title="Zorba/Input Output">
+<polygon fill="lightsteelblue" stroke="black" points="5258,-138 5258,-252 5916,-252 5916,-138 5258,-138"/>
+<text text-anchor="middle" x="5587" y="-236.8" font-family="Times,serif" font-size="14.00">Input Output</text>
+</a>
+</g>
+<g id="graph87" class="cluster"><title>clusterZorbaInputOutputFetch</title>
+<a xlink:title="Zorba/Input Output/Fetch">
+<polygon fill="lightsteelblue" stroke="black" points="5716,-146 5716,-221 5790,-221 5790,-146 5716,-146"/>
+<text text-anchor="middle" x="5753" y="-205.8" font-family="Times,serif" font-size="14.00">Fetch</text>
+</a>
+</g>
+<g id="graph88" class="cluster"><title>clusterZorbaInputOutputHTTPClient</title>
+<a xlink:title="Zorba/Input Output/HTTP Client">
+<polygon fill="lightsteelblue" stroke="black" points="5798,-146 5798,-221 5908,-221 5908,-146 5798,-146"/>
+<text text-anchor="middle" x="5853" y="-205.8" font-family="Times,serif" font-size="14.00">HTTP Client</text>
+</a>
+</g>
+<g id="graph89" class="cluster"><title>clusterZorbaInputOutputIMAP</title>
+<a xlink:title="Zorba/Input Output/IMAP">
+<polygon fill="lightsteelblue" stroke="black" points="5634,-146 5634,-221 5708,-221 5708,-146 5634,-146"/>
+<text text-anchor="middle" x="5671" y="-205.8" font-family="Times,serif" font-size="14.00">IMAP</text>
+</a>
+</g>
+<g id="graph90" class="cluster"><title>clusterZorbaInputOutputProcess</title>
+<a xlink:title="Zorba/Input Output/Process">
+<polygon fill="lightsteelblue" stroke="black" points="5444,-146 5444,-221 5626,-221 5626,-146 5444,-146"/>
+<text text-anchor="middle" x="5535" y="-205.8" font-family="Times,serif" font-size="14.00">Process</text>
+</a>
+</g>
+<g id="graph91" class="cluster"><title>clusterZorbaInputOutputSMTP</title>
+<a xlink:title="Zorba/Input Output/SMTP">
+<polygon fill="lightsteelblue" stroke="black" points="5362,-146 5362,-221 5436,-221 5436,-146 5362,-146"/>
+<text text-anchor="middle" x="5399" y="-205.8" font-family="Times,serif" font-size="14.00">SMTP</text>
+</a>
+</g>
+<g id="graph92" class="cluster"><title>clusterZorbaInputOutputSystem</title>
+<a xlink:title="Zorba/Input Output/System">
+<polygon fill="lightsteelblue" stroke="black" points="5266,-146 5266,-221 5354,-221 5354,-146 5266,-146"/>
+<text text-anchor="middle" x="5310" y="-205.8" font-family="Times,serif" font-size="14.00">System</text>
+</a>
+</g>
+<g id="graph93" class="cluster"><title>clusterZorbaIntrospection</title>
+<a xlink:title="Zorba/Introspection">
+<polygon fill="lightsteelblue" stroke="black" points="1398,-413 1398,-527 1508,-527 1508,-413 1398,-413"/>
+<text text-anchor="middle" x="1453" y="-511.8" font-family="Times,serif" font-size="14.00">Introspection</text>
+</a>
+</g>
+<g id="graph94" class="cluster"><title>clusterZorbaIntrospectionStaticContext</title>
+<a xlink:title="Zorba/Introspection/Static Context">
+<polygon fill="lightsteelblue" stroke="black" points="1406,-421 1406,-496 1500,-496 1500,-421 1406,-421"/>
+<text text-anchor="middle" x="1453" y="-480.8" font-family="Times,serif" font-size="14.00">Static Context</text>
+</a>
+</g>
+<g id="graph95" class="cluster"><title>clusterZorbaJVMUtility</title>
+<a xlink:title="Zorba/JVM Utility">
+<polygon fill="lightsteelblue" stroke="black" points="5932,-299 5932,-374 6028,-374 6028,-299 5932,-299"/>
+<text text-anchor="middle" x="5980" y="-358.8" font-family="Times,serif" font-size="14.00">JVM Utility</text>
+</a>
+</g>
+<g id="graph96" class="cluster"><title>clusterZorbaOAuth</title>
+<a xlink:title="Zorba/OAuth">
+<polygon fill="lightsteelblue" stroke="black" points="547,-291 547,-527 641,-527 641,-291 547,-291"/>
+<text text-anchor="middle" x="594" y="-511.8" font-family="Times,serif" font-size="14.00">OAuth</text>
+</a>
+</g>
+<g id="graph97" class="cluster"><title>clusterZorbaOAuthClient</title>
+<a xlink:title="Zorba/OAuth/Client">
+<polygon fill="lightsteelblue" stroke="black" points="555,-421 555,-496 633,-496 633,-421 555,-421"/>
+<text text-anchor="middle" x="594" y="-480.8" font-family="Times,serif" font-size="14.00">Client</text>
+</a>
+</g>
+<g id="graph98" class="cluster"><title>clusterZorbaOAuthErrors</title>
+<a xlink:title="Zorba/OAuth/Errors">
+<polygon fill="lightsteelblue" stroke="black" points="558,-299 558,-374 630,-374 630,-299 558,-299"/>
+<text text-anchor="middle" x="594" y="-358.8" font-family="Times,serif" font-size="14.00">Errors</text>
+</a>
+</g>
+<g id="graph99" class="cluster"><title>clusterZorbaProgrammingLanguages</title>
+<a xlink:title="Zorba/Programming Languages">
+<polygon fill="lightsteelblue" stroke="black" points="1222,-413 1222,-527 1390,-527 1390,-413 1222,-413"/>
+<text text-anchor="middle" x="1306" y="-511.8" font-family="Times,serif" font-size="14.00">Programming Languages</text>
+</a>
+</g>
+<g id="graph100" class="cluster"><title>clusterZorbaProgrammingLanguagesXQXQ</title>
+<a xlink:title="Zorba/Programming Languages/XQXQ">
+<polygon fill="lightsteelblue" stroke="black" points="1308,-421 1308,-496 1382,-496 1382,-421 1308,-421"/>
+<text text-anchor="middle" x="1345" y="-480.8" font-family="Times,serif" font-size="14.00">XQXQ</text>
+</a>
+</g>
+<g id="graph101" class="cluster"><title>clusterZorbaProgrammingLanguagesXSLT</title>
+<a xlink:title="Zorba/Programming Languages/XSLT">
+<polygon fill="lightsteelblue" stroke="black" points="1230,-421 1230,-496 1300,-496 1300,-421 1230,-421"/>
+<text text-anchor="middle" x="1265" y="-480.8" font-family="Times,serif" font-size="14.00">XSLT</text>
+</a>
+</g>
+<g id="graph102" class="cluster"><title>clusterZorbaReflection</title>
+<a xlink:title="Zorba/Reflection">
+<polygon fill="lightsteelblue" stroke="black" points="5924,-146 5924,-221 6028,-221 6028,-146 5924,-146"/>
+<text text-anchor="middle" x="5976" y="-205.8" font-family="Times,serif" font-size="14.00">Reflection</text>
+</a>
+</g>
+<g id="graph103" class="cluster"><title>clusterZorbaXQDoc</title>
+<a xlink:title="Zorba/XQDoc">
+<polygon fill="lightsteelblue" stroke="black" points="945,-291 945,-527 1214,-527 1214,-291 945,-291"/>
+<text text-anchor="middle" x="1079.5" y="-511.8" font-family="Times,serif" font-size="14.00">XQDoc</text>
+</a>
+</g>
+<g id="graph104" class="cluster"><title>clusterZorbaXQDocBatch</title>
+<a xlink:title="Zorba/XQDoc/Batch">
+<polygon fill="lightsteelblue" stroke="black" points="1128,-421 1128,-496 1204,-496 1204,-421 1128,-421"/>
+<text text-anchor="middle" x="1166" y="-480.8" font-family="Times,serif" font-size="14.00">Batch</text>
+</a>
+</g>
+<g id="graph105" class="cluster"><title>clusterZorbaXQDocHTML</title>
+<a xlink:title="Zorba/XQDoc/HTML">
+<polygon fill="lightsteelblue" stroke="black" points="953,-299 953,-374 1023,-374 1023,-299 953,-299"/>
+<text text-anchor="middle" x="988" y="-358.8" font-family="Times,serif" font-size="14.00">HTML</text>
+</a>
+</g>
+<g id="graph106" class="cluster"><title>clusterZorbaXQDocMenu</title>
+<a xlink:title="Zorba/XQDoc/Menu">
+<polygon fill="lightsteelblue" stroke="black" points="1031,-299 1031,-374 1109,-374 1109,-299 1031,-299"/>
+<text text-anchor="middle" x="1070" y="-358.8" font-family="Times,serif" font-size="14.00">Menu</text>
+</a>
+</g>
+<g id="graph107" class="cluster"><title>clusterZorbaXQDocXQDocCore</title>
+<a xlink:title="Zorba/XQDoc/XQDoc Core">
+<polygon fill="lightsteelblue" stroke="black" points="1117,-299 1117,-374 1206,-374 1206,-299 1117,-299"/>
+<text text-anchor="middle" x="1161.5" y="-358.8" font-family="Times,serif" font-size="14.00">XQDoc Core</text>
+</a>
+</g>
+<g id="graph108" class="cluster"><title>clusterZorbaXQueryDataModel</title>
+<a xlink:title="Zorba/XQuery Data Model">
+<polygon fill="lightsteelblue" stroke="black" points="946,-130 946,-283 2120,-283 2120,-130 946,-130"/>
+<text text-anchor="middle" x="1533" y="-267.8" font-family="Times,serif" font-size="14.00">XQuery Data Model</text>
+</a>
+</g>
+<g id="graph109" class="cluster"><title>clusterZorbaXQueryDataModelAtomic</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic">
+<polygon fill="lightsteelblue" stroke="black" points="1456,-138 1456,-252 1918,-252 1918,-138 1456,-138"/>
+<text text-anchor="middle" x="1687" y="-236.8" font-family="Times,serif" font-size="14.00">Atomic</text>
+</a>
+</g>
+<g id="graph110" class="cluster"><title>clusterZorbaXQueryDataModelAtomicDatetime</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/Datetime">
+<polygon fill="lightsteelblue" stroke="black" points="1810,-146 1810,-221 1910,-221 1910,-146 1810,-146"/>
+<text text-anchor="middle" x="1860" y="-205.8" font-family="Times,serif" font-size="14.00">Datetime</text>
+</a>
+</g>
+<g id="graph111" class="cluster"><title>clusterZorbaXQueryDataModelAtomicMath</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/Math">
+<polygon fill="lightsteelblue" stroke="black" points="1728,-146 1728,-221 1802,-221 1802,-146 1728,-146"/>
+<text text-anchor="middle" x="1765" y="-205.8" font-family="Times,serif" font-size="14.00">Math</text>
+</a>
+</g>
+<g id="graph112" class="cluster"><title>clusterZorbaXQueryDataModelAtomicRandom</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/Random">
+<polygon fill="lightsteelblue" stroke="black" points="1628,-146 1628,-221 1720,-221 1720,-146 1628,-146"/>
+<text text-anchor="middle" x="1674" y="-205.8" font-family="Times,serif" font-size="14.00">Random</text>
+</a>
+</g>
+<g id="graph113" class="cluster"><title>clusterZorbaXQueryDataModelAtomicString</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/String">
+<polygon fill="lightsteelblue" stroke="black" points="1542,-146 1542,-221 1620,-221 1620,-146 1542,-146"/>
+<text text-anchor="middle" x="1581" y="-205.8" font-family="Times,serif" font-size="14.00">String</text>
+</a>
+</g>
+<g id="graph114" class="cluster"><title>clusterZorbaXQueryDataModelAtomicURI</title>
+<a xlink:title="Zorba/XQuery Data Model/Atomic/URI">
+<polygon fill="lightsteelblue" stroke="black" points="1464,-146 1464,-221 1534,-221 1534,-146 1464,-146"/>
+<text text-anchor="middle" x="1499" y="-205.8" font-family="Times,serif" font-size="14.00">URI</text>
+</a>
+</g>
+<g id="graph115" class="cluster"><title>clusterZorbaXQueryDataModelItem</title>
+<a xlink:title="Zorba/XQuery Data Model/Item">
+<polygon fill="lightsteelblue" stroke="black" points="1926,-138 1926,-252 2112,-252 2112,-138 1926,-138"/>
+<text text-anchor="middle" x="2019" y="-236.8" font-family="Times,serif" font-size="14.00">Item</text>
+</a>
+</g>
+<g id="graph116" class="cluster"><title>clusterZorbaXQueryDataModelItemItem</title>
+<a xlink:title="Zorba/XQuery Data Model/Item/Item">
+<polygon fill="lightsteelblue" stroke="black" points="2034,-146 2034,-221 2104,-221 2104,-146 2034,-146"/>
+<text text-anchor="middle" x="2069" y="-205.8" font-family="Times,serif" font-size="14.00">Item</text>
+</a>
+</g>
+<g id="graph117" class="cluster"><title>clusterZorbaXQueryDataModelItemSchema</title>
+<a xlink:title="Zorba/XQuery Data Model/Item/Schema">
+<polygon fill="lightsteelblue" stroke="black" points="1934,-146 1934,-221 2026,-221 2026,-146 1934,-146"/>
+<text text-anchor="middle" x="1980" y="-205.8" font-family="Times,serif" font-size="14.00">Schema</text>
+</a>
+</g>
+<g id="graph118" class="cluster"><title>clusterZorbaXQueryDataModelNode</title>
+<a xlink:title="Zorba/XQuery Data Model/Node">
+<polygon fill="lightsteelblue" stroke="black" points="954,-138 954,-252 1448,-252 1448,-138 954,-138"/>
+<text text-anchor="middle" x="1201" y="-236.8" font-family="Times,serif" font-size="14.00">Node</text>
+</a>
+</g>
+<g id="graph119" class="cluster"><title>clusterZorbaXQueryDataModelNodeNode</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Node">
+<polygon fill="lightsteelblue" stroke="black" points="1368,-146 1368,-221 1440,-221 1440,-146 1368,-146"/>
+<text text-anchor="middle" x="1404" y="-205.8" font-family="Times,serif" font-size="14.00">Node</text>
+</a>
+</g>
+<g id="graph120" class="cluster"><title>clusterZorbaXQueryDataModelNodeNodePosition</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Node Position">
+<polygon fill="lightsteelblue" stroke="black" points="1226,-146 1226,-221 1360,-221 1360,-146 1226,-146"/>
+<text text-anchor="middle" x="1293" y="-205.8" font-family="Times,serif" font-size="14.00">Node Position</text>
+</a>
+</g>
+<g id="graph121" class="cluster"><title>clusterZorbaXQueryDataModelNodeNodeReference</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Node Reference">
+<polygon fill="lightsteelblue" stroke="black" points="1074,-146 1074,-221 1218,-221 1218,-146 1074,-146"/>
+<text text-anchor="middle" x="1146" y="-205.8" font-family="Times,serif" font-size="14.00">Node Reference</text>
+</a>
+</g>
+<g id="graph122" class="cluster"><title>clusterZorbaXQueryDataModelNodeReference</title>
+<a xlink:title="Zorba/XQuery Data Model/Node/Reference">
+<polygon fill="lightsteelblue" stroke="black" points="962,-146 962,-221 1066,-221 1066,-146 962,-146"/>
+<text text-anchor="middle" x="1014" y="-205.8" font-family="Times,serif" font-size="14.00">Reference</text>
+</a>
+</g>
+<g id="graph123" class="cluster"><title>clusterZorbaZorbaErrorCodes</title>
+<a xlink:title="Zorba/Zorba Error Codes">
+<polygon fill="lightsteelblue" stroke="black" points="420,-421 420,-496 539,-496 539,-421 420,-421"/>
+<text text-anchor="middle" x="479.5" y="-480.8" font-family="Times,serif" font-size="14.00">Zorba Error Codes</text>
+</a>
+</g>
+<g id="graph124" class="cluster"><title>clusterZorbaZorbaWarningCodes</title>
+<a xlink:title="Zorba/Zorba Warning Codes">
+<polygon fill="lightsteelblue" stroke="black" points="274,-421 274,-496 412,-496 412,-421 274,-421"/>
+<text text-anchor="middle" x="343" y="-480.8" font-family="Times,serif" font-size="14.00">Zorba Warning Codes</text>
+</a>
+</g>
+<g id="graph125" class="cluster"><title>clusterExternalCPPLibs</title>
+<a xlink:title="Zorba modules dependency graph">
+<polygon fill="darksalmon" stroke="black" points="6044,-47 6044,-122 6876,-122 6876,-47 6044,-47"/>
+<text text-anchor="middle" x="6460" y="-106.8" font-family="Times,serif" font-size="14.00">External C++ Library dependencies</text>
+</a>
+</g>
+<!-- 43 -->
+<g id="node3" class="node"><title>43</title>
+<a xlink:href="../modules_jsoniq_Errors.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/errors";>
+<ellipse fill="white" stroke="white" cx="211" cy="-447" rx="31.2965" ry="18"/>
+<text text-anchor="middle" x="211" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
+</a>
+</g>
+<!-- 42 -->
+<g id="node5" class="node"><title>42</title>
+<a xlink:href="../modules_jsoniq_Function Library.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/function-library";>
+<ellipse fill="white" stroke="white" cx="90" cy="-447" rx="65.9423" ry="18"/>
+<text text-anchor="middle" x="90" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">function-library</text>
+</a>
+</g>
+<!-- 41 -->
+<g id="node7" class="node"><title>41</title>
+<a xlink:href="../modules_jsoniq_Functions.html" xlink:title="(Zorba-core) module uri=http://jsoniq.org/functions";>
+<ellipse fill="white" stroke="white" cx="144" cy="-325" rx="43.319" ry="18"/>
+<text text-anchor="middle" x="144" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">functions</text>
+</a>
+</g>
+<!-- 42&#45;&gt;41 -->
+<g id="edge196" class="edge"><title>42-&gt;41</title>
+<a xlink:title="FROM: http://jsoniq.org/function-library, TO: http://jsoniq.org/functions";>
+<path fill="none" stroke="black" d="M97.6224,-429.061C106.628,-409.05 121.711,-375.531 132.223,-352.172"/>
+<polygon fill="black" stroke="black" points="135.504,-353.408 136.416,-342.852 129.121,-350.535 135.504,-353.408"/>
+</a>
+</g>
+<!-- 13 -->
+<g id="node208" class="node"><title>13</title>
+<a xlink:href="../modules_zorba_xquery_data_model_item_Schema.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/schema";>
+<ellipse fill="white" stroke="white" cx="1980" cy="-172" rx="37.5442" ry="18"/>
+<text text-anchor="middle" x="1980" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">schema</text>
+</a>
+</g>
+<!-- 41&#45;&gt;13 -->
+<g id="edge194" class="edge"><title>41-&gt;13</title>
+<a xlink:title="FROM: http://jsoniq.org/functions, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M185.549,-319.627C259.524,-312.071 418.981,-296.823 554,-291 572.872,-290.186 1897.59,-292.355 1914,-283 1945.09,-265.278 1963.15,-226.471 1972.29,-200.027"/>
+<polygon fill="black" stroke="black" points="1975.71,-200.82 1975.47,-190.228 1969.06,-198.66 1975.71,-200.82"/>
+</a>
+</g>
+<!-- 48 -->
+<g id="node10" class="node"><title>48</title>
+<a xlink:href="../modules_w3c_XPath Errors Codes.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xqt-errors";>
+<ellipse fill="white" stroke="white" cx="7023" cy="-447" rx="45.244" ry="18"/>
+<text text-anchor="middle" x="7023" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">xqt-errors</text>
+</a>
+</g>
+<!-- 46 -->
+<g id="node12" class="node"><title>46</title>
+<a xlink:href="../modules_w3c_XPath Functions.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions";>
+<ellipse fill="white" stroke="white" cx="6879" cy="-447" rx="65.4659" ry="18"/>
+<text text-anchor="middle" x="6879" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">xpath-functions</text>
+</a>
+</g>
+<!-- 47 -->
+<g id="node14" class="node"><title>47</title>
+<a xlink:href="../modules_w3c_XPath Math Functions.html" xlink:title="(Zorba-core) module uri=http://www.w3.org/2005/xpath-functions/math";>
+<ellipse fill="white" stroke="white" cx="6727" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="6727" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
+</a>
+</g>
+<!-- 44 -->
+<g id="node16" class="node"><title>44</title>
+<a xlink:href="../modules_FunctX.html" xlink:title="(Zorba-core) module uri=http://www.functx.com/";>
+<ellipse fill="white" stroke="white" cx="7067" cy="-325" rx="72.192" ry="18"/>
+<text text-anchor="middle" x="7067" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">www.functx.com</text>
+</a>
+</g>
+<!-- 1 -->
+<g id="node19" class="node"><title>1</title>
+<a xlink:href="../modules_expath_EXPath Error Codes.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/error";>
+<ellipse fill="white" stroke="white" cx="6537" cy="-172" rx="27.4223" ry="18"/>
+<text text-anchor="middle" x="6537" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">error</text>
+</a>
+</g>
+<!-- 40 -->
+<g id="node21" class="node"><title>40</title>
+<a xlink:href="../modules_expath_EXPath File Module.html" xlink:title="(Zorba-core) module uri=http://expath.org/ns/file";>
+<ellipse fill="white" stroke="white" cx="6807" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="6807" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">file</text>
+</a>
+</g>
+<!-- 67 -->
+<g id="node23" class="node"><title>67</title>
+<a xlink:href="../modules_expath_EXPath Geo Module.html" xlink:title="(External module) module uri=http://expath.org/ns/geo";>
+<ellipse fill="white" stroke="white" cx="6695" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="6695" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">geo</text>
+</a>
+</g>
+<!-- GEOS -->
+<g id="node229" class="node"><title>GEOS</title>
+<a xlink:href="http://trac.osgeo.org/geos/"; xlink:title="GEOS (Geometry Engine - Open Source)">
+<polygon fill="none" stroke="red" points="6722,-91 6672,-91 6668,-87 6668,-55 6718,-55 6722,-59 6722,-91"/>
+<polyline fill="none" stroke="red" points="6718,-87 6668,-87 "/>
+<polyline fill="none" stroke="red" points="6718,-87 6718,-55 "/>
+<polyline fill="none" stroke="red" points="6718,-87 6722,-91 "/>
+<text text-anchor="middle" x="6695" y="-69.3" font-family="Times,serif" font-size="14.00">GEOS</text>
+</a>
+</g>
+<!-- 67&#45;&gt;GEOS -->
+<g id="edge144" class="edge"><title>67-&gt;GEOS</title>
+<a xlink:title="FROM: http://expath.org/ns/geo, TO: GEOS">
+<path fill="none" stroke="red" d="M6695,-306.816C6695,-264.178 6695,-153.24 6695,-101.419"/>
+<polygon fill="red" stroke="red" points="6698.5,-101.304 6695,-91.3038 6691.5,-101.304 6698.5,-101.304"/>
+</a>
+</g>
+<!-- 50 -->
+<g id="node25" class="node"><title>50</title>
+<a xlink:href="../modules_expath_EXPath HTTP Client.html" xlink:title="(External module) module uri=http://expath.org/ns/http-client";>
+<ellipse fill="white" stroke="white" cx="6547" cy="-325" rx="46.1964" ry="18"/>
+<text text-anchor="middle" x="6547" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">http-client</text>
+</a>
+</g>
+<!-- 50&#45;&gt;1 -->
+<g id="edge202" class="edge"><title>50-&gt;1</title>
+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://expath.org/ns/error";>
+<path fill="none" stroke="black" d="M6545.87,-306.972C6544.15,-281.03 6540.86,-231.357 6538.81,-200.326"/>
+<polygon fill="black" stroke="black" points="6542.29,-199.944 6538.14,-190.198 6535.31,-200.407 6542.29,-199.944"/>
+</a>
+</g>
+<!-- 49 -->
+<g id="node68" class="node"><title>49</title>
+<a xlink:href="../modules_zorba_data_converters_HTML.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/html";>
+<ellipse fill="white" stroke="white" cx="2175" cy="-325" rx="26.949" ry="18"/>
+<text text-anchor="middle" x="2175" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">html</text>
+</a>
+</g>
+<!-- 50&#45;&gt;49 -->
+<g id="edge204" class="edge"><title>50-&gt;49</title>
+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/converters/html";>
+<path fill="none" stroke="black" d="M6539.1,-342.761C6527.82,-365.226 6504.67,-401.855 6471,-409 6456.57,-412.062 2237.43,-412.062 2223,-409 2198.18,-403.732 2185.94,-375.428 2180.07,-353.111"/>
+<polygon fill="black" stroke="black" points="2183.41,-352.023 2177.74,-343.074 2176.59,-353.607 2183.41,-352.023"/>
+</a>
+</g>
+<!-- 2 -->
+<g id="node156" class="node"><title>2</title>
+<a xlink:href="../modules_zorba_input_output_HTTP Client.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/http-client";>
+<ellipse fill="white" stroke="white" cx="5853" cy="-172" rx="46.1964" ry="18"/>
+<text text-anchor="middle" x="5853" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">http-client</text>
+</a>
+</g>
+<!-- 50&#45;&gt;2 -->
+<g id="edge200" class="edge"><title>50-&gt;2</title>
+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: http://www.zorba-xquery.com/modules/http-client";>
+<path fill="none" stroke="black" d="M6501.53,-321.095C6357.63,-311.895 5921.56,-283.944 5920,-283 5889.27,-264.39 5870.72,-225.81 5861.17,-199.658"/>
+<polygon fill="black" stroke="black" points="5864.4,-198.29 5857.83,-189.976 5857.78,-200.571 5864.4,-198.29"/>
+</a>
+</g>
+<!-- cURL -->
+<g id="node227" class="node"><title>cURL</title>
+<a xlink:href="http://curl.haxx.se/"; xlink:title="cURL Library">
+<polygon fill="none" stroke="red" points="6398,-91 6348,-91 6344,-87 6344,-55 6394,-55 6398,-59 6398,-91"/>
+<polyline fill="none" stroke="red" points="6394,-87 6344,-87 "/>
+<polyline fill="none" stroke="red" points="6394,-87 6394,-55 "/>
+<polyline fill="none" stroke="red" points="6394,-87 6398,-91 "/>
+<text text-anchor="middle" x="6371" y="-69.3" font-family="Times,serif" font-size="14.00">cURL</text>
+</a>
+</g>
+<!-- 50&#45;&gt;cURL -->
+<g id="edge130" class="edge"><title>50-&gt;cURL</title>
+<a xlink:title="FROM: http://expath.org/ns/http-client, TO: cURL">
+<path fill="none" stroke="red" d="M6583.59,-313.813C6598.87,-307.551 6615.11,-297.802 6624,-283 6659.01,-224.702 6671.19,-178.961 6624,-130 6607.26,-112.628 6428.38,-133.186 6407,-122 6397.68,-117.125 6390.12,-108.633 6384.37,-100.133"/>
+<polygon fill="red" stroke="red" points="6387.25,-98.1266 6379.04,-91.4235 6381.27,-101.78 6387.25,-98.1266"/>
+</a>
+</g>
+<!-- 58 -->
+<g id="node28" class="node"><title>58</title>
+<a xlink:href="../modules_db_drivers_Couchbase.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/couchbase";>
+<ellipse fill="white" stroke="white" cx="6525" cy="-447" rx="47.169" ry="18"/>
+<text text-anchor="middle" x="6525" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">couchbase</text>
+</a>
+</g>
+<!-- 60 -->
+<g id="node30" class="node"><title>60</title>
+<a xlink:href="../modules_db_drivers_JDBC.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/jdbc";>
+<ellipse fill="white" stroke="white" cx="6427" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="6427" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">jdbc</text>
+</a>
+</g>
+<!-- 53 -->
+<g id="node32" class="node"><title>53</title>
+<a xlink:href="../modules_db_drivers_ORACLE NoSQL.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oracle-nosqldb";>
+<ellipse fill="white" stroke="white" cx="6229" cy="-447" rx="63.0666" ry="18"/>
+<text text-anchor="middle" x="6229" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">oracle-nosqldb</text>
+</a>
+</g>
+<!-- 19 -->
+<g id="node64" class="node"><title>19</title>
+<a xlink:href="../modules_zorba_data_converters_Base 64.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/base64";>
+<ellipse fill="white" stroke="white" cx="2261" cy="-325" rx="35.1455" ry="18"/>
+<text text-anchor="middle" x="2261" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">base64</text>
+</a>
+</g>
+<!-- 53&#45;&gt;19 -->
+<g id="edge206" class="edge"><title>53-&gt;19</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oracle-nosqldb, TO: http://www.zorba-xquery.com/modules/converters/base64";>
+<path fill="none" stroke="black" d="M6180.3,-435.556C6140.6,-427.596 6082.97,-417.296 6032,-413 5981.51,-408.745 2432.6,-419.321 2384,-405 2345.89,-393.77 2308.4,-366.734 2285.01,-347.422"/>
+<polygon fill="black" stroke="black" points="2287.25,-344.731 2277.35,-340.952 2282.73,-350.078 2287.25,-344.731"/>
+</a>
+</g>
+<!-- 59 -->
+<g id="node34" class="node"><title>59</title>
+<a xlink:href="../modules_db_drivers_SQLite.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/sqlite";>
+<ellipse fill="white" stroke="white" cx="6346" cy="-447" rx="29.3479" ry="18"/>
+<text text-anchor="middle" x="6346" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">sqlite</text>
+</a>
+</g>
+<!-- SQLite -->
+<g id="node223" class="node"><title>SQLite</title>
+<a xlink:href="http://www.sqlite.org/"; xlink:title="SQLite">
+<polygon fill="none" stroke="red" points="6868,-91 6816,-91 6812,-87 6812,-55 6864,-55 6868,-59 6868,-91"/>
+<polyline fill="none" stroke="red" points="6864,-87 6812,-87 "/>
+<polyline fill="none" stroke="red" points="6864,-87 6864,-55 "/>
+<polyline fill="none" stroke="red" points="6864,-87 6868,-91 "/>
+<text text-anchor="middle" x="6840" y="-69.3" font-family="Times,serif" font-size="14.00">SQLite</text>
+</a>
+</g>
+<!-- 59&#45;&gt;SQLite -->
+<g id="edge138" class="edge"><title>59-&gt;SQLite</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/sqlite, TO: SQLite">
+<path fill="none" stroke="red" d="M6360.08,-431.081C6367.62,-424.174 6377.5,-416.692 6388,-413 6408.02,-405.958 7137.07,-420.086 7152,-405 7284.43,-271.18 6987.35,-134.675 6980,-130 6947.89,-109.58 6907.11,-94.2941 6877.85,-84.8959"/>
+<polygon fill="red" stroke="red" points="6878.61,-81.4649 6868.02,-81.8184 6876.52,-88.1454 6878.61,-81.4649"/>
+</a>
+</g>
+<!-- 56 -->
+<g id="node37" class="node"><title>56</title>
+<a xlink:href="../modules_zorba_Archive.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/archive";>
+<ellipse fill="white" stroke="white" cx="5984" cy="-447" rx="36.096" ry="18"/>
+<text text-anchor="middle" x="5984" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">archive</text>
+</a>
+</g>
+<!-- libarchive -->
+<g id="node226" class="node"><title>libarchive</title>
+<a xlink:href="http://code.google.com/p/libarchive/"; xlink:title="libarchive">
+<polygon fill="none" stroke="red" points="6649.25,-91 6582.75,-91 6578.75,-87 6578.75,-55 6645.25,-55 6649.25,-59 6649.25,-91"/>
+<polyline fill="none" stroke="red" points="6645.25,-87 6578.75,-87 "/>
+<polyline fill="none" stroke="red" points="6645.25,-87 6645.25,-55 "/>
+<polyline fill="none" stroke="red" points="6645.25,-87 6649.25,-91 "/>
+<text text-anchor="middle" x="6614" y="-69.3" font-family="Times,serif" font-size="14.00">libarchive</text>
+</a>
+</g>
+<!-- 56&#45;&gt;libarchive -->
+<g id="edge136" class="edge"><title>56-&gt;libarchive</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/archive, TO: libarchive">
+<path fill="none" stroke="red" d="M6019.02,-442.072C6054.13,-437.095 6109.01,-426.439 6152,-405 6324.69,-318.875 6309.68,-203.753 6488,-130 6521.43,-116.174 6536.55,-137.997 6569,-122 6579.67,-116.741 6589.1,-107.819 6596.54,-99.0836"/>
+<polygon fill="red" stroke="red" points="6599.31,-101.23 6602.79,-91.2247 6593.83,-96.8732 6599.31,-101.23"/>
+</a>
+</g>
+<!-- 61 -->
+<g id="node40" class="node"><title>61</title>
+<a xlink:href="../modules_zorba_cryptography_HMAC.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hmac";>
+<ellipse fill="white" stroke="white" cx="774" cy="-325" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="774" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">hmac</text>
+</a>
+</g>
+<!-- 62 -->
+<g id="node42" class="node"><title>62</title>
+<a xlink:href="../modules_zorba_cryptography_hash.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/cryptography/hash";>
+<ellipse fill="white" stroke="white" cx="692" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="692" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">hash</text>
+</a>
+</g>
+<!-- 78 -->
+<g id="node45" class="node"><title>78</title>
+<a xlink:href="../modules_zorba_data_cleaning_Character-Based String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
+<ellipse fill="white" stroke="white" cx="5013" cy="-73" rx="126.133" ry="18"/>
+<text text-anchor="middle" x="5013" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">character-based-string-similarity</text>
+</a>
+</g>
+<!-- 79 -->
+<g id="node47" class="node"><title>79</title>
+<a xlink:href="../modules_zorba_data_cleaning_Consolidation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/consolidation";>
+<ellipse fill="white" stroke="white" cx="4936" cy="-172" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="4936" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">consolidation</text>
+</a>
+</g>
+<!-- 79&#45;&gt;78 -->
+<g id="edge238" class="edge"><title>79-&gt;78</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/consolidation, TO: http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
+<path fill="none" stroke="black" d="M4949.41,-154.104C4961.48,-138.897 4979.38,-116.348 4993.12,-99.0455"/>
+<polygon fill="black" stroke="black" points="4996.01,-101.036 4999.48,-91.028 4990.52,-96.6841 4996.01,-101.036"/>
+</a>
+</g>
+<!-- 84 -->
+<g id="node59" class="node"><title>84</title>
+<a xlink:href="../modules_zorba_data_cleaning_Set Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
+<ellipse fill="white" stroke="white" cx="4805" cy="-73" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="4805" y="-69.3" font-family="Times,serif" font-size="14.00" fill="green">set-similarity</text>
+</a>
+</g>
+<!-- 79&#45;&gt;84 -->
+<g id="edge236" class="edge"><title>79-&gt;84</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/consolidation, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
+<path fill="none" stroke="black" d="M4914.66,-155.199C4892.87,-139.064 4858.87,-113.891 4834.51,-95.8507"/>
+<polygon fill="black" stroke="black" points="4836.45,-92.9319 4826.33,-89.7938 4832.28,-98.5575 4836.45,-92.9319"/>
+</a>
+</g>
+<!-- 80 -->
+<g id="node49" class="node"><title>80</title>
+<a xlink:href="../modules_zorba_data_cleaning_Conversion.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/conversion";>
+<ellipse fill="white" stroke="white" cx="5185" cy="-325" rx="49.0941" ry="18"/>
+<text text-anchor="middle" x="5185" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">conversion</text>
+</a>
+</g>
+<!-- 80&#45;&gt;2 -->
+<g id="edge240" class="edge"><title>80-&gt;2</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/http-client";>
+<path fill="none" stroke="black" d="M5233.04,-320.766C5376.85,-311.084 5794,-283 5794,-283 5823.1,-264.231 5838.86,-226.037 5846.59,-199.979"/>
+<polygon fill="black" stroke="black" points="5849.97,-200.889 5849.26,-190.318 5843.23,-199.025 5849.97,-200.889"/>
+</a>
+</g>
+<!-- 12 -->
+<g id="node182" class="node"><title>12</title>
+<a xlink:href="../modules_zorba_Reflection.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/reflection";>
+<ellipse fill="white" stroke="white" cx="5976" cy="-172" rx="44.2946" ry="18"/>
+<text text-anchor="middle" x="5976" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">reflection</text>
+</a>
+</g>
+<!-- 80&#45;&gt;12 -->
+<g id="edge242" class="edge"><title>80-&gt;12</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/conversion, TO: http://www.zorba-xquery.com/modules/reflection";>
+<path fill="none" stroke="black" d="M5232.71,-320.264C5320.43,-313.515 5513.24,-299.226 5676,-291 5689.1,-290.338 5900.74,-289.732 5912,-283 5942.47,-264.783 5959.9,-226.102 5968.66,-199.821"/>
+<polygon fill="black" stroke="black" points="5972.06,-200.676 5971.7,-190.087 5965.38,-198.59 5972.06,-200.676"/>
+</a>
+</g>
+<!-- 81 -->
+<g id="node51" class="node"><title>81</title>
+<a xlink:href="../modules_zorba_data_cleaning_Hybrid String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity";>
+<ellipse fill="white" stroke="white" cx="4724" cy="-325" rx="93.3873" ry="18"/>
+<text text-anchor="middle" x="4724" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">hybrid-string-similarity</text>
+</a>
+</g>
+<!-- 81&#45;&gt;78 -->
+<g id="edge248" class="edge"><title>81-&gt;78</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/character-based-string-similarity";>
+<path fill="none" stroke="black" d="M4764.42,-308.738C4783.94,-302.062 4807.88,-294.879 4830,-291 4849.28,-287.618 4992.24,-296.925 5006,-283 5018.47,-270.376 5015.98,-155.112 5014.1,-101.362"/>
+<polygon fill="black" stroke="black" points="5017.59,-101.048 5013.73,-91.1829 5010.6,-101.305 5017.59,-101.048"/>
+</a>
+</g>
+<!-- 83 -->
+<g id="node57" class="node"><title>83</title>
+<a xlink:href="../modules_zorba_data_cleaning_Phonectic String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity";>
+<ellipse fill="white" stroke="white" cx="5133" cy="-172" rx="100.611" ry="18"/>
+<text text-anchor="middle" x="5133" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">phonetic-string-similarity</text>
+</a>
+</g>
+<!-- 81&#45;&gt;83 -->
+<g id="edge250" class="edge"><title>81-&gt;83</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/phonetic-string-similarity";>
+<path fill="none" stroke="black" d="M4764.42,-308.709C4783.94,-302.027 4807.88,-294.847 4830,-291 4871.2,-283.836 4979.53,-299.394 5018,-283 5059.97,-265.114 5095.64,-224.535 5115.68,-197.98"/>
+<polygon fill="black" stroke="black" points="5118.52,-200.027 5121.63,-189.897 5112.88,-195.879 5118.52,-200.027"/>
+</a>
+</g>
+<!-- 81&#45;&gt;84 -->
+<g id="edge244" class="edge"><title>81-&gt;84</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
+<path fill="none" stroke="black" d="M4770.97,-309.301C4807.23,-297.901 4851.35,-283.887 4852,-283 4872.04,-255.535 4863.63,-161.949 4852,-130 4847.59,-117.887 4839.28,-106.571 4830.86,-97.326"/>
+<polygon fill="black" stroke="black" points="4833.32,-94.8285 4823.85,-90.0756 4828.29,-99.696 4833.32,-94.8285"/>
+</a>
+</g>
+<!-- 85 -->
+<g id="node61" class="node"><title>85</title>
+<a xlink:href="../modules_zorba_data_cleaning_Token Based String Similarity.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity";>
+<ellipse fill="white" stroke="white" cx="4727" cy="-172" rx="113.135" ry="18"/>
+<text text-anchor="middle" x="4727" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">token-based-string-similarity</text>
+</a>
+</g>
+<!-- 81&#45;&gt;85 -->
+<g id="edge246" class="edge"><title>81-&gt;85</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/hybrid-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity";>
+<path fill="none" stroke="black" d="M4724.34,-306.972C4724.85,-281.03 4725.84,-231.357 4726.46,-200.326"/>
+<polygon fill="black" stroke="black" points="4729.96,-200.265 4726.66,-190.198 4722.96,-200.126 4729.96,-200.265"/>
+</a>
+</g>
+<!-- 65 -->
+<g id="node53" class="node"><title>65</title>
+<a xlink:href="../modules_zorba_data_cleaning_Info Extraction.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/info-extraction";>
+<ellipse fill="white" stroke="white" cx="5049" cy="-325" rx="63.0666" ry="18"/>
+<text text-anchor="middle" x="5049" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">info-extraction</text>
+</a>
+</g>
+<!-- 65&#45;&gt;2 -->
+<g id="edge220" class="edge"><title>65-&gt;2</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/info-extraction, TO: http://www.zorba-xquery.com/modules/http-client";>
+<path fill="none" stroke="black" d="M5076.58,-308.667C5090.38,-301.841 5107.59,-294.552 5124,-291 5142.19,-287.061 5778.09,-292.652 5794,-283 5823.77,-264.943 5839.41,-226.222 5846.93,-199.888"/>
+<polygon fill="black" stroke="black" points="5850.34,-200.695 5849.51,-190.133 5843.57,-198.906 5850.34,-200.695"/>
+</a>
+</g>
+<!-- 82 -->
+<g id="node55" class="node"><title>82</title>
+<a xlink:href="../modules_zorba_data_cleaning_Normalization.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/data-cleaning/normalization";>
+<ellipse fill="white" stroke="white" cx="4902" cy="-325" rx="59.1941" ry="18"/>
+<text text-anchor="middle" x="4902" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">normalization</text>
+</a>
+</g>
+<!-- 82&#45;&gt;2 -->
+<g id="edge252" class="edge"><title>82-&gt;2</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/normalization, TO: http://www.zorba-xquery.com/modules/http-client";>
+<path fill="none" stroke="black" d="M4928.41,-308.654C4941.63,-301.825 4958.16,-294.537 4974,-291 4996.23,-286.034 5774.51,-294.792 5794,-283 5823.79,-264.975 5839.43,-226.246 5846.94,-199.901"/>
+<polygon fill="black" stroke="black" points="5850.35,-200.704 5849.52,-190.142 5843.58,-198.917 5850.35,-200.704"/>
+</a>
+</g>
+<!-- 85&#45;&gt;84 -->
+<g id="edge254" class="edge"><title>85-&gt;84</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/data-cleaning/token-based-string-similarity, TO: http://www.zorba-xquery.com/modules/data-cleaning/set-similarity";>
+<path fill="none" stroke="black" d="M4740.59,-154.104C4752.89,-138.804 4771.17,-116.071 4785.12,-98.7277"/>
+<polygon fill="black" stroke="black" points="4788.03,-100.689 4791.57,-90.7025 4782.58,-96.3022 4788.03,-100.689"/>
+</a>
+</g>
+<!-- 98 -->
+<g id="node66" class="node"><title>98</title>
+<a xlink:href="../modules_zorba_data_converters_CSV.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/converters/csv";>
+<ellipse fill="white" stroke="white" cx="2097" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="2097" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">csv</text>
+</a>
+</g>
+<!-- 98&#45;&gt;13 -->
+<g id="edge276" class="edge"><title>98-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/csv, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M2082.91,-309.533C2075.94,-303.074 2067.08,-295.845 2058,-291 2046.58,-284.906 2039.8,-291.448 2030,-283 2005.11,-261.553 1991.96,-225.174 1985.5,-200.162"/>
+<polygon fill="black" stroke="black" points="1988.85,-199.131 1983.13,-190.216 1982.04,-200.755 1988.85,-199.131"/>
+</a>
+</g>
+<!-- 49&#45;&gt;13 -->
+<g id="edge198" class="edge"><title>49-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M2161.66,-309.029C2154.73,-302.289 2145.68,-294.967 2136,-291 2114.14,-282.045 2049.37,-296.528 2030,-283 2002.64,-263.889 1989.98,-226.053 1984.31,-200.143"/>
+<polygon fill="black" stroke="black" points="1987.72,-199.326 1982.35,-190.193 1980.85,-200.682 1987.72,-199.326"/>
+</a>
+</g>
+<!-- Tidy -->
+<g id="node233" class="node"><title>Tidy</title>
+<a xlink:href="http://tidy.sourceforge.net/"; xlink:title="Tidy C++ Library">
+<polygon fill="none" stroke="red" points="6178,-91 6128,-91 6124,-87 6124,-55 6174,-55 6178,-59 6178,-91"/>
+<polyline fill="none" stroke="red" points="6174,-87 6124,-87 "/>
+<polyline fill="none" stroke="red" points="6174,-87 6174,-55 "/>
+<polyline fill="none" stroke="red" points="6174,-87 6178,-91 "/>
+<text text-anchor="middle" x="6151" y="-69.3" font-family="Times,serif" font-size="14.00">Tidy</text>
+</a>
+</g>
+<!-- 49&#45;&gt;Tidy -->
+<g id="edge128" class="edge"><title>49-&gt;Tidy</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/html, TO: Tidy">
+<path fill="none" stroke="red" d="M2187.87,-309.064C2194.82,-302.152 2204.01,-294.671 2214,-291 2238.89,-281.854 6011.55,-299.87 6032,-283 6085.46,-238.911 6011.94,-177.914 6062,-130 6079.21,-113.528 6094.55,-134.218 6115,-122 6123.89,-116.687 6131.31,-108.257 6137.06,-99.9349"/>
+<polygon fill="red" stroke="red" points="6140.04,-101.759 6142.43,-91.4359 6134.13,-98.0177 6140.04,-101.759"/>
+</a>
+</g>
+<!-- 20 -->
+<g id="node70" class="node"><title>20</title>
+<a xlink:href="../modules_zorba_data_converters_JSON.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/converters/json";>
+<ellipse fill="white" stroke="white" cx="1941" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="1941" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">json</text>
+</a>
+</g>
+<!-- 20&#45;&gt;13 -->
+<g id="edge174" class="edge"><title>20-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/converters/json, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M1945.4,-306.972C1952.13,-280.917 1965.04,-230.922 1973.05,-199.921"/>
+<polygon fill="black" stroke="black" points="1976.45,-200.755 1975.56,-190.198 1969.67,-199.005 1976.45,-200.755"/>
+</a>
+</g>
+<!-- 16 -->
+<g id="node72" class="node"><title>16</title>
+<a xlink:href="../modules_zorba_data_converters_XML.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xml";>
+<ellipse fill="white" stroke="white" cx="2019" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="2019" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">xml</text>
+</a>
+</g>
+<!-- 16&#45;&gt;13 -->
+<g id="edge168" class="edge"><title>16-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xml, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M2014.6,-306.972C2007.87,-280.917 1994.96,-230.922 1986.95,-199.921"/>
+<polygon fill="black" stroke="black" points="1990.33,-199.005 1984.44,-190.198 1983.55,-200.755 1990.33,-199.005"/>
+</a>
+</g>
+<!-- 68 -->
+<g id="node75" class="node"><title>68</title>
+<a xlink:href="../modules_zorba_data_formatting_XSL-FO.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/xsl-fo";>
+<ellipse fill="white" stroke="white" cx="5885" cy="-447" rx="31.2965" ry="18"/>
+<text text-anchor="middle" x="5885" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">xsl-fo</text>
+</a>
+</g>
+<!-- 52 -->
+<g id="node170" class="node"><title>52</title>
+<a xlink:href="../modules_zorba_JVM Utility.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/util-jvm";>
+<ellipse fill="white" stroke="white" cx="5980" cy="-325" rx="39.4691" ry="18"/>
+<text text-anchor="middle" x="5980" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">util-jvm</text>
+</a>
+</g>
+<!-- 68&#45;&gt;52 -->
+<g id="edge224" class="edge"><title>68-&gt;52</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xsl-fo, TO: http://www.zorba-xquery.com/modules/util-jvm";>
+<path fill="none" stroke="black" d="M5898.51,-430.6C5905.09,-422.983 5913.07,-413.6 5920,-405 5934.49,-387.006 5950.27,-366.176 5962.01,-350.424"/>
+<polygon fill="black" stroke="black" points="5964.93,-352.361 5968.08,-342.246 5959.31,-348.189 5964.93,-352.361"/>
+</a>
+</g>
+<!-- JDK -->
+<g id="node230" class="node"><title>JDK</title>
+<a xlink:href="http://www.oracle.com/technetwork/java/javase/downloads/index.html"; xlink:title="JDK - Java Development Kit">
+<polygon fill="none" stroke="red" points="6326,-91 6276,-91 6272,-87 6272,-55 6322,-55 6326,-59 6326,-91"/>
+<polyline fill="none" stroke="red" points="6322,-87 6272,-87 "/>
+<polyline fill="none" stroke="red" points="6322,-87 6322,-55 "/>
+<polyline fill="none" stroke="red" points="6322,-87 6326,-91 "/>
+<text text-anchor="middle" x="6299" y="-69.3" font-family="Times,serif" font-size="14.00">JDK</text>
+</a>
+</g>
+<!-- 68&#45;&gt;JDK -->
+<g id="edge146" class="edge"><title>68-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xsl-fo, TO: JDK">
+<path fill="none" stroke="red" d="M5902.28,-431.755C5911.67,-424.843 5923.82,-417.154 5936,-413 5976.52,-399.178 5991.03,-417.437 6032,-405 6138.98,-372.522 6184.98,-372.489 6252,-283 6293.02,-228.232 6299.35,-144.235 6299.67,-101.311"/>
+<polygon fill="red" stroke="red" points="6303.17,-101.069 6299.64,-91.081 6296.17,-101.093 6303.17,-101.069"/>
+</a>
+</g>
+<!-- 70 -->
+<g id="node78" class="node"><title>70</title>
+<a xlink:href="../modules_zorba_data_processing_PDF Reader.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/read-pdf";>
+<ellipse fill="white" stroke="white" cx="5728" cy="-325" rx="39.9464" ry="18"/>
+<text text-anchor="middle" x="5728" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">read-pdf</text>
+</a>
+</g>
+<!-- 70&#45;&gt;13 -->
+<g id="edge226" class="edge"><title>70-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M5689,-320.454C5607.05,-313.198 5410.92,-296.844 5246,-291 5234.84,-290.605 2039.38,-289.057 2030,-283 2001.81,-264.798 1989.33,-226.395 1983.93,-200.143"/>
+<polygon fill="black" stroke="black" points="1987.33,-199.272 1982.08,-190.069 1980.44,-200.537 1987.33,-199.272"/>
+</a>
+</g>
+<!-- Apache -->
+<g id="node228" class="node"><title>Apache</title>
+<a xlink:href="http://pdfbox.apache.org/"; xlink:title="Apache PDFBox">
+<polygon fill="none" stroke="red" points="6254,-91 6200,-91 6196,-87 6196,-55 6250,-55 6254,-59 6254,-91"/>
+<polyline fill="none" stroke="red" points="6250,-87 6196,-87 "/>
+<polyline fill="none" stroke="red" points="6250,-87 6250,-55 "/>
+<polyline fill="none" stroke="red" points="6250,-87 6254,-91 "/>
+<text text-anchor="middle" x="6225" y="-69.3" font-family="Times,serif" font-size="14.00">Apache</text>
+</a>
+</g>
+<!-- 70&#45;&gt;Apache -->
+<g id="edge152" class="edge"><title>70-&gt;Apache</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: Apache">
+<path fill="none" stroke="red" d="M5746.52,-308.788C5755.94,-301.991 5767.94,-294.691 5780,-291 5794.99,-286.414 6049.5,-292.455 6062,-283 6118.84,-240.007 6054.82,-175.098 6110,-130 6123.32,-119.114 6171.92,-130.283 6187,-122 6196.5,-116.78 6204.46,-108.1 6210.61,-99.5451"/>
+<polygon fill="red" stroke="red" points="6213.55,-101.441 6216.13,-91.1652 6207.7,-97.588 6213.55,-101.441"/>
+</a>
+</g>
+<!-- 70&#45;&gt;JDK -->
+<g id="edge150" class="edge"><title>70-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/read-pdf, TO: JDK">
+<path fill="none" stroke="red" d="M5746.52,-308.771C5755.94,-301.969 5767.93,-294.671 5780,-291 5797.01,-285.826 6085.64,-293.494 6100,-283 6158.1,-240.535 6095.93,-173.836 6153,-130 6172.44,-115.071 6241.49,-133.749 6263,-122 6272.23,-116.96 6279.78,-108.432 6285.53,-99.9502"/>
+<polygon fill="red" stroke="red" points="6288.61,-101.625 6290.88,-91.2763 6282.65,-97.9516 6288.61,-101.625"/>
+</a>
+</g>
+<!-- 66 -->
+<g id="node80" class="node"><title>66</title>
+<a xlink:href="../modules_zorba_data_processing_Schema Tools.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/schema-tools";>
+<ellipse fill="white" stroke="white" cx="5850" cy="-325" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="5850" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">schema-tools</text>
+</a>
+</g>
+<!-- 66&#45;&gt;13 -->
+<g id="edge222" class="edge"><title>66-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M5824.72,-308.778C5811.82,-301.887 5795.6,-294.51 5780,-291 5754.59,-285.283 2051.88,-297.122 2030,-283 2001.81,-264.803 1989.32,-226.399 1983.93,-200.145"/>
+<polygon fill="black" stroke="black" points="1987.33,-199.274 1982.08,-190.07 1980.44,-200.538 1987.33,-199.274"/>
+</a>
+</g>
+<!-- 66&#45;&gt;Apache -->
+<g id="edge142" class="edge"><title>66-&gt;Apache</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: Apache">
+<path fill="none" stroke="red" d="M5878.08,-309.264C5892.58,-302.404 5910.79,-294.908 5928,-291 5946.66,-286.762 6083.72,-293.042 6100,-283 6166.4,-242.055 6144.55,-196.083 6186,-130 6192.36,-119.857 6199.78,-108.995 6206.43,-99.562"/>
+<polygon fill="red" stroke="red" points="6209.32,-101.54 6212.26,-91.3629 6203.61,-97.4802 6209.32,-101.54"/>
+</a>
+</g>
+<!-- 66&#45;&gt;JDK -->
+<g id="edge140" class="edge"><title>66-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/schema-tools, TO: JDK">
+<path fill="none" stroke="red" d="M5878.06,-309.18C5892.56,-302.298 5910.77,-294.809 5928,-291 5952.86,-285.504 6136.35,-297.887 6157,-283 6215.87,-240.569 6157.94,-176.079 6214,-130 6231.05,-115.988 6244.13,-133.431 6263,-122 6271.86,-116.633 6279.27,-108.192 6285.02,-99.875"/>
+<polygon fill="red" stroke="red" points="6288,-101.707 6290.4,-91.3869 6282.09,-97.9593 6288,-101.707"/>
+</a>
+</g>
+<!-- 24 -->
+<g id="node84" class="node"><title>24</title>
+<a xlink:href="../modules_zorba_data_store_collections_Dynamic Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<ellipse fill="white" stroke="white" cx="4151" cy="-172" rx="27" ry="18"/>
+<text text-anchor="middle" x="4151" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 25 -->
+<g id="node86" class="node"><title>25</title>
+<a xlink:href="../modules_zorba_data_store_collections_Dynamic Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<ellipse fill="white" stroke="white" cx="4151" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="4151" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 28 -->
+<g id="node88" class="node"><title>28</title>
+<a xlink:href="../modules_zorba_data_store_collections_Static Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/ddl";>
+<ellipse fill="white" stroke="white" cx="4506" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="4506" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 29 -->
+<g id="node90" class="node"><title>29</title>
+<a xlink:href="../modules_zorba_data_store_collections_Static Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/collections/dml";>
+<ellipse fill="white" stroke="white" cx="4353" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="4353" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 26 -->
+<g id="node92" class="node"><title>26</title>
+<a xlink:href="../modules_zorba_data_store_collections_W3C Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl";>
+<ellipse fill="white" stroke="white" cx="4332" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="4332" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 26&#45;&gt;24 -->
+<g id="edge176" class="edge"><title>26-&gt;24</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<path fill="none" stroke="black" d="M4315.71,-310.159C4308.73,-304.243 4300.48,-297.269 4293,-291 4251.64,-256.321 4203.26,-216.213 4174.98,-192.82"/>
+<polygon fill="black" stroke="black" points="4177.16,-190.079 4167.22,-186.403 4172.7,-195.473 4177.16,-190.079"/>
+</a>
+</g>
+<!-- 27 -->
+<g id="node94" class="node"><title>27</title>
+<a xlink:href="../modules_zorba_data_store_collections_W3C Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml";>
+<ellipse fill="white" stroke="white" cx="4192" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="4192" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 27&#45;&gt;25 -->
+<g id="edge180" class="edge"><title>27-&gt;25</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<path fill="none" stroke="black" d="M4186.3,-429.315C4179.51,-409.456 4168.1,-376.042 4160.09,-352.604"/>
+<polygon fill="black" stroke="black" points="4163.33,-351.262 4156.78,-342.931 4156.71,-353.525 4163.33,-351.262"/>
+</a>
+</g>
+<!-- 27&#45;&gt;26 -->
+<g id="edge178" class="edge"><title>27-&gt;26</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/dml, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/w3c/ddl";>
+<path fill="none" stroke="black" d="M4214.35,-436.59C4230.36,-429.897 4252.45,-420.755 4272,-413 4281.28,-409.318 4285.61,-411.721 4293,-405 4308.27,-391.107 4318.28,-369.901 4324.33,-352.957"/>
+<polygon fill="black" stroke="black" points="4327.79,-353.654 4327.6,-343.061 4321.14,-351.459 4327.79,-353.654"/>
+</a>
+</g>
+<!-- 71 -->
+<g id="node97" class="node"><title>71</title>
+<a xlink:href="../modules_zorba_data_store_data_structures_Queue.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/queue";>
+<ellipse fill="white" stroke="white" cx="3970" cy="-447" rx="31.2735" ry="18"/>
+<text text-anchor="middle" x="3970" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">queue</text>
+</a>
+</g>
+<!-- 71&#45;&gt;24 -->
+<g id="edge228" class="edge"><title>71-&gt;24</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<path fill="none" stroke="black" d="M3980.04,-429.54C3997.5,-401.043 4034.78,-340.788 4068,-291 4090.06,-257.931 4116.68,-220.508 4133.71,-196.841"/>
+<polygon fill="black" stroke="black" points="4136.73,-198.64 4139.74,-188.483 4131.05,-194.544 4136.73,-198.64"/>
+</a>
+</g>
+<!-- 71&#45;&gt;25 -->
+<g id="edge230" class="edge"><title>71-&gt;25</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/queue, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<path fill="none" stroke="black" d="M3988.18,-431.869C3996.02,-425.903 4005.36,-418.971 4014,-413 4050.86,-387.53 4094.79,-360.132 4122.78,-343.03"/>
+<polygon fill="black" stroke="black" points="4124.91,-345.832 4131.63,-337.642 4121.27,-339.853 4124.91,-345.832"/>
+</a>
+</g>
+<!-- 73 -->
+<g id="node99" class="node"><title>73</title>
+<a xlink:href="../modules_zorba_data_store_data_structures_Stack.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/store/data-structures/stack";>
+<ellipse fill="white" stroke="white" cx="4055" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="4055" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">stack</text>
+</a>
+</g>
+<!-- 73&#45;&gt;24 -->
+<g id="edge232" class="edge"><title>73-&gt;24</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/ddl";>
+<path fill="none" stroke="black" d="M4060.86,-429.334C4077,-383.452 4122.16,-255.005 4141.75,-199.312"/>
+<polygon fill="black" stroke="black" points="4145.08,-200.39 4145.09,-189.795 4138.47,-198.068 4145.08,-200.39"/>
+</a>
+</g>
+<!-- 73&#45;&gt;25 -->
+<g id="edge234" class="edge"><title>73-&gt;25</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/store/data-structures/stack, TO: http://www.zorba-xquery.com/modules/store/dynamic/collections/dml";>
+<path fill="none" stroke="black" d="M4067.55,-430.312C4084.1,-409.626 4113.35,-373.063 4132.45,-349.183"/>
+<polygon fill="black" stroke="black" points="4135.24,-351.307 4138.75,-341.312 4129.77,-346.935 4135.24,-351.307"/>
+</a>
+</g>
+<!-- 22 -->
+<g id="node101" class="node"><title>22</title>
+<a xlink:href="../modules_zorba_data_store_data_structures_Unordered Map.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/data-structures/unordered-map";>
+<ellipse fill="white" stroke="white" cx="3849" cy="-447" rx="64.4914" ry="18"/>
+<text text-anchor="middle" x="3849" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">unordered-map</text>
+</a>
+</g>
+<!-- 23 -->
+<g id="node103" class="node"><title>23</title>
+<a xlink:href="../modules_zorba_data_store_Documents.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/dynamic/documents";>
+<ellipse fill="white" stroke="white" cx="3703" cy="-447" rx="49.0941" ry="18"/>
+<text text-anchor="middle" x="3703" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">documents</text>
+</a>
+</g>
+<!-- 30 -->
+<g id="node106" class="node"><title>30</title>
+<a xlink:href="../modules_zorba_data_store_indexes_Static Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/ddl";>
+<ellipse fill="white" stroke="white" cx="3562" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3562" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 31 -->
+<g id="node108" class="node"><title>31</title>
+<a xlink:href="../modules_zorba_data_store_indexes_Static Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/indexes/dml";>
+<ellipse fill="white" stroke="white" cx="3409" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3409" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 32 -->
+<g id="node111" class="node"><title>32</title>
+<a xlink:href="../modules_zorba_data_store_integrity_constraints_Static Data Definition.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/ddl";>
+<ellipse fill="white" stroke="white" cx="3240" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3240" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">ddl</text>
+</a>
+</g>
+<!-- 33 -->
+<g id="node113" class="node"><title>33</title>
+<a xlink:href="../modules_zorba_data_store_integrity_constraints_Static Data Manipulation.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/store/static/integrity_constraints/dml";>
+<ellipse fill="white" stroke="white" cx="3087" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="3087" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dml</text>
+</a>
+</g>
+<!-- 37 -->
+<g id="node115" class="node"><title>37</title>
+<a xlink:href="../modules_zorba_Debugger.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler";>
+<ellipse fill="white" stroke="white" cx="2261" cy="-447" rx="90.4879" ry="18"/>
+<text text-anchor="middle" x="2261" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">dbgp-message-handler</text>
+</a>
+</g>
+<!-- 37&#45;&gt;19 -->
+<g id="edge192" class="edge"><title>37-&gt;19</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/debugger/dbgp-message-handler, TO: http://www.zorba-xquery.com/modules/converters/base64";>
+<path fill="none" stroke="black" d="M2261,-428.807C2261,-409.114 2261,-376.583 2261,-353.39"/>
+<polygon fill="black" stroke="black" points="2264.5,-353.161 2261,-343.161 2257.5,-353.161 2264.5,-353.161"/>
+</a>
+</g>
+<!-- 88 -->
+<g id="node118" class="node"><title>88</title>
+<a xlink:href="../modules_zorba_excel_Datetime.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/datetime";>
+<ellipse fill="white" stroke="white" cx="2928" cy="-447" rx="41.394" ry="18"/>
+<text text-anchor="middle" x="2928" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">datetime</text>
+</a>
+</g>
+<!-- 97 -->
+<g id="node136" class="node"><title>97</title>
+<a xlink:href="../modules_zorba_excel_Text.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/text";>
+<ellipse fill="white" stroke="white" cx="2943" cy="-325" rx="27" ry="18"/>
+<text text-anchor="middle" x="2943" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">text</text>
+</a>
+</g>
+<!-- 88&#45;&gt;97 -->
+<g id="edge256" class="edge"><title>88-&gt;97</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/datetime, TO: http://www.zorba-xquery.com/modules/excel/text";>
+<path fill="none" stroke="black" d="M2930.15,-428.807C2932.61,-409.114 2936.68,-376.583 2939.58,-353.39"/>
+<polygon fill="black" stroke="black" points="2943.09,-353.518 2940.85,-343.161 2936.14,-352.65 2943.09,-353.518"/>
+</a>
+</g>
+<!-- 89 -->
+<g id="node120" class="node"><title>89</title>
+<a xlink:href="../modules_zorba_excel_Engineering.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/engineering";>
+<ellipse fill="white" stroke="white" cx="2810" cy="-447" rx="51.4931" ry="18"/>
+<text text-anchor="middle" x="2810" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">engineering</text>
+</a>
+</g>
+<!-- 94 -->
+<g id="node128" class="node"><title>94</title>
+<a xlink:href="../modules_zorba_excel_Math.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math";>
+<ellipse fill="white" stroke="white" cx="2713" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="2713" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">math</text>
+</a>
+</g>
+<!-- 89&#45;&gt;94 -->
+<g id="edge260" class="edge"><title>89-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/engineering, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2837.68,-431.631C2848.94,-425.815 2862.07,-419.056 2874,-413 2881.09,-409.4 2885.82,-411.763 2890,-405 2903.32,-383.45 2901.95,-313.336 2890,-291 2859.91,-234.779 2789.9,-200.719 2747.5,-184.5"/>
+<polygon fill="black" stroke="black" points="2748.46,-181.125 2737.87,-180.941 2746.03,-187.691 2748.46,-181.125"/>
+</a>
+</g>
+<!-- 89&#45;&gt;97 -->
+<g id="edge258" class="edge"><title>89-&gt;97</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/engineering, TO: http://www.zorba-xquery.com/modules/excel/text";>
+<path fill="none" stroke="black" d="M2835.61,-431.317C2847.11,-425.118 2860.98,-418.157 2874,-413 2886.03,-408.233 2891.98,-413.19 2902,-405 2918.4,-391.594 2929,-369.891 2935.3,-352.621"/>
+<polygon fill="black" stroke="black" points="2938.64,-353.656 2938.52,-343.062 2932.01,-351.418 2938.64,-353.656"/>
+</a>
+</g>
+<!-- 90 -->
+<g id="node122" class="node"><title>90</title>
+<a xlink:href="../modules_zorba_excel_Information.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/information";>
+<ellipse fill="white" stroke="white" cx="2825" cy="-325" rx="52.4675" ry="18"/>
+<text text-anchor="middle" x="2825" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">information</text>
+</a>
+</g>
+<!-- 90&#45;&gt;94 -->
+<g id="edge262" class="edge"><title>90-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/information, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2812.59,-307.263C2792.7,-280.452 2753.62,-227.765 2730.78,-196.966"/>
+<polygon fill="black" stroke="black" points="2733.56,-194.845 2724.79,-188.899 2727.94,-199.016 2733.56,-194.845"/>
+</a>
+</g>
+<!-- 91 -->
+<g id="node124" class="node"><title>91</title>
+<a xlink:href="../modules_zorba_excel_Logical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/logical";>
+<ellipse fill="white" stroke="white" cx="2637" cy="-447" rx="34.1708" ry="18"/>
+<text text-anchor="middle" x="2637" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">logical</text>
+</a>
+</g>
+<!-- 92 -->
+<g id="node126" class="node"><title>92</title>
+<a xlink:href="../modules_zorba_excel_Lookup.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/lookup";>
+<ellipse fill="white" stroke="white" cx="2713" cy="-325" rx="35.1455" ry="18"/>
+<text text-anchor="middle" x="2713" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">lookup</text>
+</a>
+</g>
+<!-- 92&#45;&gt;94 -->
+<g id="edge264" class="edge"><title>92-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/lookup, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2713,-306.972C2713,-281.03 2713,-231.357 2713,-200.326"/>
+<polygon fill="black" stroke="black" points="2716.5,-200.198 2713,-190.198 2709.5,-200.198 2716.5,-200.198"/>
+</a>
+</g>
+<!-- 93 -->
+<g id="node130" class="node"><title>93</title>
+<a xlink:href="../modules_zorba_excel_Math Sumproduct.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/math-sumproduct";>
+<ellipse fill="white" stroke="white" cx="2581" cy="-325" rx="73.1654" ry="18"/>
+<text text-anchor="middle" x="2581" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">math-sumproduct</text>
+</a>
+</g>
+<!-- 93&#45;&gt;94 -->
+<g id="edge266" class="edge"><title>93-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/math-sumproduct, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2595.63,-307.263C2619.42,-280.055 2666.49,-226.201 2693.23,-195.614"/>
+<polygon fill="black" stroke="black" points="2695.94,-197.839 2699.88,-188.007 2690.66,-193.232 2695.94,-197.839"/>
+</a>
+</g>
+<!-- 96 -->
+<g id="node132" class="node"><title>96</title>
+<a xlink:href="../modules_zorba_excel_Statistical.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical";>
+<ellipse fill="white" stroke="white" cx="2440" cy="-325" rx="44.2946" ry="18"/>
+<text text-anchor="middle" x="2440" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">statistical</text>
+</a>
+</g>
+<!-- 96&#45;&gt;94 -->
+<g id="edge272" class="edge"><title>96-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2463.88,-309.686C2473.77,-303.817 2485.39,-297.006 2496,-291 2562.26,-253.476 2641,-211.235 2683.03,-188.874"/>
+<polygon fill="black" stroke="black" points="2684.73,-191.936 2691.92,-184.153 2681.45,-185.755 2684.73,-191.936"/>
+</a>
+</g>
+<!-- 95 -->
+<g id="node134" class="node"><title>95</title>
+<a xlink:href="../modules_zorba_excel_Statistical Zorba.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/excel/statistical-zorba";>
+<ellipse fill="white" stroke="white" cx="2450" cy="-447" rx="65.9423" ry="18"/>
+<text text-anchor="middle" x="2450" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">statistical-zorba</text>
+</a>
+</g>
+<!-- 95&#45;&gt;94 -->
+<g id="edge268" class="edge"><title>95-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical-zorba, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2413.3,-431.822C2401.83,-425.447 2390.49,-416.671 2384,-405 2359.38,-360.718 2354.84,-332.435 2384,-291 2451.1,-195.652 2602.8,-176.958 2674.32,-173.565"/>
+<polygon fill="black" stroke="black" points="2674.82,-177.048 2684.68,-173.155 2674.55,-170.054 2674.82,-177.048"/>
+</a>
+</g>
+<!-- 95&#45;&gt;96 -->
+<g id="edge270" class="edge"><title>95-&gt;96</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/statistical-zorba, TO: http://www.zorba-xquery.com/modules/excel/statistical";>
+<path fill="none" stroke="black" d="M2448.57,-428.807C2446.93,-409.114 2444.22,-376.583 2442.28,-353.39"/>
+<polygon fill="black" stroke="black" points="2445.75,-352.836 2441.43,-343.161 2438.77,-353.417 2445.75,-352.836"/>
+</a>
+</g>
+<!-- 97&#45;&gt;94 -->
+<g id="edge274" class="edge"><title>97-&gt;94</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/excel/text, TO: http://www.zorba-xquery.com/modules/excel/math";>
+<path fill="none" stroke="black" d="M2926.99,-310.374C2919.55,-304.239 2910.49,-297.035 2902,-291 2847.36,-252.16 2780.07,-211.827 2742.31,-189.823"/>
+<polygon fill="black" stroke="black" points="2743.78,-186.628 2733.37,-184.636 2740.27,-192.682 2743.78,-186.628"/>
+</a>
+</g>
+<!-- 18 -->
+<g id="node138" class="node"><title>18</title>
+<a xlink:href="../modules_zorba_Full-Text.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/full-text";>
+<ellipse fill="white" stroke="white" cx="2107" cy="-447" rx="38.4949" ry="18"/>
+<text text-anchor="middle" x="2107" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">full-text</text>
+</a>
+</g>
+<!-- 57 -->
+<g id="node140" class="node"><title>57</title>
+<a xlink:href="../modules_zorba_Geo Projection.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/geoproj";>
+<ellipse fill="white" stroke="white" cx="891" cy="-325" rx="37.5442" ry="18"/>
+<text text-anchor="middle" x="891" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">geoproj</text>
+</a>
+</g>
+<!-- 57&#45;&gt;13 -->
+<g id="edge208" class="edge"><title>57-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/geoproj, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M910.556,-309.531C921.313,-302.464 935.239,-294.702 949,-291 974.886,-284.036 1890.73,-296.304 1914,-283 1945.07,-265.241 1963.13,-226.443 1972.28,-200.012"/>
+<polygon fill="black" stroke="black" points="1975.7,-200.81 1975.46,-190.217 1969.05,-198.647 1975.7,-200.81"/>
+</a>
+</g>
+<!-- 77 -->
+<g id="node143" class="node"><title>77</title>
+<a xlink:href="../modules_zorba_image_Animation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/animation";>
+<ellipse fill="white" stroke="white" cx="1578" cy="-447" rx="46.2191" ry="18"/>
+<text text-anchor="middle" x="1578" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">animation</text>
+</a>
+</g>
+<!-- Magick -->
+<g id="node225" class="node"><title>Magick</title>
+<a xlink:href="http://www.imagemagick.org/Magick++/"; xlink:title="Magick++ C++ Library">
+<polygon fill="none" stroke="red" points="6475.25,-91 6420.75,-91 6416.75,-87 6416.75,-55 6471.25,-55 6475.25,-59 6475.25,-91"/>
+<polyline fill="none" stroke="red" points="6471.25,-87 6416.75,-87 "/>
+<polyline fill="none" stroke="red" points="6471.25,-87 6471.25,-55 "/>
+<polyline fill="none" stroke="red" points="6471.25,-87 6475.25,-91 "/>
+<text text-anchor="middle" x="6446" y="-69.3" font-family="Times,serif" font-size="14.00">Magick</text>
+</a>
+</g>
+<!-- 77&#45;&gt;Magick -->
+<g id="edge160" class="edge"><title>77-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/animation, TO: Magick">
+<path fill="none" stroke="red" d="M1598.61,-430.803C1609.21,-423.918 1622.68,-416.538 1636,-413 1695.01,-397.33 5972.9,-420.346 6032,-405 6140.22,-376.898 6182.11,-370.269 6252,-283 6296.31,-227.675 6241.83,-174.496 6297,-130 6316.08,-114.614 6385.27,-133.329 6407,-122 6416.71,-116.937 6424.88,-108.289 6431.18,-99.7158"/>
+<polygon fill="red" stroke="red" points="6434.17,-101.55 6436.86,-91.3033 6428.37,-97.6341 6434.17,-101.55"/>
+</a>
+</g>
+<!-- 74 -->
+<g id="node145" class="node"><title>74</title>
+<a xlink:href="../modules_zorba_image_Basic.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/basic";>
+<ellipse fill="white" stroke="white" cx="1677" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="1677" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">basic</text>
+</a>
+</g>
+<!-- 74&#45;&gt;Magick -->
+<g id="edge154" class="edge"><title>74-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/basic, TO: Magick">
+<path fill="none" stroke="red" d="M1690.67,-431.049C1698.01,-424.133 1707.66,-416.654 1718,-413 1732.97,-407.71 6277.97,-415.354 6290,-405 6383.72,-324.361 6242.62,-215.424 6332,-130 6344.12,-118.419 6392.27,-129.997 6407,-122 6416.63,-116.775 6424.77,-108.093 6431.09,-99.5391"/>
+<polygon fill="red" stroke="red" points="6434.06,-101.398 6436.79,-91.1603 6428.27,-97.4628 6434.06,-101.398"/>
+</a>
+</g>
+<!-- 69 -->
+<g id="node147" class="node"><title>69</title>
+<a xlink:href="../modules_zorba_image_Graphviz.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/graphviz";>
+<ellipse fill="white" stroke="white" cx="1772" cy="-447" rx="41.394" ry="18"/>
+<text text-anchor="middle" x="1772" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">graphviz</text>
+</a>
+</g>
+<!-- Graphviz -->
+<g id="node231" class="node"><title>Graphviz</title>
+<a xlink:href="http://www.graphviz.org/"; xlink:title="Graphviz - Graph Visualization Software">
+<polygon fill="none" stroke="red" points="6560.25,-91 6497.75,-91 6493.75,-87 6493.75,-55 6556.25,-55 6560.25,-59 6560.25,-91"/>
+<polyline fill="none" stroke="red" points="6556.25,-87 6493.75,-87 "/>
+<polyline fill="none" stroke="red" points="6556.25,-87 6556.25,-55 "/>
+<polyline fill="none" stroke="red" points="6556.25,-87 6560.25,-91 "/>
+<text text-anchor="middle" x="6527" y="-69.3" font-family="Times,serif" font-size="14.00">Graphviz</text>
+</a>
+</g>
+<!-- 69&#45;&gt;Graphviz -->
+<g id="edge148" class="edge"><title>69-&gt;Graphviz</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/graphviz, TO: Graphviz">
+<path fill="none" stroke="red" d="M1791.03,-430.815C1800.86,-423.933 1813.42,-416.552 1826,-413 1841.04,-408.753 6316.22,-415.28 6328,-405 6420.95,-323.863 6275.77,-214.156 6366,-130 6385.22,-112.074 6460.38,-133.526 6484,-122 6494.36,-116.943 6503.35,-108.178 6510.39,-99.5105"/>
+<polygon fill="red" stroke="red" points="6513.31,-101.45 6516.53,-91.3542 6507.72,-97.2419 6513.31,-101.45"/>
+</a>
+</g>
+<!-- 75 -->
+<g id="node149" class="node"><title>75</title>
+<a xlink:href="../modules_zorba_image_Manipulation.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/manipulation";>
+<ellipse fill="white" stroke="white" cx="1896" cy="-447" rx="57.2688" ry="18"/>
+<text text-anchor="middle" x="1896" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">manipulation</text>
+</a>
+</g>
+<!-- 75&#45;&gt;Magick -->
+<g id="edge156" class="edge"><title>75-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/manipulation, TO: Magick">
+<path fill="none" stroke="red" d="M1921.28,-430.776C1934.18,-423.885 1950.4,-416.508 1966,-413 1980.78,-409.677 6315.96,-414.184 6328,-405 6428.83,-328.109 6348.1,-243.815 6404,-130 6409.33,-119.143 6416.87,-108.263 6424.09,-99.0198"/>
+<polygon fill="red" stroke="red" points="6426.98,-101.011 6430.55,-91.0383 6421.54,-96.6039 6426.98,-101.011"/>
+</a>
+</g>
+<!-- 76 -->
+<g id="node151" class="node"><title>76</title>
+<a xlink:href="../modules_zorba_image_Paint.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/image/paint";>
+<ellipse fill="white" stroke="white" cx="2007" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="2007" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">paint</text>
+</a>
+</g>
+<!-- 76&#45;&gt;Magick -->
+<g id="edge158" class="edge"><title>76-&gt;Magick</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/image/paint, TO: Magick">
+<path fill="none" stroke="red" d="M2022.95,-431.697C2031.96,-424.583 2043.84,-416.724 2056,-413 2072.1,-408.069 6894.1,-416.918 6906,-405 6941.8,-369.144 6930.34,-335.437 6906,-291 6842.15,-174.436 6780.66,-170.263 6654,-130 6617.96,-118.543 6517.65,-139.266 6484,-122 6474.35,-117.051 6466.36,-108.425 6460.24,-99.8388"/>
+<polygon fill="red" stroke="red" points="6463.13,-97.8722 6454.74,-91.4029 6457.27,-101.693 6463.13,-97.8722"/>
+</a>
+</g>
+<!-- 4 -->
+<g id="node154" class="node"><title>4</title>
+<a xlink:href="../modules_zorba_input_output_Fetch.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/fetch";>
+<ellipse fill="white" stroke="white" cx="5753" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="5753" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">fetch</text>
+</a>
+</g>
+<!-- 2&#45;&gt;1 -->
+<g id="edge166" class="edge"><title>2-&gt;1</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: http://expath.org/ns/error";>
+<path fill="none" stroke="black" d="M5856.92,-190.055C5864.63,-220.018 5884.99,-277.66 5929,-287 5943.73,-290.125 6456.27,-290.125 6471,-287 6509.03,-278.928 6525.61,-231.446 6532.49,-200.072"/>
+<polygon fill="black" stroke="black" points="6535.95,-200.62 6534.46,-190.13 6529.08,-199.255 6535.95,-200.62"/>
+</a>
+</g>
+<!-- 2&#45;&gt;cURL -->
+<g id="edge126" class="edge"><title>2-&gt;cURL</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/http-client, TO: cURL">
+<path fill="none" stroke="red" d="M5872.2,-155.431C5884.92,-146.117 5902.46,-135.124 5920,-130 5942.13,-123.534 6314.47,-132.511 6335,-122 6344.5,-117.137 6352.16,-108.482 6357.93,-99.8475"/>
+<polygon fill="red" stroke="red" points="6361.09,-101.387 6363.26,-91.0168 6355.1,-97.7689 6361.09,-101.387"/>
+</a>
+</g>
+<!-- 87 -->
+<g id="node158" class="node"><title>87</title>
+<a xlink:href="../modules_zorba_input_output_IMAP.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/imap";>
+<ellipse fill="white" stroke="white" cx="5671" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="5671" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">imap</text>
+</a>
+</g>
+<!-- cclient -->
+<g id="node224" class="node"><title>cclient</title>
+<a xlink:href="http://www.washington.edu/imap/"; xlink:title="c-client library part of UW IMAP toolkit">
+<polygon fill="none" stroke="red" points="6106,-91 6056,-91 6052,-87 6052,-55 6102,-55 6106,-59 6106,-91"/>
+<polyline fill="none" stroke="red" points="6102,-87 6052,-87 "/>
+<polyline fill="none" stroke="red" points="6102,-87 6102,-55 "/>
+<polyline fill="none" stroke="red" points="6102,-87 6106,-91 "/>
+<text text-anchor="middle" x="6079" y="-69.3" font-family="Times,serif" font-size="14.00">cclient</text>
+</a>
+</g>
+<!-- 87&#45;&gt;cclient -->
+<g id="edge164" class="edge"><title>87-&gt;cclient</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/email/imap, TO: cclient">
+<path fill="none" stroke="red" d="M5682.53,-155.274C5689.93,-146.389 5700.32,-135.908 5712,-130 5769.38,-100.968 5960.28,-83.1716 6041.69,-76.7337"/>
+<polygon fill="red" stroke="red" points="6042.28,-80.1991 6051.98,-75.9353 6041.74,-73.2201 6042.28,-80.1991"/>
+</a>
+</g>
+<!-- 55 -->
+<g id="node160" class="node"><title>55</title>
+<a xlink:href="../modules_zorba_input_output_Process.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/process";>
+<ellipse fill="white" stroke="white" cx="5581" cy="-172" rx="37.0701" ry="18"/>
+<text text-anchor="middle" x="5581" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">process</text>
+</a>
+</g>
+<!-- 54 -->
+<g id="node161" class="node"><title>54</title>
+<a xlink:href="../modules_zorba_input_output_Process.html" xlink:title="(External module) module uri=http://zorba.io/modules/process";>
+<ellipse fill="white" stroke="white" cx="5489" cy="-172" rx="37.0701" ry="18"/>
+<text text-anchor="middle" x="5489" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">process</text>
+</a>
+</g>
+<!-- 86 -->
+<g id="node163" class="node"><title>86</title>
+<a xlink:href="../modules_zorba_input_output_SMTP.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/email/smtp";>
+<ellipse fill="white" stroke="white" cx="5399" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="5399" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">smtp</text>
+</a>
+</g>
+<!-- 86&#45;&gt;cclient -->
+<g id="edge162" class="edge"><title>86-&gt;cclient</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/email/smtp, TO: cclient">
+<path fill="none" stroke="red" d="M5410.06,-155.414C5417.43,-146.342 5427.96,-135.617 5440,-130 5548.01,-79.6242 5922.1,-74.3392 6041.83,-73.9601"/>
+<polygon fill="red" stroke="red" points="6041.97,-77.4599 6051.96,-73.9381 6041.96,-70.4599 6041.97,-77.4599"/>
+</a>
+</g>
+<!-- 72 -->
+<g id="node165" class="node"><title>72</title>
+<a xlink:href="../modules_zorba_input_output_System.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/system";>
+<ellipse fill="white" stroke="white" cx="5310" cy="-172" rx="35.6194" ry="18"/>
+<text text-anchor="middle" x="5310" y="-168.3" font-family="Times,serif" font-size="14.00" fill="green">system</text>
+</a>
+</g>
+<!-- 21 -->
+<g id="node168" class="node"><title>21</title>
+<a xlink:href="../modules_zorba_introspection_Static Context.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/introspection/sctx";>
+<ellipse fill="white" stroke="white" cx="1453" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="1453" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">sctx</text>
+</a>
+</g>
+<!-- 52&#45;&gt;JDK -->
+<g id="edge134" class="edge"><title>52-&gt;JDK</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/util-jvm, TO: JDK">
+<path fill="none" stroke="red" d="M6018.83,-322.002C6077.66,-318.201 6185.55,-307.955 6214,-283 6267.57,-236 6231.39,-194.36 6262,-130 6266.93,-119.633 6273.55,-108.952 6279.82,-99.7337"/>
+<polygon fill="red" stroke="red" points="6282.79,-101.599 6285.66,-91.4019 6277.05,-97.5794 6282.79,-101.599"/>
+</a>
+</g>
+<!-- 63 -->
+<g id="node173" class="node"><title>63</title>
+<a xlink:href="../modules_zorba_oauth_Client.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/client";>
+<ellipse fill="white" stroke="white" cx="594" cy="-447" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="594" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">client</text>
+</a>
+</g>
+<!-- 63&#45;&gt;50 -->
+<g id="edge214" class="edge"><title>63-&gt;50</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://expath.org/ns/http-client";>
+<path fill="none" stroke="black" d="M623.855,-443.505C704.456,-436.907 933.26,-419.088 1124,-413 1260.26,-408.651 5896.07,-415.477 6032,-405 6203.9,-391.751 6405.32,-354.437 6497,-336.238"/>
+<polygon fill="black" stroke="black" points="6497.72,-339.663 6506.84,-334.274 6496.35,-332.799 6497.72,-339.663"/>
+</a>
+</g>
+<!-- 63&#45;&gt;61 -->
+<g id="edge212" class="edge"><title>63-&gt;61</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/cryptography/hmac";>
+<path fill="none" stroke="black" d="M623.772,-443.656C653.775,-439.906 699.959,-430.182 731,-405 747.625,-391.513 758.776,-369.815 765.547,-352.569"/>
+<polygon fill="black" stroke="black" points="768.89,-353.618 769.037,-343.024 762.316,-351.214 768.89,-353.618"/>
+</a>
+</g>
+<!-- 63&#45;&gt;19 -->
+<g id="edge216" class="edge"><title>63-&gt;19</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/converters/base64";>
+<path fill="none" stroke="black" d="M623.857,-443.565C704.462,-437.115 933.278,-419.632 1124,-413 1139.13,-412.474 2200.87,-412.532 2214,-405 2233.62,-393.745 2245.93,-370.733 2253,-352.435"/>
+<polygon fill="black" stroke="black" points="2256.35,-353.453 2256.4,-342.859 2249.75,-351.109 2256.35,-353.453"/>
+</a>
+</g>
+<!-- 64 -->
+<g id="node175" class="node"><title>64</title>
+<a xlink:href="../modules_zorba_oauth_Errors.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/oauth/error";>
+<ellipse fill="white" stroke="white" cx="594" cy="-325" rx="27.4223" ry="18"/>
+<text text-anchor="middle" x="594" y="-321.3" font-family="Times,serif" font-size="14.00" fill="green">error</text>
+</a>
+</g>
+<!-- 63&#45;&gt;64 -->
+<g id="edge218" class="edge"><title>63-&gt;64</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/oauth/error";>
+<path fill="none" stroke="black" d="M594,-428.807C594,-409.114 594,-376.583 594,-353.39"/>
+<polygon fill="black" stroke="black" points="597.5,-353.161 594,-343.161 590.5,-353.161 597.5,-353.161"/>
+</a>
+</g>
+<!-- 11 -->
+<g id="node199" class="node"><title>11</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_Random.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/random";>
+<ellipse fill="white" stroke="white" cx="1674" cy="-172" rx="38.0212" ry="18"/>
+<text text-anchor="middle" x="1674" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">random</text>
+</a>
+</g>
+<!-- 63&#45;&gt;11 -->
+<g id="edge210" class="edge"><title>63-&gt;11</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/oauth/client, TO: http://www.zorba-xquery.com/modules/random";>
+<path fill="none" stroke="black" d="M624.324,-444.643C678.955,-441.541 790.687,-431.986 817,-405 852.81,-368.275 796.173,-324.52 835,-291 851.591,-276.677 1605.63,-294.959 1624,-283 1652.12,-264.691 1664.62,-226.315 1670.04,-200.098"/>
+<polygon fill="black" stroke="black" points="1673.53,-200.508 1671.9,-190.038 1666.64,-199.235 1673.53,-200.508"/>
+</a>
+</g>
+<!-- 45 -->
+<g id="node178" class="node"><title>45</title>
+<a xlink:href="../modules_zorba_programming_languages_XQXQ.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqxq";>
+<ellipse fill="white" stroke="white" cx="1345" cy="-447" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="1345" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">xqxq</text>
+</a>
+</g>
+<!-- 51 -->
+<g id="node180" class="node"><title>51</title>
+<a xlink:href="../modules_zorba_programming_languages_XSLT.html" xlink:title="(External module) module uri=http://www.zorba-xquery.com/modules/languages/xslt";>
+<ellipse fill="white" stroke="white" cx="1265" cy="-447" rx="27" ry="18"/>
+<text text-anchor="middle" x="1265" y="-443.3" font-family="Times,serif" font-size="14.00" fill="green">xslt</text>
+</a>
+</g>
+<!-- libxslt -->
+<g id="node232" class="node"><title>libxslt</title>
+<a xlink:href="http://xmlsoft.org/XSLT/"; xlink:title="libxslt Library">
+<polygon fill="none" stroke="red" points="6794,-91 6744,-91 6740,-87 6740,-55 6790,-55 6794,-59 6794,-91"/>
+<polyline fill="none" stroke="red" points="6790,-87 6740,-87 "/>
+<polyline fill="none" stroke="red" points="6790,-87 6790,-55 "/>
+<polyline fill="none" stroke="red" points="6790,-87 6794,-91 "/>
+<text text-anchor="middle" x="6767" y="-69.3" font-family="Times,serif" font-size="14.00">libxslt</text>
+</a>
+</g>
+<!-- 51&#45;&gt;libxslt -->
+<g id="edge132" class="edge"><title>51-&gt;libxslt</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/languages/xslt, TO: libxslt">
+<path fill="none" stroke="red" d="M1277.87,-431.061C1284.81,-424.148 1294.01,-416.668 1304,-413 1322.26,-406.296 6892.26,-418.764 6906,-405 6941.8,-369.148 6920.24,-339.625 6906,-291 6893.87,-249.568 6821.03,-147.282 6785.91,-99.4383"/>
+<polygon fill="red" stroke="red" points="6788.57,-97.1399 6779.82,-91.1654 6782.93,-101.292 6788.57,-97.1399"/>
+</a>
+</g>
+<!-- 34 -->
+<g id="node185" class="node"><title>34</title>
+<a xlink:href="../modules_zorba_xqdoc_Batch.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc/batch";>
+<ellipse fill="white" stroke="white" cx="1166" cy="-447" rx="29.3479" ry="18"/>
+<text text-anchor="middle" x="1166" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">batch</text>
+</a>
+</g>
+<!-- 34&#45;&gt;44 -->
+<g id="edge182" class="edge"><title>34-&gt;44</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.functx.com/";>
+<path fill="none" stroke="black" d="M1184.42,-432.689C1195.8,-425.305 1211.03,-416.855 1226,-413 1302.39,-393.32 6829.17,-422.892 6906,-405 6953.47,-393.946 7003.09,-366.869 7034.48,-347.5"/>
+<polygon fill="black" stroke="black" points="7036.61,-350.293 7043.22,-342.012 7032.89,-344.364 7036.61,-350.293"/>
+</a>
+</g>
+<!-- 34&#45;&gt;40 -->
+<g id="edge184" class="edge"><title>34-&gt;40</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://expath.org/ns/file";>
+<path fill="none" stroke="black" d="M1184.42,-432.689C1195.8,-425.305 1211.03,-416.856 1226,-413 1244.63,-408.199 6751.66,-415.17 6768,-405 6786.21,-393.662 6796.17,-371.035 6801.46,-352.892"/>
+<polygon fill="black" stroke="black" points="6804.87,-353.67 6804,-343.111 6798.1,-351.911 6804.87,-353.67"/>
+</a>
+</g>
+<!-- 35 -->
+<g id="node187" class="node"><title>35</title>
+<a xlink:href="../modules_zorba_xqdoc_HTML.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc/html";>
+<ellipse fill="white" stroke="white" cx="988" cy="-325" rx="26.949" ry="18"/>
+<text text-anchor="middle" x="988" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">html</text>
+</a>
+</g>
+<!-- 34&#45;&gt;35 -->
+<g id="edge190" class="edge"><title>34-&gt;35</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.zorba-xquery.com/modules/xqdoc/html";>
+<path fill="none" stroke="black" d="M1136.72,-444.153C1106.15,-440.807 1058.38,-431.405 1027,-405 1011.11,-391.625 1001.1,-370.207 995.207,-353.044"/>
+<polygon fill="black" stroke="black" points="998.393,-351.507 992.054,-343.018 991.715,-353.607 998.393,-351.507"/>
+</a>
+</g>
+<!-- 36 -->
+<g id="node189" class="node"><title>36</title>
+<a xlink:href="../modules_zorba_xqdoc_Menu.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc/menu";>
+<ellipse fill="white" stroke="white" cx="1070" cy="-325" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="1070" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">menu</text>
+</a>
+</g>
+<!-- 34&#45;&gt;36 -->
+<g id="edge188" class="edge"><title>34-&gt;36</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.zorba-xquery.com/modules/xqdoc/menu";>
+<path fill="none" stroke="black" d="M1146.23,-433.653C1135.49,-426.266 1122.5,-416.16 1113,-405 1099.5,-389.149 1088.4,-368.38 1080.86,-352.116"/>
+<polygon fill="black" stroke="black" points="1083.91,-350.36 1076.64,-342.655 1077.52,-353.214 1083.91,-350.36"/>
+</a>
+</g>
+<!-- 17 -->
+<g id="node191" class="node"><title>17</title>
+<a xlink:href="../modules_zorba_xqdoc_XQDoc Core.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/xqdoc";>
+<ellipse fill="white" stroke="white" cx="1166" cy="-325" rx="32.2457" ry="18"/>
+<text text-anchor="middle" x="1166" y="-321.3" font-family="Times,serif" font-size="14.00" fill="red">xqdoc</text>
+</a>
+</g>
+<!-- 34&#45;&gt;17 -->
+<g id="edge186" class="edge"><title>34-&gt;17</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc/batch, TO: http://www.zorba-xquery.com/modules/xqdoc";>
+<path fill="none" stroke="black" d="M1166,-428.807C1166,-409.114 1166,-376.583 1166,-353.39"/>
+<polygon fill="black" stroke="black" points="1169.5,-353.161 1166,-343.161 1162.5,-353.161 1169.5,-353.161"/>
+</a>
+</g>
+<!-- 17&#45;&gt;4 -->
+<g id="edge170" class="edge"><title>17-&gt;4</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc, TO: http://www.zorba-xquery.com/modules/fetch";>
+<path fill="none" stroke="black" d="M1197.91,-322.082C1300.22,-316.035 1629.32,-297.397 1902,-291 1915.23,-290.69 5701.14,-290.558 5712,-283 5738.61,-264.478 5747.98,-226.499 5751.26,-200.396"/>
+<polygon fill="black" stroke="black" points="5754.75,-200.673 5752.3,-190.366 5747.79,-199.952 5754.75,-200.673"/>
+</a>
+</g>
+<!-- 17&#45;&gt;13 -->
+<g id="edge172" class="edge"><title>17-&gt;13</title>
+<a xlink:title="FROM: http://www.zorba-xquery.com/modules/xqdoc, TO: http://www.zorba-xquery.com/modules/schema";>
+<path fill="none" stroke="black" d="M1198.35,-323.996C1333.91,-323.74 1852.12,-320.312 1914,-283 1944.64,-264.524 1962.82,-225.909 1972.11,-199.713"/>
+<polygon fill="black" stroke="black" points="1975.5,-200.608 1975.35,-190.014 1968.86,-198.392 1975.5,-200.608"/>
+</a>
+</g>
+<!-- 3 -->
+<g id="node195" class="node"><title>3</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_Datetime.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/datetime";>
+<ellipse fill="white" stroke="white" cx="1860" cy="-172" rx="41.394" ry="18"/>
+<text text-anchor="middle" x="1860" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">datetime</text>
+</a>
+</g>
+<!-- 5 -->
+<g id="node197" class="node"><title>5</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_Math.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/math";>
+<ellipse fill="white" stroke="white" cx="1765" cy="-172" rx="28.3955" ry="18"/>
+<text text-anchor="middle" x="1765" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">math</text>
+</a>
+</g>
+<!-- 14 -->
+<g id="node201" class="node"><title>14</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_String.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/string";>
+<ellipse fill="white" stroke="white" cx="1581" cy="-172" rx="30.3206" ry="18"/>
+<text text-anchor="middle" x="1581" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">string</text>
+</a>
+</g>
+<!-- 15 -->
+<g id="node203" class="node"><title>15</title>
+<a xlink:href="../modules_zorba_xquery_data_model_atomic_URI.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/uri";>
+<ellipse fill="white" stroke="white" cx="1499" cy="-172" rx="27" ry="18"/>
+<text text-anchor="middle" x="1499" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">uri</text>
+</a>
+</g>
+<!-- 10 -->
+<g id="node206" class="node"><title>10</title>
+<a xlink:href="../modules_zorba_xquery_data_model_item_Item.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/item";>
+<ellipse fill="white" stroke="white" cx="2069" cy="-172" rx="27" ry="18"/>
+<text text-anchor="middle" x="2069" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">item</text>
+</a>
+</g>
+<!-- 9 -->
+<g id="node211" class="node"><title>9</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Node.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node";>
+<ellipse fill="white" stroke="white" cx="1404" cy="-172" rx="27.4223" ry="18"/>
+<text text-anchor="middle" x="1404" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">node</text>
+</a>
+</g>
+<!-- 8 -->
+<g id="node213" class="node"><title>8</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Node Position.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-position";>
+<ellipse fill="white" stroke="white" cx="1293" cy="-172" rx="59.2173" ry="18"/>
+<text text-anchor="middle" x="1293" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">node-position</text>
+</a>
+</g>
+<!-- 6 -->
+<g id="node215" class="node"><title>6</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Node Reference.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/node-reference";>
+<ellipse fill="white" stroke="white" cx="1146" cy="-172" rx="63.5411" ry="18"/>
+<text text-anchor="middle" x="1146" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">node-reference</text>
+</a>
+</g>
+<!-- 7 -->
+<g id="node217" class="node"><title>7</title>
+<a xlink:href="../modules_zorba_xquery_data_model_node_Reference.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/modules/reference";>
+<ellipse fill="white" stroke="white" cx="1014" cy="-172" rx="43.319" ry="18"/>
+<text text-anchor="middle" x="1014" y="-168.3" font-family="Times,serif" font-size="14.00" fill="red">reference</text>
+</a>
+</g>
+<!-- 38 -->
+<g id="node219" class="node"><title>38</title>
+<a xlink:href="../modules_zorba_Zorba Error Codes.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/errors";>
+<ellipse fill="white" stroke="white" cx="479" cy="-447" rx="31.2965" ry="18"/>
+<text text-anchor="middle" x="479" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">errors</text>
+</a>
+</g>
+<!-- 39 -->
+<g id="node221" class="node"><title>39</title>
+<a xlink:href="../modules_zorba_Zorba Warning Codes.html" xlink:title="(Zorba-core) module uri=http://www.zorba-xquery.com/warnings";>
+<ellipse fill="white" stroke="white" cx="343" cy="-447" rx="42.3456" ry="18"/>
+<text text-anchor="middle" x="343" y="-443.3" font-family="Times,serif" font-size="14.00" fill="red">warnings</text>
+</a>
+</g>
+</g>
+</svg>
\ No newline at end of file

=== added file 'doc/zorba/xqdoc/images/noise.png'
Binary files doc/zorba/xqdoc/images/noise.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/noise.png	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/noisepattern.png'
Binary files doc/zorba/xqdoc/images/noisepattern.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/noisepattern.png	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/open.png'
Binary files doc/zorba/xqdoc/images/open.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/open.png	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/plus.gif'
Binary files doc/zorba/xqdoc/images/plus.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/plus.gif	1970-01-01 00:00:00 +0000 differ
=== added file 'doc/zorba/xqdoc/images/separator1.gif'
Binary files doc/zorba/xqdoc/images/separator1.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/separator1.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/separator2.gif'
Binary files doc/zorba/xqdoc/images/separator2.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/separator2.gif	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/store.png'
Binary files doc/zorba/xqdoc/images/store.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/store.png	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/terminal.png'
Binary files doc/zorba/xqdoc/images/terminal.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/terminal.png	1970-01-01 00:00:00 +0000 differ
=== added file 'doc/zorba/xqdoc/images/text-free.png'
Binary files doc/zorba/xqdoc/images/text-free.png	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/text-free.png	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/tools.png'
Binary files doc/zorba/xqdoc/images/tools.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/tools.png	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/treeview-default-line.gif'
Binary files doc/zorba/xqdoc/images/treeview-default-line.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/treeview-default-line.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/treeview-default.gif'
Binary files doc/zorba/xqdoc/images/treeview-default.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/treeview-default.gif	1970-01-01 00:00:00 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/up.gif'
Binary files doc/zorba/xqdoc/images/up.gif	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/up.gif	1970-01-01 00:00:00 +0000 differ
=== added directory 'doc/zorba/xqdoc/images/xqdoc'
=== added file 'doc/zorba/xqdoc/images/xqdoc/External.gif'
Binary files doc/zorba/xqdoc/images/xqdoc/External.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/xqdoc/External.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/xqdoc/Nondeterministic.gif'
Binary files doc/zorba/xqdoc/images/xqdoc/Nondeterministic.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/xqdoc/Nondeterministic.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/xqdoc/Sequential.gif'
Binary files doc/zorba/xqdoc/images/xqdoc/Sequential.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/xqdoc/Sequential.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/xqdoc/Streamable.gif'
Binary files doc/zorba/xqdoc/images/xqdoc/Streamable.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/xqdoc/Streamable.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/xqdoc/Updating.gif'
Binary files doc/zorba/xqdoc/images/xqdoc/Updating.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/xqdoc/Updating.gif	2013-06-15 18:04:29 +0000 differ
=== added file 'doc/zorba/xqdoc/images/xqdoc/Variadic.gif'
Binary files doc/zorba/xqdoc/images/xqdoc/Variadic.gif	1970-01-01 00:00:00 +0000 and doc/zorba/xqdoc/images/xqdoc/Variadic.gif	2013-06-15 18:04:29 +0000 differ
=== removed file 'doc/zorba/xqdoc/images/zorba_logo.png'
Binary files doc/zorba/xqdoc/images/zorba_logo.png	2013-02-07 17:24:36 +0000 and doc/zorba/xqdoc/images/zorba_logo.png	1970-01-01 00:00:00 +0000 differ
=== added directory 'doc/zorba/xqdoc/js'
=== added file 'doc/zorba/xqdoc/js/jquery-1.7.2.min.js'
--- doc/zorba/xqdoc/js/jquery-1.7.2.min.js	1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/js/jquery-1.7.2.min.js	2013-06-15 18:04:29 +0000
@@ -0,0 +1,4 @@
+/*! jQuery v1.7.2 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"<!doctype html>":"")+"<html><body>"),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bD.test(a)?d(a,e):b_(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&f.type(b)==="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c){var d,e,g=f.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((g[d]?a:e||(e={}))[d]=c[d]);e&&f.extend(!0,a,e)}function bZ(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bS,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=bZ(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=bZ(a,c,d,e,"*",g));return l}function bY(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bO),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bB(a,b,c){var d=b==="width"?a.offsetWidth:a.offsetHeight,e=b==="width"?1:0,g=4;if(d>0){if(c!=="border")for(;e<g;e+=2)c||(d-=parseFloat(f.css(a,"padding"+bx[e]))||0),c==="margin"?d+=parseFloat(f.css(a,c+bx[e]))||0:d-=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0;return d+"px"}d=by(a,b);if(d<0||d==null)d=a.style[b];if(bt.test(d))return d;d=parseFloat(d)||0;if(c)for(;e<g;e+=2)d+=parseFloat(f.css(a,"padding"+bx[e]))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+bx[e]+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+bx[e]))||0);return d+"px"}function bo(a){var b=c.createElement("div");bh.appendChild(b),b.innerHTML=a.outerHTML;return b.firstChild}function bn(a){var b=(a.nodeName||"").toLowerCase();b==="input"?bm(a):b!=="script"&&typeof a.getElementsByTagName!="undefined"&&f.grep(a.getElementsByTagName("input"),bm)}function bm(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bl(a){return typeof a.getElementsByTagName!="undefined"?a.getElementsByTagName("*"):typeof a.querySelectorAll!="undefined"?a.querySelectorAll("*"):[]}function bk(a,b){var c;b.nodeType===1&&(b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c==="object"?b.outerHTML=a.outerHTML:c!=="input"||a.type!=="checkbox"&&a.type!=="radio"?c==="option"?b.selected=a.defaultSelected:c==="input"||c==="textarea"?b.defaultValue=a.defaultValue:c==="script"&&b.text!==a.text&&(b.text=a.text):(a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value)),b.removeAttribute(f.expando),b.removeAttribute("_submit_attached"),b.removeAttribute("_change_attached"))}function bj(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c,d,e,g=f._data(a),h=f._data(b,g),i=g.events;if(i){delete h.handle,h.events={};for(c in i)for(d=0,e=i[c].length;d<e;d++)f.event.add(b,c,i[c][d])}h.data&&(h.data=f.extend({},h.data))}}function bi(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function U(a){var b=V.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function T(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(O.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c<d;c++)b[a[c]]=!0;return b}var c=a.document,d=a.navigator,e=a.location,f=function(){function J(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(J,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:G?function(a){return a==null?"":G.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?E.call(c,a):e.merge(c,a)}return c},inArray:function(a,b,c){var d;if(b){if(H)return H.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=F.call(arguments,2),g=function(){return a.apply(c,f.concat(F.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h,i){var j,k=d==null,l=0,m=a.length;if(d&&typeof d=="object"){for(l in d)e.access(a,c,l,d[l],1,h,f);g=1}else if(f!==b){j=i===b&&e.isFunction(f),k&&(j?(j=c,c=function(a,b,c){return j.call(e(a),c)}):(c.call(a,f),c=null));if(c)for(;l<m;l++)c(a[l],d,j?f.call(a[l],l,c(a[l],d)):f,i);g=1}return g?a:k?c.call(a):m?c(a[0],d):h},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){I["[object "+b+"]"]=b.toLowerCase()}),z=e.uaMatch(y),z.browser&&(e.browser[z.browser]=!0,e.browser.version=z.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?B=function(){c.removeEventListener("DOMContentLoaded",B,!1),e.ready()}:c.attachEvent&&(B=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",B),e.ready())});return e}(),g={};f.Callbacks=function(a){a=a?g[a]||h(a):{};var c=[],d=[],e,i,j,k,l,m,n=function(b){var d,e,g,h,i;for(d=0,e=b.length;d<e;d++)g=b[d],h=f.type(g),h==="array"?n(g):h==="function"&&(!a.unique||!p.has(g))&&c.push(g)},o=function(b,f){f=f||[],e=!a.memory||[b,f],i=!0,j=!0,m=k||0,k=0,l=c.length;for(;c&&m<l;m++)if(c[m].apply(b,f)===!1&&a.stopOnFalse){e=!0;break}j=!1,c&&(a.once?e===!0?p.disable():c=[]:d&&d.length&&(e=d.shift(),p.fireWith(e[0],e[1])))},p={add:function(){if(c){var a=c.length;n(arguments),j?l=c.length:e&&e!==!0&&(k=a,o(e[0],e[1]))}return this},remove:function(){if(c){var b=arguments,d=0,e=b.length;for(;d<e;d++)for(var f=0;f<c.length;f++)if(b[d]===c[f]){j&&f<=l&&(l--,f<=m&&m--),c.splice(f--,1);if(a.unique)break}}return this},has:function(a){if(c){var b=0,d=c.length;for(;b<d;b++)if(a===c[b])return!0}return!1},empty:function(){c=[];return this},disable:function(){c=d=e=b;return this},disabled:function(){return!c},lock:function(){d=b,(!e||e===!0)&&p.disable();return this},locked:function(){return!d},fireWith:function(b,c){d&&(j?a.once||d.push([b,c]):(!a.once||!e)&&o(b,c));return this},fire:function(){p.fireWith(this,arguments);return this},fired:function(){return!!i}};return p};var i=[].slice;f.extend({Deferred:function(a){var b=f.Callbacks("once memory"),c=f.Callbacks("once memory"),d=f.Callbacks("memory"),e="pending",g={resolve:b,reject:c,notify:d},h={done:b.add,fail:c.add,progress:d.add,state:function(){return e},isResolved:b.fired,isRejected:c.fired,then:function(a,b,c){i.done(a).fail(b).progress(c);return this},always:function(){i.done.apply(i,arguments).fail.apply(i,arguments);return this},pipe:function(a,b,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[b,"reject"],progress:[c,"notify"]},function(a,b){var c=b[0],e=b[1],g;f.isFunction(c)?i[a](function(){g=c.apply(this,arguments),g&&f.isFunction(g.promise)?g.promise().then(d.resolve,d.reject,d.notify):d[e+"With"](this===i?d:this,[g])}):i[a](d[e])})}).promise()},promise:function(a){if(a==null)a=h;else for(var b in h)a[b]=h[b];return a}},i=h.promise({}),j;for(j in g)i[j]=g[j].fire,i[j+"With"]=g[j].fireWith;i.done(function(){e="resolved"},c.disable,d.lock).fail(function(){e="rejected"},b.disable,d.lock),a&&a.call(i,i);return i},when:function(a){function m(a){return function(b){e[a]=arguments.length>1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c<d;c++)b[c]&&b[c].promise&&f.isFunction(b[c].promise)?b[c].promise().then(l(c),j.reject,m(c)):--g;g||j.resolveWith(j,b)}else j!==a&&j.resolveWith(j,d?[a]:[]);return k}}),f.support=function(){var b,d,e,g,h,i,j,k,l,m,n,o,p=c.createElement("div"),q=c.documentElement;p.setAttribute("className","t"),p.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="<div "+n+"display:block;'><div style='"+t+"0;display:block;overflow:hidden;'></div></div>"+"<table "+n+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="<table><tr><td style='"+t+"0;display:none'></td><td>t</td></tr></table>",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e<g;e++)delete d[b[e]];if(!(c?m:f.isEmptyObject)(d))return}}if(!c){delete j[k].data;if(!m(j[k]))return}f.support.deleteExpando||!j.setInterval?delete j[k]:j[k]=null,i&&(f.support.deleteExpando?delete a[h]:a.removeAttribute?a.removeAttribute(h):a[h]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d,e,g,h,i,j=this[0],k=0,m=null;if(a===b){if(this.length){m=f.data(j);if(j.nodeType===1&&!f._data(j,"parsedAttrs")){g=j.attributes;for(i=g.length;k<i;k++)h=g[k].name,h.indexOf("data-")===0&&(h=f.camelCase(h.substring(5)),l(j,h,m[h]));f._data(j,"parsedAttrs",!0)}}return m}if(typeof a=="object")return this.each(function(){f.data(this,a)});d=a.split(".",2),d[1]=d[1]?"."+d[1]:"",e=d[1]+"!";return f.access(this,function(c){if(c===b){m=this.triggerHandler("getData"+e,[d[0]]),m===b&&j&&(m=f.data(j,a),m=l(j,a,m));return m===b&&d[1]?this.data(d[0]):m}d[1]=c,this.each(function(){var b=f(this);b.triggerHandler("setData"+e,d),f.data(this,a,c),b.triggerHandler("changeData"+e,d)})},null,c,arguments.length>1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length<d)return f.queue(this[0],a);return c===b?this:this.each(function(){var b=f.queue(this,a,c);a==="fx"&&b[0]!=="inprogress"&&f.dequeue(this,a)})},dequeue:function(a){return this.each(function(){f.dequeue(this,a)})},delay:function(a,b){a=f.fx?f.fx.speeds[a]||a:a,b=b||"fx";return this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,c){function m(){--h||d.resolveWith(e,[e])}typeof a!="string"&&(c=a,a=b),a=a||"fx";var d=f.Deferred(),e=this,g=e.length,h=1,i=a+"defer",j=a+"queue",k=a+"mark",l;while(g--)if(l=f.data(e[g],i,b,!0)||(f.data(e[g],j,b,!0)||f.data(e[g],k,b,!0))&&f.data(e[g],i,f.Callbacks("once memory"),!0))h++,l.add(m);m();return d.promise(c)}});var o=/[\n\t\r]/g,p=/\s+/,q=/\r/g,r=/^(?:button|input)$/i,s=/^(?:button|input|object|select|textarea)$/i,t=/^a(?:rea)?$/i,u=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,v=f.support.getSetAttribute,w,x,y;f.fn.extend({attr:function(a,b){return f.access(this,f.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{g=" "+e.className+" ";for(h=0,i=b.length;h<i;h++)~g.indexOf(" "+b[h]+" ")||(g+=b[h]+" ");e.className=f.trim(g)}}}return this},removeClass:function(a){var c,d,e,g,h,i,j;if(f.isFunction(a))return this.each(function(b){f(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a=="string"||a===b){c=(a||"").split(p);for(d=0,e=this.length;d<e;d++){g=this[d];if(g.nodeType===1&&g.className)if(a){h=(" "+g.className+" ").replace(o," ");for(i=0,j=c.length;i<j;i++)h=h.replace(" "+c[i]+" "," ");g.className=f.trim(h)}else g.className=""}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";if(f.isFunction(a))return this.each(function(c){f(this).toggleClass(a.call(this,c,this.className,b),b)});return this.each(function(){if(c==="string"){var e,g=0,h=f(this),i=b,j=a.split(p);while(e=j[g++])i=d?i:!h.hasClass(e),h[i?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&f._data(this,"__className__",this.className),this.className=this.className||a===!1?"":f._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(" "+this[c].className+" ").replace(o," ").indexOf(b)>-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c<d;c++){e=i[c];if(e.selected&&(f.support.optDisabled?!e.disabled:e.getAttribute("disabled")===null)&&(!e.parentNode.disabled||!f.nodeName(e.parentNode,"optgroup"))){b=f(e).val();if(j)return b;h.push(b)}}if(j&&!h.length&&i.length)return f(i[g]).val();return h},set:function(a,b){var c=f.makeArray(b);f(a).find("option").each(function(){this.selected=f.inArray(f(this).val(),c)>=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i<g;i++)e=d[i],e&&(c=f.propFix[e]||e,h=u.test(e),h||f.attr(a,e,""),a.removeAttribute(v?e:c),h&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(r.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(w&&f.nodeName(a,"button"))return w.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(w&&f.nodeName(a,"button"))return w.set(a,b,c);a.value=b}}},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(a,c,d){var e,g,h,i=a.nodeType;if(!!a&&i!==3&&i!==8&&i!==2){h=i!==1||!f.isXMLDoc(a),h&&(c=f.propFix[c]||c,g=f.propHooks[c]);return d!==b?g&&"set"in g&&(e=g.set(a,d,c))!==b?e:a[c]=d:g&&"get"in g&&(e=g.get(a,c))!==null?e:a[c]}},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):s.test(a.nodeName)||t.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabindex=f.propHooks.tabIndex,x={get:function(a,c){var d,e=f.prop(a,c);return e===!0||typeof e!="boolean"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},v||(y={name:!0,id:!0,coords:!0},w=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&(y[c]?d.nodeValue!=="":d.specified)?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.attrHooks.tabindex.set=w.set,f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})}),f.attrHooks.contenteditable={get:w.get,set:function(a,b,c){b===""&&(b="false"),w.set(a,b,c)}}),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.enctype||(f.propFix.enctype="encoding"),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(
+a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]||{},m=(g?s.delegateType:s.bindType)||m,s=f.event.special[m]||{},o=f.extend({type:m,origType:l[1],data:e,handler:d,guid:d.guid,selector:g,quick:g&&G(g),namespace:n.join(".")},p),r=j[m];if(!r){r=j[m]=[],r.delegateCount=0;if(!s.setup||s.setup.call(a,e,n,i)===!1)a.addEventListener?a.addEventListener(m,i,!1):a.attachEvent&&a.attachEvent("on"+m,i)}s.add&&(s.add.call(a,o),o.handler.guid||(o.handler.guid=d.guid)),g?r.splice(r.delegateCount++,0,o):r.push(o),f.event.global[m]=!0}a=null}},global:{},remove:function(a,b,c,d,e){var g=f.hasData(a)&&f._data(a),h,i,j,k,l,m,n,o,p,q,r,s;if(!!g&&!!(o=g.events)){b=f.trim(I(b||"")).split(" ");for(h=0;h<b.length;h++){i=A.exec(b[h])||[],j=k=i[1],l=i[2];if(!j){for(j in o)f.event.remove(a,j+b[h],c,d,!0);continue}p=f.event.special[j]||{},j=(d?p.delegateType:p.bindType)||j,r=o[j]||[],m=r.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(n=0;n<r.length;n++)s=r[n],(e||k===s.origType)&&(!c||c.guid===s.guid)&&(!l||l.test(s.namespace))&&(!d||d===s.selector||d==="**"&&s.selector)&&(r.splice(n--,1),s.selector&&r.delegateCount--,p.remove&&p.remove.call(a,s));r.length===0&&m!==r.length&&((!p.teardown||p.teardown.call(a,l)===!1)&&f.removeEvent(a,j,g.handle),delete o[j])}f.isEmptyObject(o)&&(q=g.handle,q&&(q.elem=null),f.removeData(a,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,e,g){if(!e||e.nodeType!==3&&e.nodeType!==8){var h=c.type||c,i=[],j,k,l,m,n,o,p,q,r,s;if(E.test(h+f.event.triggered))return;h.indexOf("!")>=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;l<r.length&&!c.isPropagationStopped();l++)m=r[l][0],c.type=r[l][1],q=(f._data(m,"events")||{})[c.type]&&f._data(m,"handle"),q&&q.apply(m,d),q=o&&m[o],q&&f.acceptData(m)&&q.apply(m,d)===!1&&c.preventDefault();c.type=h,!g&&!c.isDefaultPrevented()&&(!p._default||p._default.apply(e.ownerDocument,d)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)&&o&&e[h]&&(h!=="focus"&&h!=="blur"||c.target.offsetWidth!==0)&&!f.isWindow(e)&&(n=e[o],n&&(e[o]=null),f.event.triggered=h,e[h](),f.event.triggered=b,n&&(e[o]=n));return c.result}},dispatch:function(c){c=f.event.fix(c||a.event);var d=(f._data(this,"events")||{})[c.type]||[],e=d.delegateCount,g=[].slice.call(arguments,0),h=!c.exclusive&&!c.namespace,i=f.event.special[c.type]||{},j=[],k,l,m,n,o,p,q,r,s,t,u;g[0]=c,c.delegateTarget=this;if(!i.preDispatch||i.preDispatch.call(this,c)!==!1){if(e&&(!c.button||c.type!=="click")){n=f(this),n.context=this.ownerDocument||this;for(m=c.target;m!=this;m=m.parentNode||this)if(m.disabled!==!0){p={},r=[],n[0]=m;for(k=0;k<e;k++)s=d[k],t=s.selector,p[t]===b&&(p[t]=s.quick?H(m,s.quick):n.is(t)),p[t]&&r.push(s);r.length&&j.push({elem:m,matches:r})}}d.length>e&&j.push({elem:this,matches:d.slice(e)});for(k=0;k<j.length&&!c.isPropagationStopped();k++){q=j[k],c.currentTarget=q.elem;for(l=0;l<q.matches.length&&!c.isImmediatePropagationStopped();l++){s=q.matches[l];if(h||!c.namespace&&!s.namespace||c.namespace_re&&c.namespace_re.test(s.namespace))c.data=s.data,c.handleObj=s,o=((f.event.special[s.origType]||{}).handle||s.handler).apply(q.elem,g),o!==b&&(c.result=o,o===!1&&(c.preventDefault(),c.stopPropagation()))}}i.postDispatch&&i.postDispatch.call(this,c);return c.result}},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode);return a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,d){var e,f,g,h=d.button,i=d.fromElement;a.pageX==null&&d.clientX!=null&&(e=a.target.ownerDocument||c,f=e.documentElement,g=e.body,a.pageX=d.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=d.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?d.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0);return a}},fix:function(a){if(a[f.expando])return a;var d,e,g=a,h=f.event.fixHooks[a.type]||{},i=h.props?this.props.concat(h.props):this.props;a=f.Event(g);for(d=i.length;d;)e=i[--d],a[e]=g[e];a.target||(a.target=g.srcElement||c),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey===b&&(a.metaKey=a.ctrlKey);return h.filter?h.filter(a,g):a},special:{ready:{setup:f.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(a,b,c){f.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=f.extend(new f.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?f.event.trigger(e,null,b):f.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},f.event.handle=f.event.dispatch,f.removeEvent=c.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent&&a.detachEvent("on"+b,c)},f.Event=function(a,b){if(!(this instanceof f.Event))return new f.Event(a,b);a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?K:J):this.type=a,b&&f.extend(this,b),this.timeStamp=a&&a.timeStamp||f.now(),this[f.expando]=!0},f.Event.prototype={preventDefault:function(){this.isDefaultPrevented=K;var a=this.originalEvent;!a||(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=K;var a=this.originalEvent;!a||(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=K,this.stopPropagation()},isDefaultPrevented:J,isPropagationStopped:J,isImmediatePropagationStopped:J},f.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){f.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c=this,d=a.relatedTarget,e=a.handleObj,g=e.selector,h;if(!d||d!==c&&!f.contains(c,d))a.type=e.origType,h=e.handler.apply(this,arguments),a.type=b;return h}}}),f.support.submitBubbles||(f.event.special.submit={setup:function(){if(f.nodeName(this,"form"))return!1;f.event.add(this,"click._submit keypress._submit",function(a){var c=a.target,d=f.nodeName(c,"input")||f.nodeName(c,"button")?c.form:b;d&&!d._submit_attached&&(f.event.add(d,"submit._submit",function(a){a._submit_bubble=!0}),d._submit_attached=!0)})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&f.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){if(f.nodeName(this,"form"))return!1;f.event.remove(this,"._submit")}}),f.support.changeBubbles||(f.event.special.change={setup:function(){if(z.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")f.event.add(this,"propertychange._change",function(a){a.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),f.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1,f.event.simulate("change",this,a,!0))});return!1}f.event.add(this,"beforeactivate._change",function(a){var b=a.target;z.test(b.nodeName)&&!b._change_attached&&(f.event.add(b,"change._change",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&f.event.simulate("change",this.parentNode,a,!0)}),b._change_attached=!0)})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!=="radio"&&b.type!=="checkbox")return a.handleObj.handler.apply(this,arguments)},teardown:function(){f.event.remove(this,"._change");return z.test(this.nodeName)}}),f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){var d=0,e=function(a){f.event.simulate(b,a.target,f.event.fix(a),!0)};f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.fn.extend({on:function(a,c,d,e,g){var h,i;if(typeof a=="object"){typeof c!="string"&&(d=d||c,c=b);for(i in a)this.on(i,c,d,a[i],g);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c=="string"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=J;else if(!e)return this;g===1&&(h=e,e=function(a){f().off(a);return h.apply(this,arguments)},e.guid=h.guid||(h.guid=f.guid++));return this.each(function(){f.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){if(a&&a.preventDefault&&a.handleObj){var e=a.handleObj;f(a.delegateTarget).off(e.namespace?e.origType+"."+e.namespace:e.origType,e.selector,e.handler);return this}if(typeof a=="object"){for(var g in a)this.off(g,c,a[g]);return this}if(c===!1||typeof c=="function")d=c,c=b;d===!1&&(d=J);return this.each(function(){f.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){f(this.context).on(a,this.selector,b,c);return this},die:function(a,b){f(this.context).off(a,this.selector||"**",b);return this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length==1?this.off(a,"**"):this.off(b,a,c)},trigger:function(a,b){return this.each(function(){f.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return f.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||f.guid++,d=0,e=function(c){var e=(f._data(this,"lastToggle"+a.guid)||0)%d;f._data(this,"lastToggle"+a.guid,e+1),c.preventDefault();return b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),f.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(a,b){f.fn[b]=function(a,c){c==null&&(c=a,a=null);return arguments.length>0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}if(j.nodeType===1){g||(j[d]=c,j.sizset=h);if(typeof b!="string"){if(j===b){k=!0;break}}else if(m.filter(b,[j]).length>0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h<i;h++){var j=e[h];if(j){var k=!1;j=j[a];while(j){if(j[d]===c){k=e[j.sizset];break}j.nodeType===1&&!g&&(j[d]=c,j.sizset=h);if(j.nodeName.toLowerCase()===b){k=j;break}j=j[a]}e[h]=k}}}var a=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b<a.length;b++)a[b]===a[b-1]&&a.splice(b--,1)}return a},m.matches=function(a,b){return m(a,null,null,b)},m.matchesSelector=function(a,b){return m(b,null,null,[a]).length>0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e<f;e++){h=o.order[e];if(g=o.leftMatch[h].exec(a)){i=g[1],g.splice(1,1);if(i.substr(i.length-1)!=="\\"){g[1]=(g[1]||"").replace(j,""),d=o.find[h](g,b,c);if(d!=null){a=a.replace(o.match[h],"");break}}}}d||(d=typeof b.getElementsByTagName!="undefined"?b.getElementsByTagName("*"):[]);return{set:d,expr:a}},m.filter=function(a,c,d,e){var f,g,h,i,j,k,l,n,p,q=a,r=[],s=c,t=c&&c[0]&&m.isXML(c[0]);while(a&&c.length){for(h in o.filter)if((f=o.leftMatch[h].exec(a))!=null&&f[2]){k=o.filter[h],l=f[1],g=!1,f.splice(1,1);if(l.substr(l.length-1)==="\\")continue;s===r&&(r=[]);if(o.preFilter[h]){f=o.preFilter[h](f,s,d,r,e,t);if(!f)g=i=!0;else if(f===!0)continue}if(f)for(n=0;(j=s[n])!=null;n++)j&&(i=k(j,f,n,s),p=e^i,d&&i!=null?p?g=!0:s[n]=!1:p&&(r.push(j),g=!0));if(i!==b){d||(s=r),a=a.replace(o.match[h],"");if(!g)return[];break}}if(a===q)if(g==null)m.error(a);else break;q=a}return s},m.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)};var n=m.getText=function(a){var b,c,d=a.nodeType,e="";if(d){if(d===1||d===9||d===11){if(typeof a.textContent=="string")return a.textContent;if(typeof a.innerText=="string")return a.innerText.replace(k,"");for(a=a.firstChild;a;a=a.nextSibling)e+=n(a)}else if(d===3||d===4)return a.nodeValue}else for(b=0;c=a[b];b++)c.nodeType!==8&&(e+=n(c));return e},o=m.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(a){return a.getAttribute("href")},type:function(a){return a.getAttribute("type")}},relative:{"+":function(a,b){var c=typeof b=="string",d=c&&!l.test(b),e=c&&!d;d&&(b=b.toLowerCase());for(var f=0,g=a.length,h;f<g;f++)if(h=a[f]){while((h=h.previousSibling)&&h.nodeType!==1);a[f]=e||h&&h.nodeName.toLowerCase()===b?h||!1:h===b}e&&m.filter(b,a,!0)},">":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e<f;e++){c=a[e];if(c){var g=c.parentNode;a[e]=g.nodeName.toLowerCase()===b?g:!1}}}else{for(;e<f;e++)c=a[e],c&&(a[e]=d?c.parentNode:c.parentNode===b);d&&m.filter(b,a,!0)}},"":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("parentNode",b,f,a,d,c)},"~":function(a,b,c){var d,f=e++,g=x;typeof b=="string"&&!l.test(b)&&(b=b.toLowerCase(),d=b,g=w),g("previousSibling",b,f,a,d,c)}},find:{ID:function(a,b,c){if(typeof b.getElementById!="undefined"&&!c){var d=b.getElementById(a[1]);return d&&d.parentNode?[d]:[]}},NAME:function(a,b){if(typeof b.getElementsByName!="undefined"){var c=[],d=b.getElementsByName(a[1]);for(var e=0,f=d.length;e<f;e++)d[e].getAttribute("name")===a[1]&&c.push(d[e]);return c.length===0?null:c}},TAG:function(a,b){if(typeof b.getElementsByTagName!="undefined")return b.getElementsByTagName(a[1])}},preFilter:{CLASS:function(a,b,c,d,e,f){a=" "+a[1].replace(j,"")+" ";if(f)return a;for(var g=0,h;(h=b[g])!=null;g++)h&&(e^(h.className&&(" "+h.className+" ").replace(/[\t\n\r]/g," ").indexOf(a)>=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return b<c[3]-0},gt:function(a,b,c){return b>c[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h<i;h++)if(g[h]===a)return!1;return!0}m.error(e)},CHILD:function(a,b){var c,e,f,g,h,i,j,k=b[1],l=a;switch(k){case"only":case"first":while(l=l.previousSibling)if(l.nodeType===1)return!1;if(k==="first")return!0;l=a;case"last":while(l=l.nextSibling)if(l.nodeType===1)return!1;return!0;case"nth":c=b[2],e=b[3];if(c===1&&e===0)return!0;f=b[0],g=a.parentNode;if(g&&(g[d]!==f||!a.nodeIndex)){i=0;for(l=g.firstChild;l;l=l.nextSibling)l.nodeType===1&&(l.nodeIndex=++i);g[d]=f}j=a.nodeIndex-e;return c===0?j===0:j%c===0&&j/c>=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c<e;c++)d.push(a[c]);else for(;a[c];c++)d.push(a[c]);return d}}var u,v;c.documentElement.compareDocumentPosition?u=function(a,b){if(a===b){h=!0;return 0}if(!a.compareDocumentPosition||!b.compareDocumentPosition)return a.compareDocumentPosition?-1:1;return a.compareDocumentPosition(b)&4?-1:1}:(u=function(a,b){if(a===b){h=!0;return 0}if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,i=b.parentNode,j=g;if(g===i)return v(a,b);if(!g)return-1;if(!i)return 1;while(j)e.unshift(j),j=j.parentNode;j=i;while(j)f.unshift(j),j=j.parentNode;c=e.length,d=f.length;for(var k=0;k<c&&k<d;k++)if(e[k]!==f[k])return v(e[k],f[k]);return k===c?v(a,f[k],-1):v(e[k],b,1)},v=function(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}),function(){var a=c.createElement("div"),d="script"+(new Date).getTime(),e=c.documentElement;a.innerHTML="<a name='"+d+"'/>",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="<a href='#'></a>",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="<p class='TEST'></p>";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h<i;h++)m(a,g[h],e,c);return m.filter(f,e)};m.attr=f.attr,m.selectors.attrMap={},f.find=m,f.expr=m.selectors,f.expr[":"]=f.expr.filters,f.unique=m.uniqueSort,f.text=m.getText,f.isXMLDoc=m.isXML,f.contains=m.contains}();var L=/Until$/,M=/^(?:parents|prevUntil|prevAll)/,N=/,/,O=/^.[^:#\[\.,]*$/,P=Array.prototype.slice,Q=f.expr.match.globalPOS,R={children:!0,contents:!0,next:!0,prev:!0};f.fn.extend({find:function(a){var b=this,c,d;if(typeof a!="string")return f(a).filter(function(){for(c=0,d=b.length;c<d;c++)if(f.contains(b[c],this))return!0});var e=this.pushStack("","find",a),g,h,i;for(c=0,d=this.length;c<d;c++){g=e.length,f.find(a,this[c],e);if(c>0)for(h=g;h<e.length;h++)for(i=0;i<g;i++)if(e[i]===e[h]){e.splice(h--,1);break}}return e},has:function(a){var b=f(a);return this.filter(function(){for(var a=0,c=b.length;a<c;a++)if(f.contains(this,b[a]))return!0})},not:function(a){return this.pushStack(T(this,a,!1),"not",a)},filter:function(a){return this.pushStack(T(this,a,!0),"filter",a)},is:function(a){return!!a&&(typeof a=="string"?Q.test(a)?f(a,this.context).index(this[0])>=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d<a.length;d++)f(g).is(a[d])&&c.push({selector:a[d],elem:g,level:h});g=g.parentNode,h++}return c}var i=Q.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d<e;d++){g=this[d];while(g){if(i?i.index(g)>-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/<tbody/i,_=/<|&#?\w+;/,ba=/<(?:script|style)/i,bb=/<(?:script|object|embed|option|style)/i,bc=new RegExp("<(?:"+V+")[\\s/>]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*<!(?:\[CDATA\[|\-\-)/,bg={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div<div>","</div>"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f
+.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1></$2>");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(f.cleanData(c.getElementsByTagName("*")),c.innerHTML=a);c=0}catch(g){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){if(this[0]&&this[0].parentNode){if(f.isFunction(a))return this.each(function(b){var c=f(this),d=c.html();c.replaceWith(a.call(this,b,d))});typeof a!="string"&&(a=f(a).detach());return this.each(function(){var b=this.nextSibling,c=this.parentNode;f(this).remove(),b?f(b).before(a):f(c).append(a)})}return this.length?this.pushStack(f(f.isFunction(a)?a():a),"replaceWith",a):this},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){var e,g,h,i,j=a[0],k=[];if(!f.support.checkClone&&arguments.length===3&&typeof j=="string"&&bd.test(j))return this.each(function(){f(this).domManip(a,c,d,!0)});if(f.isFunction(j))return this.each(function(e){var g=f(this);a[0]=j.call(this,e,c?g.html():b),g.domManip(a,c,d)});if(this[0]){i=j&&j.parentNode,f.support.parentNode&&i&&i.nodeType===11&&i.childNodes.length===this.length?e={fragment:i}:e=f.buildFragment(a,this,k),h=e.fragment,h.childNodes.length===1?g=h=h.firstChild:g=h.firstChild;if(g){c=c&&f.nodeName(g,"tr");for(var l=0,m=this.length,n=m-1;l<m;l++)d.call(c?bi(this[l],g):this[l],e.cacheable||m>1&&l<n?f.clone(h,!0,!0):h)}k.length&&f.each(k,function(a,b){b.src?f.ajax({type:"GET",global:!1,url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),f.buildFragment=function(a,b,d){var e,g,h,i,j=a[0];b&&b[0]&&(i=b[0].ownerDocument||b[0]),i.createDocumentFragment||(i=c),a.length===1&&typeof j=="string"&&j.length<512&&i===c&&j.charAt(0)==="<"&&!bb.test(j)&&(f.support.checkClone||!bd.test(j))&&(f.support.html5Clone||!bc.test(j))&&(g=!0,h=f.fragments[j],h&&h!==1&&(e=h)),e||(e=i.createDocumentFragment(),f.clean(a,i,e,d)),g&&(f.fragments[j]=h?e:1);return{fragment:e,cacheable:g}},f.fragments={},f.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){f.fn[a]=function(c){var d=[],e=f(c),g=this.length===1&&this[0].parentNode;if(g&&g.nodeType===11&&g.childNodes.length===1&&e.length===1){e[b](this[0]);return this}for(var h=0,i=e.length;h<i;h++){var j=(h>0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1></$2>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]==="<table>"&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i<u;i++)bn(l[i]);else bn(l);l.nodeType?j.push(l):j=f.merge(j,l)}if(d){g=function(a){return!a.type||be.test(a.type)};for(k=0;j[k];k++){h=j[k];if(e&&f.nodeName(h,"script")&&(!h.type||be.test(h.type)))e.push(h.parentNode?h.parentNode.removeChild(h):h);else{if(h.nodeType===1){var v=f.grep(h.getElementsByTagName("script"),g);j.splice.apply(j,[k+1,0].concat(v))}d.appendChild(h)}}}return j},cleanData:function(a){var b,c,d=f.cache,e=f.event.special,g=f.support.deleteExpando;for(var h=0,i;(i=a[h])!=null;h++){if(i.nodeName&&f.noData[i.nodeName.toLowerCase()])continue;c=i[f.expando];if(c){b=d[c];if(b&&b.events){for(var j in b.events)e[j]?f.event.remove(i,j):f.removeEvent(i,j,b.handle);b.handle&&(b.handle.elem=null)}g?delete i[f.expando]:i.removeAttribute&&i.removeAttribute(f.expando),delete d[c]}}}});var bp=/alpha\([^)]*\)/i,bq=/opacity=([^)]*)/,br=/([A-Z]|^ms)/g,bs=/^[\-+]?(?:\d*\.)?\d+$/i,bt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,bu=/^([\-+])=([\-+.\de]+)/,bv=/^margin/,bw={position:"absolute",visibility:"hidden",display:"block"},bx=["Top","Right","Bottom","Left"],by,bz,bA;f.fn.css=function(a,c){return f.access(this,function(a,c,d){return d!==b?f.style(a,c,d):f.css(a,c)},a,c,arguments.length>1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("<div>").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g<h;g++)d=this[g],d.style&&(e=d.style.display,!f._data(d,"olddisplay")&&e==="none"&&(e=d.style.display=""),(e===""&&f.css(d,"display")==="none"||!f.contains(d.ownerDocument.documentElement,d))&&f._data(d,"olddisplay",cu(d.nodeName)));for(g=0;g<h;g++){d=this[g];if(d.style){e=d.style.display;if(e===""||e==="none")d.style.display=f._data(d,"olddisplay")||""}}return this},hide:function(a,b,c){if(a||a===0)return this.animate(ct("hide",3),a,b,c);var d,e,g=0,h=this.length;for(;g<h;g++)d=this[g],d.style&&(e=f.css(d,"display"),e!=="none"&&!f._data(d,"olddisplay")&&f._data(d,"olddisplay",e));for(g=0;g<h;g++)this[g].style&&(this[g].style.display="none");return this},_toggle:f.fn.toggle,toggle:function(a,b,c){var d=typeof a=="boolean";f.isFunction(a)&&f.isFunction(b)?this._toggle.apply(this,arguments):a==null||d?this.each(function(){var b=d?a:f(this).is(":hidden");f(this)[b?"show":"hide"]()}):this.animate(ct("toggle",3),a,b,c);return this},fadeTo:function(a,b,c,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){function g(){e.queue===!1&&f._mark(this);var b=f.extend({},e),c=this.nodeType===1,d=c&&f(this).is(":hidden"),g,h,i,j,k,l,m,n,o,p,q;b.animatedProperties={};for(i in a){g=f.camelCase(i),i!==g&&(a[g]=a[i],delete a[i]);if((k=f.cssHooks[g])&&"expand"in k){l=k.expand(a[g]),delete a[g];for(i in l)i in a||(a[i]=l[i])}}for(g in a){h=a[g],f.isArray(h)?(b.animatedProperties[g]=h[1],h=a[g]=h[0]):b.animatedProperties[g]=b.specialEasing&&b.specialEasing[g]||b.easing||"swing";if(h==="hide"&&d||h==="show"&&!d)return b.complete.call(this);c&&(g==="height"||g==="width")&&(b.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],f.css(this,"display")==="inline"&&f.css(this,"float")==="none"&&(!f.support.inlineBlockNeedsLayout||cu(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}b.overflow!=null&&(this.style.overflow="hidden");for(i in a)j=new f.fx(this,b,i),h=a[i],cm.test(h)?(q=f._data(this,"toggle"+i)||(h==="toggle"?d?"show":"hide":0),q?(f._data(this,"toggle"+i,q==="show"?"hide":"show"),j[q]()):j[h]()):(m=cn.exec(h),n=j.cur(),m?(o=parseFloat(m[2]),p=m[3]||(f.cssNumber[i]?"":"px"),p!=="px"&&(f.style(this,i,(o||1)+p),n=(o||1)/j.cur()*n,f.style(this,i,n+p)),m[1]&&(o=(m[1]==="-="?-1:1)*o+n),j.custom(n,o,p)):j.custom(n,h,""));return!0}var e=f.speed(b,c,d);if(f.isEmptyObject(a))return this.each(e.complete,[!1]);a=f.extend({},a);return e.queue===!1?this.each(g):this.queue(e.queue,g)},stop:function(a,c,d){typeof a!="string"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||"fx",[]);return this.each(function(){function h(a,b,c){var e=b[c];f.removeData(a,c,!0),e.stop(d)}var b,c=!1,e=f.timers,g=f._data(this);d||f._unmark(!0,this);if(a==null)for(b in g)g[b]&&g[b].stop&&b.indexOf(".run")===b.length-4&&h(this,g,b);else g[b=a+".run"]&&g[b].stop&&h(this,g,b);for(b=e.length;b--;)e[b].elem===this&&(a==null||e[b].queue===a)&&(d?e[b](!0):e[b].saveState(),c=!0,e.splice(b,1));(!d||!c)&&f.dequeue(this,a)})}}),f.each({slideDown:ct("show",1),slideUp:ct("hide",1),slideToggle:ct("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){f.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),f.extend({speed:function(a,b,c){var d=a&&typeof a=="object"?f.extend({},a):{complete:c||!c&&b||f.isFunction(a)&&a,duration:a,easing:c&&b||b&&!f.isFunction(b)&&b};d.duration=f.fx.off?0:typeof d.duration=="number"?d.duration:d.duration in f.fx.speeds?f.fx.speeds[d.duration]:f.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue="fx";d.old=d.complete,d.complete=function(a){f.isFunction(d.old)&&d.old.call(this),d.queue?f.dequeue(this,d.queue):a!==!1&&f._unmark(this)};return d},easing:{linear:function(a){return a},swing:function(a){return-Math.cos(a*Math.PI)/2+.5}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig=b.orig||{}}}),f.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(f.fx.step[this.prop]||f.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=f.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,c,d){function h(a){return e.step(a)}var e=this,g=f.fx;this.startTime=cq||cr(),this.end=c,this.now=this.start=a,this.pos=this.state=0,this.unit=d||this.unit||(f.cssNumber[this.prop]?"":"px"),h.queue=this.options.queue,h.elem=this.elem,h.saveState=function(){f._data(e.elem,"fxshow"+e.prop)===b&&(e.options.hide?f._data(e.elem,"fxshow"+e.prop,e.start):e.options.show&&f._data(e.elem,"fxshow"+e.prop,e.end))},h()&&f.timers.push(h)&&!co&&(co=setInterval(g.tick,g.interval))},show:function(){var a=f._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=a||f.style(this.elem,this.prop),this.options.show=!0,a!==b?this.custom(this.cur(),a):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),f(this.elem).show()},hide:function(){this.options.orig[this.prop]=f._data(this.elem,"fxshow"+this.prop)||f.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b,c,d,e=cq||cr(),g=!0,h=this.elem,i=this.options;if(a||e>=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||f.fx.stop()},interval:13,stop:function(){clearInterval(co),co=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){f.style(a.elem,"opacity",a.now)},_default:function(a){a.elem.style&&a.elem.style[a.prop]!=null?a.elem.style[a.prop]=a.now+a.unit:a.elem[a.prop]=a.now}}}),f.each(cp.concat.apply([],cp),function(a,b){b.indexOf("margin")&&(f.fx.step[b]=function(a){f.style(a.elem,b,Math.max(0,a.now)+a.unit)})}),f.expr&&f.expr.filters&&(f.expr.filters.animated=function(a){return f.grep(f.timers,function(b){return a===b.elem}).length});var cv,cw=/^t(?:able|d|h)$/i,cx=/^(?:body|html)$/i;"getBoundingClientRect"in c.documentElement?cv=function(a,b,c,d){try{d=a.getBoundingClientRect()}catch(e){}if(!d||!f.contains(c,a))return d?{top:d.top,left:d.left}:{top:0,left:0};var g=b.body,h=cy(b),i=c.clientTop||g.clientTop||0,j=c.clientLeft||g.clientLeft||0,k=h.pageYOffset||f.support.boxModel&&c.scrollTop||g.scrollTop,l=h.pageXOffset||f.support.boxModel&&c.scrollLeft||g.scrollLeft,m=d.top+k-i,n=d.left+l-j;return{top:m,left:n}}:cv=function(a,b,c){var d,e=a.offsetParent,g=a,h=b.body,i=b.defaultView,j=i?i.getComputedStyle(a,null):a.currentStyle,k=a.offsetTop,l=a.offsetLeft;while((a=a.parentNode)&&a!==h&&a!==c){if(f.support.fixedPosition&&j.position==="fixed")break;d=i?i.getComputedStyle(a,null):a.currentStyle,k-=a.scrollTop,l-=a.scrollLeft,a===e&&(k+=a.offsetTop,l+=a.offsetLeft,f.support.doesNotAddBorder&&(!f.support.doesAddBorderForTableAndCells||!cw.test(a.nodeName))&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),g=e,e=a.offsetParent),f.support.subtractsBorderForOverflowNotVisible&&d.overflow!=="visible"&&(k+=parseFloat(d.borderTopWidth)||0,l+=parseFloat(d.borderLeftWidth)||0),j=d}if(j.position==="relative"||j.position==="static")k+=h.offsetTop,l+=h.offsetLeft;f.support.fixedPosition&&j.position==="fixed"&&(k+=Math.max(c.scrollTop,h.scrollTop),l+=Math.max(c.scrollLeft,h.scrollLeft));return{top:k,left:l}},f.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){f.offset.setOffset(this,a,b)});var c=this[0],d=c&&c.ownerDocument;if(!d)return null;if(c===d.body)return f.offset.bodyOffset(c);return cv(c,d,d.documentElement)},f.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window);
\ No newline at end of file

=== added file 'doc/zorba/xqdoc/js/main.js'
--- doc/zorba/xqdoc/js/main.js	1970-01-01 00:00:00 +0000
+++ doc/zorba/xqdoc/js/main.js	2013-06-15 18:04:29 +0000
@@ -0,0 +1,25 @@
+$(function(){
+  var supportedModes = ["xml", "xquery"];
+  $(".ace-static").each(function(k, v){
+    var mode = $(v).attr("ace-mode");
+    if(supportedModes.indexOf(mode) != -1) {
+      var mode = require("ace/mode/" + mode).Mode;
+      mode = new mode();
+      var tokenizer = mode.$tokenizer;
+      var source = $(v).text().split("\n");
+      var state = "start";
+      var content = "";
+      $(source).each(function(n, l){
+        tokens = tokenizer.getLineTokens(l, state);
+        state = tokens.state;
+        tokens = tokens.tokens;
+        $(tokens).each(function(i, t){
+          content += "<span class=\"" + t.type.replace("\.", " ") + "\">" + t.value.replace("<", "&lt;").replace(">", "&gt;")  + "</span>";   
+        });
+        content += "<br />";
+      });
+      $(v).empty();
+      $(v).append(content);
+    }
+  });
+});

=== removed directory 'doc/zorba/xqdoc/lib'
=== removed file 'doc/zorba/xqdoc/lib/jquery.cookie.js'
--- doc/zorba/xqdoc/lib/jquery.cookie.js	2013-02-07 17:24:36 +0000
+++ doc/zorba/xqdoc/lib/jquery.cookie.js	1970-01-01 00:00:00 +0000
@@ -1,92 +0,0 @@
-/**
- * Cookie plugin
- *
- * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
- * Dual licensed under the MIT and GPL licenses:
- * http://www.opensource.org/licenses/mit-license.php
- * http://www.gnu.org/licenses/gpl.html
- *
- */
-
-/**
- * Create a cookie with the given name and value and other optional parameters.
- *
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Set the value of a cookie.
- * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});
- * @desc Create a cookie with all available options.
- * @example $.cookie('the_cookie', 'the_value');
- * @desc Create a session cookie.
- * @example $.cookie('the_cookie', null);
- * @desc Delete a cookie by passing null as value.
- *
- * @param String name The name of the cookie.
- * @param String value The value of the cookie.
- * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
- * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
- *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
- *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
- *                             when the the browser exits.
- * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
- * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
- * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
- *                        require a secure protocol (like HTTPS).
- * @type undefined
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@xxxxxxxxxxxx
- */
-
-/**
- * Get the value of a cookie with the given name.
- *
- * @example $.cookie('the_cookie');
- * @desc Get the value of a cookie.
- *
- * @param String name The name of the cookie.
- * @return The value of the cookie.
- * @type String
- *
- * @name $.cookie
- * @cat Plugins/Cookie
- * @author Klaus Hartl/klaus.hartl@xxxxxxxxxxxx
- */
-jQuery.cookie = function(name, value, options) {
-    if (typeof value != 'undefined') { // name and value given, set cookie
-        options = options || {};
-        if (value === null) {
-            value = '';
-            options.expires = -1;
-        }
-        var expires = '';
-        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
-            var date;
-            if (typeof options.expires == 'number') {
-                date = new Date();
-                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
-            } else {
-                date = options.expires;
-            }
-            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
-        }
-        var path = options.path ? '; path=' + options.path : '';
-        var domain = options.domain ? '; domain=' + options.domain : '';
-        var secure = options.secure ? '; secure' : '';
-        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
-    } else { // only name given, get cookie
-        var cookieValue = null;
-        if (document.cookie && document.cookie != '') {
-            var cookies = document.cookie.split(';');
-            for (var i = 0; i < cookies.length; i++) {
-                var cookie = jQuery.trim(cookies[i]);
-                // Does this cookie string begin with the name we want?
-                if (cookie.substring(0, name.length + 1) == (name + '=')) {
-                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
-                    break;
-                }
-            }
-        }
-        return cookieValue;
-    }
-};
\ No newline at end of file

=== removed file 'doc/zorba/xqdoc/lib/jquery.js'
--- doc/zorba/xqdoc/lib/jquery.js	2013-02-07 17:24:36 +0000
+++ doc/zorba/xqdoc/lib/jquery.js	1970-01-01 00:00:00 +0000
@@ -1,8981 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.6.2
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu Jun 30 14:16:56 2011 -0400
- */
-(function( window, undefined ) {
-
-// Use the correct document accordingly with window argument (sandbox)
-var document = window.document,
-	navigator = window.navigator,
-	location = window.location;
-var jQuery = (function() {
-
-// Define a local copy of jQuery
-var jQuery = function( selector, context ) {
-		// The jQuery object is actually just the init constructor 'enhanced'
-		return new jQuery.fn.init( selector, context, rootjQuery );
-	},
-
-	// Map over jQuery in case of overwrite
-	_jQuery = window.jQuery,
-
-	// Map over the $ in case of overwrite
-	_$ = window.$,
-
-	// A central reference to the root jQuery(document)
-	rootjQuery,
-
-	// A simple way to check for HTML strings or ID strings
-	// (both of which we optimize for)
-	quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
-
-	// Check if a string has a non-whitespace character in it
-	rnotwhite = /\S/,
-
-	// Used for trimming whitespace
-	trimLeft = /^\s+/,
-	trimRight = /\s+$/,
-
-	// Check for digits
-	rdigit = /\d/,
-
-	// Match a standalone tag
-	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
-
-	// JSON RegExp
-	rvalidchars = /^[\],:{}\s]*$/,
-	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
-	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
-	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
-
-	// Useragent RegExp
-	rwebkit = /(webkit)[ \/]([\w.]+)/,
-	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
-	rmsie = /(msie) ([\w.]+)/,
-	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
-
-	// Matches dashed string for camelizing
-	rdashAlpha = /-([a-z])/ig,
-
-	// Used by jQuery.camelCase as callback to replace()
-	fcamelCase = function( all, letter ) {
-		return letter.toUpperCase();
-	},
-
-	// Keep a UserAgent string for use with jQuery.browser
-	userAgent = navigator.userAgent,
-
-	// For matching the engine and version of the browser
-	browserMatch,
-
-	// The deferred used on DOM ready
-	readyList,
-
-	// The ready event handler
-	DOMContentLoaded,
-
-	// Save a reference to some core methods
-	toString = Object.prototype.toString,
-	hasOwn = Object.prototype.hasOwnProperty,
-	push = Array.prototype.push,
-	slice = Array.prototype.slice,
-	trim = String.prototype.trim,
-	indexOf = Array.prototype.indexOf,
-
-	// [[Class]] -> type pairs
-	class2type = {};
-
-jQuery.fn = jQuery.prototype = {
-	constructor: jQuery,
-	init: function( selector, context, rootjQuery ) {
-		var match, elem, ret, doc;
-
-		// Handle $(""), $(null), or $(undefined)
-		if ( !selector ) {
-			return this;
-		}
-
-		// Handle $(DOMElement)
-		if ( selector.nodeType ) {
-			this.context = this[0] = selector;
-			this.length = 1;
-			return this;
-		}
-
-		// The body element only exists once, optimize finding it
-		if ( selector === "body" && !context && document.body ) {
-			this.context = document;
-			this[0] = document.body;
-			this.selector = selector;
-			this.length = 1;
-			return this;
-		}
-
-		// Handle HTML strings
-		if ( typeof selector === "string" ) {
-			// Are we dealing with HTML string or an ID?
-			if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
-				// Assume that strings that start and end with <> are HTML and skip the regex check
-				match = [ null, selector, null ];
-
-			} else {
-				match = quickExpr.exec( selector );
-			}
-
-			// Verify a match, and that no context was specified for #id
-			if ( match && (match[1] || !context) ) {
-
-				// HANDLE: $(html) -> $(array)
-				if ( match[1] ) {
-					context = context instanceof jQuery ? context[0] : context;
-					doc = (context ? context.ownerDocument || context : document);
-
-					// If a single string is passed in and it's a single tag
-					// just do a createElement and skip the rest
-					ret = rsingleTag.exec( selector );
-
-					if ( ret ) {
-						if ( jQuery.isPlainObject( context ) ) {
-							selector = [ document.createElement( ret[1] ) ];
-							jQuery.fn.attr.call( selector, context, true );
-
-						} else {
-							selector = [ doc.createElement( ret[1] ) ];
-						}
-
-					} else {
-						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
-						selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes;
-					}
-
-					return jQuery.merge( this, selector );
-
-				// HANDLE: $("#id")
-				} else {
-					elem = document.getElementById( match[2] );
-
-					// Check parentNode to catch when Blackberry 4.6 returns
-					// nodes that are no longer in the document #6963
-					if ( elem && elem.parentNode ) {
-						// Handle the case where IE and Opera return items
-						// by name instead of ID
-						if ( elem.id !== match[2] ) {
-							return rootjQuery.find( selector );
-						}
-
-						// Otherwise, we inject the element directly into the jQuery object
-						this.length = 1;
-						this[0] = elem;
-					}
-
-					this.context = document;
-					this.selector = selector;
-					return this;
-				}
-
-			// HANDLE: $(expr, $(...))
-			} else if ( !context || context.jquery ) {
-				return (context || rootjQuery).find( selector );
-
-			// HANDLE: $(expr, context)
-			// (which is just equivalent to: $(context).find(expr)
-			} else {
-				return this.constructor( context ).find( selector );
-			}
-
-		// HANDLE: $(function)
-		// Shortcut for document ready
-		} else if ( jQuery.isFunction( selector ) ) {
-			return rootjQuery.ready( selector );
-		}
-
-		if (selector.selector !== undefined) {
-			this.selector = selector.selector;
-			this.context = selector.context;
-		}
-
-		return jQuery.makeArray( selector, this );
-	},
-
-	// Start with an empty selector
-	selector: "",
-
-	// The current version of jQuery being used
-	jquery: "1.6.2",
-
-	// The default length of a jQuery object is 0
-	length: 0,
-
-	// The number of elements contained in the matched element set
-	size: function() {
-		return this.length;
-	},
-
-	toArray: function() {
-		return slice.call( this, 0 );
-	},
-
-	// Get the Nth element in the matched element set OR
-	// Get the whole matched element set as a clean array
-	get: function( num ) {
-		return num == null ?
-
-			// Return a 'clean' array
-			this.toArray() :
-
-			// Return just the object
-			( num < 0 ? this[ this.length + num ] : this[ num ] );
-	},
-
-	// Take an array of elements and push it onto the stack
-	// (returning the new matched element set)
-	pushStack: function( elems, name, selector ) {
-		// Build a new jQuery matched element set
-		var ret = this.constructor();
-
-		if ( jQuery.isArray( elems ) ) {
-			push.apply( ret, elems );
-
-		} else {
-			jQuery.merge( ret, elems );
-		}
-
-		// Add the old object onto the stack (as a reference)
-		ret.prevObject = this;
-
-		ret.context = this.context;
-
-		if ( name === "find" ) {
-			ret.selector = this.selector + (this.selector ? " " : "") + selector;
-		} else if ( name ) {
-			ret.selector = this.selector + "." + name + "(" + selector + ")";
-		}
-
-		// Return the newly-formed element set
-		return ret;
-	},
-
-	// Execute a callback for every element in the matched set.
-	// (You can seed the arguments with an array of args, but this is
-	// only used internally.)
-	each: function( callback, args ) {
-		return jQuery.each( this, callback, args );
-	},
-
-	ready: function( fn ) {
-		// Attach the listeners
-		jQuery.bindReady();
-
-		// Add the callback
-		readyList.done( fn );
-
-		return this;
-	},
-
-	eq: function( i ) {
-		return i === -1 ?
-			this.slice( i ) :
-			this.slice( i, +i + 1 );
-	},
-
-	first: function() {
-		return this.eq( 0 );
-	},
-
-	last: function() {
-		return this.eq( -1 );
-	},
-
-	slice: function() {
-		return this.pushStack( slice.apply( this, arguments ),
-			"slice", slice.call(arguments).join(",") );
-	},
-
-	map: function( callback ) {
-		return this.pushStack( jQuery.map(this, function( elem, i ) {
-			return callback.call( elem, i, elem );
-		}));
-	},
-
-	end: function() {
-		return this.prevObject || this.constructor(null);
-	},
-
-	// For internal use only.
-	// Behaves like an Array's method, not like a jQuery method.
-	push: push,
-	sort: [].sort,
-	splice: [].splice
-};
-
-// Give the init function the jQuery prototype for later instantiation
-jQuery.fn.init.prototype = jQuery.fn;
-
-jQuery.extend = jQuery.fn.extend = function() {
-	var options, name, src, copy, copyIsArray, clone,
-		target = arguments[0] || {},
-		i = 1,
-		length = arguments.length,
-		deep = false;
-
-	// Handle a deep copy situation
-	if ( typeof target === "boolean" ) {
-		deep = target;
-		target = arguments[1] || {};
-		// skip the boolean and the target
-		i = 2;
-	}
-
-	// Handle case when target is a string or something (possible in deep copy)
-	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
-		target = {};
-	}
-
-	// extend jQuery itself if only one argument is passed
-	if ( length === i ) {
-		target = this;
-		--i;
-	}
-
-	for ( ; i < length; i++ ) {
-		// Only deal with non-null/undefined values
-		if ( (options = arguments[ i ]) != null ) {
-			// Extend the base object
-			for ( name in options ) {
-				src = target[ name ];
-				copy = options[ name ];
-
-				// Prevent never-ending loop
-				if ( target === copy ) {
-					continue;
-				}
-
-				// Recurse if we're merging plain objects or arrays
-				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
-					if ( copyIsArray ) {
-						copyIsArray = false;
-						clone = src && jQuery.isArray(src) ? src : [];
-
-					} else {
-						clone = src && jQuery.isPlainObject(src) ? src : {};
-					}
-
-					// Never move original objects, clone them
-					target[ name ] = jQuery.extend( deep, clone, copy );
-
-				// Don't bring in undefined values
-				} else if ( copy !== undefined ) {
-					target[ name ] = copy;
-				}
-			}
-		}
-	}
-
-	// Return the modified object
-	return target;
-};
-
-jQuery.extend({
-	noConflict: function( deep ) {
-		if ( window.$ === jQuery ) {
-			window.$ = _$;
-		}
-
-		if ( deep && window.jQuery === jQuery ) {
-			window.jQuery = _jQuery;
-		}
-
-		return jQuery;
-	},
-
-	// Is the DOM ready to be used? Set to true once it occurs.
-	isReady: false,
-
-	// A counter to track how many items to wait for before
-	// the ready event fires. See #6781
-	readyWait: 1,
-
-	// Hold (or release) the ready event
-	holdReady: function( hold ) {
-		if ( hold ) {
-			jQuery.readyWait++;
-		} else {
-			jQuery.ready( true );
-		}
-	},
-
-	// Handle when the DOM is ready
-	ready: function( wait ) {
-		// Either a released hold or an DOMready/load event and not yet ready
-		if ( (wait === true && !--jQuery.readyWait) || (wait !== true && !jQuery.isReady) ) {
-			// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
-			if ( !document.body ) {
-				return setTimeout( jQuery.ready, 1 );
-			}
-
-			// Remember that the DOM is ready
-			jQuery.isReady = true;
-
-			// If a normal DOM Ready event fired, decrement, and wait if need be
-			if ( wait !== true && --jQuery.readyWait > 0 ) {
-				return;
-			}
-
-			// If there are functions bound, to execute
-			readyList.resolveWith( document, [ jQuery ] );
-
-			// Trigger any bound ready events
-			if ( jQuery.fn.trigger ) {
-				jQuery( document ).trigger( "ready" ).unbind( "ready" );
-			}
-		}
-	},
-
-	bindReady: function() {
-		if ( readyList ) {
-			return;
-		}
-
-		readyList = jQuery._Deferred();
-
-		// Catch cases where $(document).ready() is called after the
-		// browser event has already occurred.
-		if ( document.readyState === "complete" ) {
-			// Handle it asynchronously to allow scripts the opportunity to delay ready
-			return setTimeout( jQuery.ready, 1 );
-		}
-
-		// Mozilla, Opera and webkit nightlies currently support this event
-		if ( document.addEventListener ) {
-			// Use the handy event callback
-			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
-
-			// A fallback to window.onload, that will always work
-			window.addEventListener( "load", jQuery.ready, false );
-
-		// If IE event model is used
-		} else if ( document.attachEvent ) {
-			// ensure firing before onload,
-			// maybe late but safe also for iframes
-			document.attachEvent( "onreadystatechange", DOMContentLoaded );
-
-			// A fallback to window.onload, that will always work
-			window.attachEvent( "onload", jQuery.ready );
-
-			// If IE and not a frame
-			// continually check to see if the document is ready
-			var toplevel = false;
-
-			try {
-				toplevel = window.frameElement == null;
-			} catch(e) {}
-
-			if ( document.documentElement.doScroll && toplevel ) {
-				doScrollCheck();
-			}
-		}
-	},
-
-	// See test/unit/core.js for details concerning isFunction.
-	// Since version 1.3, DOM methods and functions like alert
-	// aren't supported. They return false on IE (#2968).
-	isFunction: function( obj ) {
-		return jQuery.type(obj) === "function";
-	},
-
-	isArray: Array.isArray || function( obj ) {
-		return jQuery.type(obj) === "array";
-	},
-
-	// A crude way of determining if an object is a window
-	isWindow: function( obj ) {
-		return obj && typeof obj === "object" && "setInterval" in obj;
-	},
-
-	isNaN: function( obj ) {
-		return obj == null || !rdigit.test( obj ) || isNaN( obj );
-	},
-
-	type: function( obj ) {
-		return obj == null ?
-			String( obj ) :
-			class2type[ toString.call(obj) ] || "object";
-	},
-
-	isPlainObject: function( obj ) {
-		// Must be an Object.
-		// Because of IE, we also have to check the presence of the constructor property.
-		// Make sure that DOM nodes and window objects don't pass through, as well
-		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
-			return false;
-		}
-
-		// Not own constructor property must be Object
-		if ( obj.constructor &&
-			!hasOwn.call(obj, "constructor") &&
-			!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
-			return false;
-		}
-
-		// Own properties are enumerated firstly, so to speed up,
-		// if last one is own, then all properties are own.
-
-		var key;
-		for ( key in obj ) {}
-
-		return key === undefined || hasOwn.call( obj, key );
-	},
-
-	isEmptyObject: function( obj ) {
-		for ( var name in obj ) {
-			return false;
-		}
-		return true;
-	},
-
-	error: function( msg ) {
-		throw msg;
-	},
-
-	parseJSON: function( data ) {
-		if ( typeof data !== "string" || !data ) {
-			return null;
-		}
-
-		// Make sure leading/trailing whitespace is removed (IE can't handle it)
-		data = jQuery.trim( data );
-
-		// Attempt to parse using the native JSON parser first
-		if ( window.JSON && window.JSON.parse ) {
-			return window.JSON.parse( data );
-		}
-
-		// Make sure the incoming data is actual JSON
-		// Logic borrowed from http://json.org/json2.js
-		if ( rvalidchars.test( data.replace( rvalidescape, "@" )
-			.replace( rvalidtokens, "]" )
-			.replace( rvalidbraces, "")) ) {
-
-			return (new Function( "return " + data ))();
-
-		}
-		jQuery.error( "Invalid JSON: " + data );
-	},
-
-	// Cross-browser xml parsing
-	// (xml & tmp used internally)
-	parseXML: function( data , xml , tmp ) {
-
-		if ( window.DOMParser ) { // Standard
-			tmp = new DOMParser();
-			xml = tmp.parseFromString( data , "text/xml" );
-		} else { // IE
-			xml = new ActiveXObject( "Microsoft.XMLDOM" );
-			xml.async = "false";
-			xml.loadXML( data );
-		}
-
-		tmp = xml.documentElement;
-
-		if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) {
-			jQuery.error( "Invalid XML: " + data );
-		}
-
-		return xml;
-	},
-
-	noop: function() {},
-
-	// Evaluates a script in a global context
-	// Workarounds based on findings by Jim Driscoll
-	// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/ev

Follow ups