Merge "RESTRICT AUTOMERGE: Update libxml2 to 2.9.8" into oc-dev
am: 4358f5401f

Change-Id: Iaef18a6933192c6b8725720a8d623b977975adcf
diff --git a/.gitignore b/.gitignore
index 84cf80f..680a7e1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+*.exe
 *.o
 *.lo
 *.log
@@ -76,6 +77,7 @@
 python/libxml2class.py
 python/libxml2class.txt
 python/libxml2mod.la
+python/setup.py
 python/tests/Makefile
 python/tests/Makefile.in
 python/tests/tmp.xml
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..da48143
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,22 @@
+language: c
+sudo: false
+addons:
+  apt:
+    packages:
+      # Some tests require the DTDs.
+      w3c-sgml-lib
+matrix:
+  include:
+    # Try to emulate a C89 compiler on a POSIX system by disabling as many
+    # GNU extensions as possible.
+    - compiler: gcc
+      env: CFLAGS="-O2 -std=c89 -D_XOPEN_SOURCE=700 -Werror -Wno-error=unused-function"
+    # clang with AddressSanitizer and UndefinedBehaviorSanitizer.
+    - compiler: clang
+      dist: trusty
+      env: CONFIG="--without-python"
+           CFLAGS="-O2 -g -fno-omit-frame-pointer -fsanitize=address,undefined -fno-sanitize=float-divide-by-zero,pointer-overflow -fno-sanitize-recover=all -Werror -Wno-error=unused-function -Wno-error=cast-align"
+           UBSAN_OPTIONS=print_stacktrace=1
+script: sh autogen.sh $CONFIG && make -j2 V=1 && make check
+git:
+  depth: 10
diff --git a/CONTRIBUTING b/CONTRIBUTING
new file mode 100644
index 0000000..6f7a988
--- /dev/null
+++ b/CONTRIBUTING
@@ -0,0 +1,24 @@
+The current version of the code can be found in the GNOME Git Repository:
+
+    https://git.gnome.org/browse/libxml2/
+
+There's mirror on GitHub:
+
+    https://github.com/GNOME/libxml2
+
+Start discussions and send patches to the mailing list, or file a bug and
+add a patch as attachment.
+
+    https://mail.gnome.org/mailman/listinfo/xml
+    https://bugzilla.gnome.org/enter_bug.cgi?product=libxml2
+
+Format patches with git-format-patch and use plain text attachments
+if possible.
+
+All code must conform to C89 and pass the "make check" tests. Avoid
+compiler warnings and add regression tests if possible.
+
+The .travis.yml file can be used to thoroughly check the build with strict
+compiler flags, ASan and UBSan. Fork the libxml2 mirror on GitHub and set
+up Travis to test the commits you make on your fork.
+
diff --git a/ChangeLog b/ChangeLog
index ef6cb8e..896fbbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1929,7 +1929,7 @@
 
 	* tree.c: Fixed xmlGetNodePath() to generate the node test "*"
 	  for elements in the default namespace, rather than generating
-	  an unprefixed named node test and loosing the namespace
+	  an unprefixed named node test and losing the namespace
 	  information.
 
 Fri Jun  9 21:45:02 CEST 2006 Kasimier Buchcik <libxml2-cvs@cazic.net>
@@ -2305,7 +2305,7 @@
 	* tree.c: Simplified usage of the internal xmlNsMap. Added a
 	  "strict" lookup for namespaces based on a prefix. Fixed a
 	  namespace processing issue in the clone-node function, which
-	  occured if a @ctxt argument was given.
+	  occurred if a @ctxt argument was given.
 	  
 Fri Mar  3 17:44:10 CET 2006 Rob Richards <rrichards@ctindustries.net>
 
@@ -3951,7 +3951,7 @@
 	* README: updated 
 	* debugXML.c: fix a bug raised by bill on IRC
 	* relaxng.c: fix a leak in weird circumstances
-	* runsuite.c Makefile.am: standalone test tool agaisnt
+	* runsuite.c Makefile.am: standalone test tool against
 	  the regression suites, work in progress
 
 Tue Jun 28 08:30:26 CEST 2005 Daniel Veillard <daniel@veillard.com>
@@ -4356,7 +4356,7 @@
 	* xmlschemas.c: Added substitution group constraints; changed
 	  the build of the pre-computed substitution groups. Channeled
 	  errors during xsi assembling of schemas to the validation
-	  context. Fixed a big memory leak, which occured when using
+	  context. Fixed a big memory leak, which occurred when using
 	  IDCs: the precomputed value of attributes was not freed if
 	  the attribute did not resolve to an IDC field (discovered
 	  with the help of Randy J. Ray's schema, posted to the
@@ -4551,7 +4551,7 @@
 
 Mon Mar 21 21:09:07 CET 2005 Kasimier Buchcik <libxml2-cvs@cazic.net>
 
-	* xmlschemas.c: Fixed a segfault, which occured during bubbling
+	* xmlschemas.c: Fixed a segfault, which occurred during bubbling
 	  of IDC nodes (bug #170779 and #170778, reported by GUY Fabrice):
 	  a variable was missed to be reset in a loop. Deactivated bubbling,
 	  if not referenced by a keyref.
@@ -11220,7 +11220,7 @@
 	* test/xsdtest/xsdtest.xml uri.c: after and exchange with James
 	  Clark it appeared I had bug in URI parsing code ...
 	* relaxng.c include/libxml/relaxng.h: completely revamped error
-	  reporting to not loose message from optional parts.
+	  reporting to not lose message from optional parts.
 	* xmllint.c: added timing for RNG validation steps
 	* result/relaxng/*: updated the result, all error messages changed
 
@@ -13182,7 +13182,7 @@
 	  xmlNewCharEncodingHandler as requested in #89415
 	* python/generator.py python/setup.py.in: applied cleanup
 	  patches from Marc-Andre Lemburg
-	* tree.c: fixing bug #89332 on a specific case of loosing 
+	* tree.c: fixing bug #89332 on a specific case of losing 
 	  the XML-1.0 namespace on xml:xxx attributes
 
 Wed Jul 31 23:27:42 2002  Aleksey Sanin  <aleksey@aleksey.com>
@@ -15356,7 +15356,7 @@
 
 Sat Oct  6 15:07:14 CEST 2001 Daniel Veillard <daniel@veillard.com>
 
-	* xpath.c: fixing #61673 part I, do not loose doc information
+	* xpath.c: fixing #61673 part I, do not lose doc information
 	  when copying result value trees.
 
 Sat Oct  6 11:58:58 CEST 2001 Daniel Veillard <daniel@veillard.com>
@@ -15970,7 +15970,7 @@
 Mon Jul  9 22:06:53 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
 
 	* valid.c: fixed "Internal: MIXED struct bad" when #CDATA elements
-	  validation occured on content with element child
+	  validation occurred on content with element child
 
 Mon Jul  9 17:59:08 CEST 2001 Daniel Veillard <Daniel.Veillard@imag.fr>
 
diff --git a/HACKING b/HACKING
deleted file mode 100644
index 5d28294..0000000
--- a/HACKING
+++ /dev/null
@@ -1,37 +0,0 @@
-NOTE: 
-  - the head of this module is package libxml-2 . There is incompatibilities
-    with the old libxml-1 headers. I posted on gnome-hackers a recipe to
-    change your code to compile with both, check it out ! Also read
-    http://xmlsoft.org/upgrade.html
-  - in the meantime the old 1.x code has been tagged with LIB_XML_1_BRANCH
-    extract this version and drop me a mail if you want me to take care of
-    the update of your module to libxml-2 <daniel@veillard.com>
-  - the 1.x branch has a separate commit policy, please check the HACKING
-    file for this branch
-
-     Rules for commits on the gnome-xml module
-     =========================================
-
-  BEFORE READING FURTHER: DO NOT COMMIT DIRECTLY !
-
- In the exceptional case where a serious breakage in this module
-prevents other core projects from making progress, then feel free
-to patch first and send mail afterward as long as the changes are limited.
-Please keep in mind that a large part of my user base is on Windows, so
-be careful with potential portability problems there.
-
-Otherwise, send me (veillard@redhat.com) a mail and if it's a bug
-issue, register it at bugzilla.gnome.org (module libxml). I check both
-my mail and the bug database on a regular basis. If you don't get an
-answer within a week (which is highly unprobable) then commit your changes.
-This simply mean that I'm on holliday or on the road.
-
-  thanks in advance for following the rule,
-
-Daniel
-
-P.S.: Bjorn Reese, William Brack, Thomas Broyer, Igor Zlatkovic and
-      Aleksey Sanin get an exception for the send before commit rule
-      as well as John Fleck for the doc maintenance Send them mail if
-      I don't answer to request in a timely fashion
-
diff --git a/Makefile.am b/Makefile.am
index 9f988b0..9c630be 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -8,12 +8,12 @@
 
 AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
 
-AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS) $(LZMA_CFLAGS)
+AM_CFLAGS = $(EXTRA_CFLAGS) $(THREAD_CFLAGS) $(Z_CFLAGS) $(LZMA_CFLAGS)
 
-noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
-                testThreads testC14N testAutomata testRegexp \
-                testReader testapi testModule runtest runsuite testchar \
-		testdict runxmlconf testrecurse testlimits
+check_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
+               testThreads testC14N testAutomata testRegexp \
+               testReader testapi testModule runtest runsuite testchar \
+	       testdict runxmlconf testrecurse testlimits
 
 bin_PROGRAMS = xmllint xmlcatalog
 
@@ -202,10 +202,16 @@
 #testOOM_DEPENDENCIES = $(DEPS)
 #testOOM_LDADD= $(LDADDS)
 
-runtests:
+runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
+          testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
 	[ -d test   ] || $(LN_S) $(srcdir)/test   .
 	[ -d result ] || $(LN_S) $(srcdir)/result .
-	$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
+	$(CHECKER) ./runtest$(EXEEXT) && \
+	    $(CHECKER) ./testrecurse$(EXEEXT) && \
+	    ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) ./testapi$(EXEEXT) && \
+	    $(CHECKER) ./testchar$(EXEEXT) && \
+	    $(CHECKER) ./testdict$(EXEEXT) && \
+	    $(CHECKER) ./runxmlconf$(EXEEXT)
 	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
 	    $(MAKE) tests ; fi)
 
@@ -224,12 +230,12 @@
 
 tests: XMLtests XMLenttests NStests IDtests Errtests APItests $(READER_TEST) $(TEST_SAX) $(TEST_PUSH) $(TEST_HTML) $(TEST_PHTML) $(TEST_VALID) URItests $(TEST_PATTERN) $(TEST_XPATH) $(TEST_XPTR) $(TEST_XINCLUDE) $(TEST_C14N) $(TEST_DEBUG) $(TEST_CATALOG) $(TEST_REGEXPS) $(TEST_SCHEMAS) $(TEST_SCHEMATRON) $(TEST_THREADS) Timingtests $(TEST_VTIME) $(PYTHON_TESTS) $(TEST_MODULES)
 	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-	    $(MAKE) tests ; fi)
-	@(cd doc/examples ; $(MAKE) tests)
+	    $(MAKE) -s tests ; fi)
+	@(cd doc/examples ; $(MAKE) -s tests)
 
 APItests: testapi$(EXEEXT)
 	@echo "## Running the API regression tests this may take a little while"
-	-@($(CHECKER) $(top_builddir)/testapi -q)
+	-@(ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) $(top_builddir)/testapi -q)
 
 HTMLtests : testHTML$(EXEEXT)
 	@(echo > .memdump)
@@ -247,7 +253,7 @@
 	      diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
 	      $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
 	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name result2.$$name error.$$name ; \
 	  fi ; fi ; done)
 
@@ -268,7 +274,7 @@
 	      diff -b errorcut.$$name errorcut2.$$name ; \
 	      $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
 	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
 	  fi ; fi ; done)
 	@echo "## HTML SAX regression tests"
@@ -282,7 +288,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name.sax ; \
 	  fi ; fi ; done)
 	@echo "## Push HTML SAX regression tests"
@@ -296,7 +302,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name.sax ; \
 	  fi ; fi ; done)
 
@@ -317,7 +323,7 @@
 	      $(CHECKER) $(top_builddir)/xmllint result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff result.$$name result2.$$name` ;\
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name result2.$$name ; \
 	  fi ; fi ; done)
 	@echo "## XML regression tests on memory"
@@ -334,7 +340,7 @@
 	      diff $(srcdir)/result/$$name result.$$name ; \
 	      $(CHECKER) $(top_builddir)/xmllint --memory result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      diff result.$$name result2.$$name ; \
 	      rm result.$$name result2.$$name ; \
 	  fi ; fi ; done)
@@ -356,7 +362,7 @@
 	      $(CHECKER) $(top_builddir)/xmllint --push result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name result2.$$name ; \
 	  fi ; fi ; done)
 
@@ -377,7 +383,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/namespaces/$$name result.$$name ; \
 	      diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 
@@ -398,7 +404,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/xmlid/$$name result.$$name ; \
 	      diff $(srcdir)/result/xmlid/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 
@@ -419,7 +425,25 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/errors/$$name result.$$name ; \
 	      diff $(srcdir)/result/errors/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
+	      rm result.$$name error.$$name ; \
+	  fi ; fi ; done)
+	@echo "## Error cases regression tests (old 1.0)"
+	-@(for i in $(srcdir)/test/errors10/*.xml ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/errors10/$$name ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i \
+	         2> $(srcdir)/result/errors10/$$name.err \
+		 > $(srcdir)/result/errors10/$$name ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i 2> error.$$name > result.$$name ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
+	      diff $(srcdir)/result/errors10/$$name result.$$name ; \
+	      diff $(srcdir)/result/errors10/$$name.err error.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 	@echo "## Error cases stream regression tests"
@@ -436,7 +460,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm error.$$name ; \
 	  fi ; fi ; done)
 
@@ -459,7 +483,7 @@
 	      $(CHECKER) $(top_builddir)/xmllint --noent result.$$name 2>&1 > result2.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	      diff result.$$name result2.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name result2.$$name ; \
 	  fi ; fi ; done)
 
@@ -477,7 +501,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i 2>&1 > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/URI/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	-@(for i in $(srcdir)/test/URI/*.uri ; do \
@@ -491,7 +515,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testURI < $$i 2>&1 > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/URI/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 
@@ -505,13 +529,13 @@
 	  if [ ! -d $$i ] ; then \
 	  if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
+	      $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name 2> /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i 2>&1 > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i > result.$$name 2> /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XPath/expr/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done ; \
 	  for i in $(srcdir)/test/XPath/docs/* ; do \
@@ -526,10 +550,10 @@
 	      $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j 2>&1 > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XPath/tests/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done ; fi ; done)
 
@@ -547,13 +571,13 @@
 	  if [ ! -d $$j ] ; then \
 	  if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
 	      echo New test file $$name ; \
-	      $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
+	      $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name 2> /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
 	  else \
-	      log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j 2>&1 > result.$$name ; \
+	      log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > result.$$name 2> /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XPath/xptr/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done ; fi ; done)
 
@@ -572,7 +596,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
@@ -587,7 +611,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name result.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 	@(echo > .memdump)
@@ -604,7 +628,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 	-@(for i in $(srcdir)/test/XInclude/docs/* ; do \
@@ -619,7 +643,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
 	      diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 
@@ -640,7 +664,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/scripts/$$name result.$$name ; \
 	      diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name result.$$name.err ; \
 	  fi ; fi ; done)
 
@@ -659,7 +683,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	-@(for i in $(srcdir)/test/catalogs/*.script ; do \
@@ -674,7 +698,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@echo "## Add and del operations on XML Catalogs"
@@ -738,7 +762,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@echo "## Reader on memory regression tests"
@@ -753,7 +777,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@(echo > .memdump)
@@ -769,7 +793,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > result.$$name 2>/dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@echo "## Reader entities substitution regression tests"
@@ -784,7 +808,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/$$name.rde result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 
@@ -802,7 +826,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testSAX $$i > result.$$name 2> /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/$$name.sax result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@echo "## SAX2 callbacks regression tests"
@@ -817,7 +841,22 @@
 	      log=`$(CHECKER) $(top_builddir)/testSAX --sax2 $$i > result.$$name 2> /dev/null ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/$$name.sax2 result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
+	      rm result.$$name ; \
+	  fi ; fi ; done)
+	@echo "## SAX2 callbacks regression tests with entity substitution"
+	-@(for i in $(srcdir)/test/* ; do \
+	  name=`basename $$i`; \
+	  if [ ! -d $$i ] ; then \
+	  if [ ! -f $(srcdir)/result/noent/$$name.sax2 ] ; then \
+	      echo New test file $$name ; \
+	      $(CHECKER) $(top_builddir)/testSAX --sax2 --noent $$i > $(srcdir)/result/noent/$$name.sax2 2> /dev/null ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	  else \
+	      log=`$(CHECKER) $(top_builddir)/testSAX --sax2 --noent $$i > result.$$name 2> /dev/null ; \
+	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+	      diff $(srcdir)/result/noent/$$name.sax2 result.$$name` ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 
@@ -829,7 +868,7 @@
 	  if [ ! -d $$i ] ; then \
 	      log=`$(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`;\
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	  fi ; done ; exit 0)
 	@echo "## Validity checking regression tests"
 	-@(for i in $(srcdir)/test/VC/* ; do \
@@ -843,7 +882,7 @@
 	      log=`$(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/VC/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@echo "## General documents valid regression tests"
@@ -859,7 +898,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/valid/$$name result.$$name ; \
 	      diff $(srcdir)/result/valid/$$name.err error.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name error.$$name ; \
 	  fi ; fi ; done)
 
@@ -877,7 +916,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i 2>&1 > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/regexp/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 	@echo "## Formal expresssions regression tests"
@@ -892,7 +931,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testRegexp --expr -i $$i 2>&1 > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/expr/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 
@@ -910,7 +949,7 @@
 	      log=`$(CHECKER) $(top_builddir)/testAutomata $$i 2>&1 > result.$$name ; \
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      diff $(srcdir)/result/automata/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done)
 
@@ -961,7 +1000,7 @@
 			    cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \
 			fi; \
 		    fi; \
-		    $$cmdline > $(srcdir)/test/c14n/test.tmp; \
+		    $$cmdline > $(srcdir)/test/c14n/test.tmp 2> /dev/null; \
 		    if [ $$? -eq 0 ]; then \
 			diff  $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \
 			if [ $$? -ne 0 ]; then \
@@ -1002,7 +1041,7 @@
 	          diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \
 		       err.$$name;\
 		  grep Unimplemented err.$$name`; \
-	          if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo $$log ; fi ; \
+	          if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo "$$log" ; fi ; \
 	          rm res.$$name err.$$name ; \
 	       fi ; fi ;\
 	  done; done)
@@ -1027,7 +1066,7 @@
 	      diff $(srcdir)/result/relaxng/"$$name"_err \
 		   err.$$name | grep -v "error detected at";\
 	      grep Unimplemented err.$$name`; \
-	      if [ -n "$$log" ] ; then echo schemas $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo schemas $$name result ; echo "$$log" ; fi ; \
 	      rm res.$$name err.$$name ; \
 	  fi; \
 	  for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
@@ -1049,7 +1088,7 @@
 	          diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
 		       err.$$name | grep -v "error detected at";\
 		  grep Unimplemented err.$$name`; \
-		  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
+		  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
 	          rm res.$$name err.$$name ; \
 	       fi ; fi ; \
 	  done; done)
@@ -1075,7 +1114,7 @@
 		      diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
 			   err.$$name | grep -v "error detected at";\
 		  fi ; grep Unimplemented err.$$name`; \
-	          if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
+	          if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
 	          rm res.$$name err.$$name ; \
 	       fi ; fi ; \
 	  done; done)
@@ -1104,7 +1143,7 @@
 	          diff $(srcdir)/result/schematron/"$$name"_"$$xno".err \
 		       err.$$name | grep -v "error detected at";\
 		  grep Unimplemented err.$$name`; \
-		  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
+		  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
 	          rm res.$$name err.$$name ; \
 	       fi ; fi ; \
 	  done; done)
@@ -1153,7 +1192,7 @@
 	      grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
 	      done ;\
 	      diff $(srcdir)/result/pattern/$$name result.$$name` ; \
-	      if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+	      if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
 	      rm result.$$name ; \
 	  fi ; fi ; done ;)
 
@@ -1217,6 +1256,7 @@
 	     enc.h save.h testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
 	     dbgen.pl dbgenattr.pl regressions.py regressions.xml \
 	     README.tests Makefile.tests libxml2.syms timsort.h \
+	     README.zOS \
 	     $(CVS_EXTRA_DIST)
 
 
diff --git a/README.cvs-commits b/README.cvs-commits
index a4bd841..9c7bdd0 100644
--- a/README.cvs-commits
+++ b/README.cvs-commits
@@ -1,4 +1,4 @@
- Please read the HACKING file for instructions
+ Please read the CONTRIBUTING file for instructions
 
 Daniel
 
diff --git a/README.zOS b/README.zOS
new file mode 100644
index 0000000..6b6669a
--- /dev/null
+++ b/README.zOS
@@ -0,0 +1,212 @@
+Notes for compiling on zOS:
+
+- since testapi.c file is huge (over 52000 lines), it's compilation
+  fails: I skipped the problem by removing all references to testapi in the
+  Makefile.in, but it would be neater if one can build without test files
+  (I didn't find an option in configure...)
+
+- since the name of files (or qualifier) in PDS are limited to 8 I had to
+  rename xmlschemas.c and xmlschemastypes.c in (resp.) xmlsche.c xmlschet.c
+  (and I had to modify all occurences of these files accordingly in the
+  rest of the Makefile !!!).
+
+- in order to copy objects to PDS, I had the cp command at line 860
+  of Makefile.in
+
+libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES)
+        $(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
+        # Copy objects to PDS
+        @list='$(libxml2_OBJECTS)' ; for p in $$list; do \
+          cp -ACMv $$p "//'<PDS NAME>'"; \
+        done
+
+	with <PDS NAME> stands for the name of my PDS and
+	
+libxml2_OBJECTS = SAX.o entities.o encoding.o error.o \
+	parserInternals.o parser.o tree.o hash.o list.o xmlIO.o \
+	xmlmemory.o uri.o valid.o xlink.o HTMLparser.o \
+	HTMLtree.o debugXML.o xpath.o xpointer.o xinclude.o \
+	nanohttp.o nanoftp.o triostr.o trio.o catalog.o globals.o \
+	threads.o c14n.o xmlstring.o buf.o xmlregexp.o \
+	xmlsche.o xmlschet.o xmlunicode.o \
+	xmlreader.o relaxng.o dict.o SAX2.o \
+	xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
+	xmlmodule.o schematron.o xzlib.o 
+
+In order to handle the support of zOS without breaking the existing
+Makefile maybe a new option/flag zOs would copy xmlschemas.c and
+xmlschemastypes.c files and use specifics targets rather than existing
+ones with the longer names... A variable to handle the PDS name has to
+be provided also...
+
+See patch below for set of changes to Makefile.in
+
+Stéphane Michaut <smichaut@axway.com>
+July 2017
+
+
+--- Makefile.in	2017-08-01 08:17:15.000000000 +0200
++++ Makefile-new.in	2017-08-01 08:07:26.000000000 +0200
+@@ -41,7 +41,7 @@
+ 	testSAX$(EXEEXT) testHTML$(EXEEXT) testXPath$(EXEEXT) \
+ 	testURI$(EXEEXT) testThreads$(EXEEXT) testC14N$(EXEEXT) \
+ 	testAutomata$(EXEEXT) testRegexp$(EXEEXT) testReader$(EXEEXT) \
+-	testapi$(EXEEXT) testModule$(EXEEXT) runtest$(EXEEXT) \
++	testModule$(EXEEXT) runtest$(EXEEXT) \
+ 	runsuite$(EXEEXT) testchar$(EXEEXT) testdict$(EXEEXT) \
+ 	runxmlconf$(EXEEXT) testrecurse$(EXEEXT) testlimits$(EXEEXT)
+ bin_PROGRAMS = xmllint$(EXEEXT) xmlcatalog$(EXEEXT)
+@@ -106,6 +106,7 @@
+ 	debugXML.c xpath.c xpointer.c xinclude.c nanohttp.c nanoftp.c \
+ 	DOCBparser.c catalog.c globals.c threads.c c14n.c xmlstring.c \
+ 	buf.c xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
++        xmlsche.c xmlschet.c \
+ 	triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c \
+ 	xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c xmlmodule.c \
+ 	schematron.c xzlib.c
+@@ -118,10 +119,24 @@
+ 	nanohttp.lo nanoftp.lo $(am__objects_1) catalog.lo globals.lo \
+ 	threads.lo c14n.lo xmlstring.lo buf.lo xmlregexp.lo \
+ 	xmlschemas.lo xmlschemastypes.lo xmlunicode.lo \
++        xmlsche.lo xmlschet.lo \
+ 	$(am__objects_2) xmlreader.lo relaxng.lo dict.lo SAX2.lo \
+ 	xmlwriter.lo legacy.lo chvalid.lo pattern.lo xmlsave.lo \
+ 	xmlmodule.lo schematron.lo xzlib.lo
+ libxml2_la_OBJECTS = $(am_libxml2_la_OBJECTS)
++
++libxml2_OBJECTS = SAX.o entities.o encoding.o error.o \
++	parserInternals.o parser.o tree.o hash.o list.o xmlIO.o \
++	xmlmemory.o uri.o valid.o xlink.o HTMLparser.o \
++	HTMLtree.o debugXML.o xpath.o xpointer.o xinclude.o \
++	nanohttp.o nanoftp.o triostr.o trio.o catalog.o globals.o \
++	threads.o c14n.o xmlstring.o buf.o xmlregexp.o \
++	xmlschemas.o xmlschemastypes.o xmlunicode.o \
++	xmlsche.o xmlschemast.o \
++	xmlreader.o relaxng.o dict.o SAX2.o \
++	xmlwriter.o legacy.o chvalid.o pattern.o xmlsave.o \
++	xmlmodule.o schematron.o xzlib.o
++
+ AM_V_lt = $(am__v_lt_$(V))
+ am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+ am__v_lt_0 = --silent
+@@ -216,11 +231,6 @@
+ testXPath_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+ 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+ 	$(testXPath_LDFLAGS) $(LDFLAGS) -o $@
+-am_testapi_OBJECTS = testapi.$(OBJEXT)
+-testapi_OBJECTS = $(am_testapi_OBJECTS)
+-testapi_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+-	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+-	$(testapi_LDFLAGS) $(LDFLAGS) -o $@
+ am_testchar_OBJECTS = testchar.$(OBJEXT)
+ testchar_OBJECTS = $(am_testchar_OBJECTS)
+ testchar_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+@@ -285,7 +295,7 @@
+ 	$(testReader_SOURCES) $(testRegexp_SOURCES) \
+ 	$(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
+ 	$(testThreads_SOURCES) $(testURI_SOURCES) $(testXPath_SOURCES) \
+-	$(testapi_SOURCES) $(testchar_SOURCES) $(testdict_SOURCES) \
++	$(testchar_SOURCES) $(testdict_SOURCES) \
+ 	$(testlimits_SOURCES) $(testrecurse_SOURCES) \
+ 	$(xmlcatalog_SOURCES) $(xmllint_SOURCES)
+ DIST_SOURCES = $(am__libxml2_la_SOURCES_DIST) $(testdso_la_SOURCES) \
+@@ -295,7 +305,7 @@
+ 	$(testReader_SOURCES) $(testRegexp_SOURCES) \
+ 	$(testRelax_SOURCES) $(testSAX_SOURCES) $(testSchemas_SOURCES) \
+ 	$(am__testThreads_SOURCES_DIST) $(testURI_SOURCES) \
+-	$(testXPath_SOURCES) $(testapi_SOURCES) $(testchar_SOURCES) \
++	$(testXPath_SOURCES) $(testchar_SOURCES) \
+ 	$(testdict_SOURCES) $(testlimits_SOURCES) \
+ 	$(testrecurse_SOURCES) $(xmlcatalog_SOURCES) \
+ 	$(xmllint_SOURCES)
+@@ -700,11 +710,6 @@
+ noinst_LTLIBRARIES = testdso.la
+ testdso_la_SOURCES = testdso.c
+ testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
+-BUILT_SOURCES = testapi.c
+-testapi_SOURCES = testapi.c
+-testapi_LDFLAGS = 
+-testapi_DEPENDENCIES = $(DEPS)
+-testapi_LDADD = $(LDADDS)
+ runxmlconf_SOURCES = runxmlconf.c
+ runxmlconf_LDFLAGS = 
+ runxmlconf_DEPENDENCIES = $(DEPS)
+@@ -854,6 +859,12 @@
+ 	done
+ libxml2.la: $(libxml2_la_OBJECTS) $(libxml2_la_DEPENDENCIES) 
+ 	$(AM_V_CCLD)$(libxml2_la_LINK) -rpath $(libdir) $(libxml2_la_OBJECTS) $(libxml2_la_LIBADD) $(LIBS)
++        # Copie des obj
++	@list='$(libxml2_OBJECTS)' ; for p in $$list; do \
++	  echo "copy to PDS: $$p"; \
++	  cp -ACMv $$p "//'A009153.XRDEV230.FIC.OBJLIB.LIBXML'"; \
++	done 
++
+ testdso.la: $(testdso_la_OBJECTS) $(testdso_la_DEPENDENCIES) 
+ 	$(AM_V_CCLD)$(testdso_la_LINK)  $(testdso_la_OBJECTS) $(testdso_la_LIBADD) $(LIBS)
+ install-binPROGRAMS: $(bin_PROGRAMS)
+@@ -953,9 +964,6 @@
+ testXPath$(EXEEXT): $(testXPath_OBJECTS) $(testXPath_DEPENDENCIES) 
+ 	@rm -f testXPath$(EXEEXT)
+ 	$(AM_V_CCLD)$(testXPath_LINK) $(testXPath_OBJECTS) $(testXPath_LDADD) $(LIBS)
+-testapi$(EXEEXT): $(testapi_OBJECTS) $(testapi_DEPENDENCIES) 
+-	@rm -f testapi$(EXEEXT)
+-	$(AM_V_CCLD)$(testapi_LINK) $(testapi_OBJECTS) $(testapi_LDADD) $(LIBS)
+ testchar$(EXEEXT): $(testchar_OBJECTS) $(testchar_DEPENDENCIES) 
+ 	@rm -f testchar$(EXEEXT)
+ 	$(AM_V_CCLD)$(testchar_LINK) $(testchar_OBJECTS) $(testchar_LDADD) $(LIBS)
+@@ -1056,7 +1064,6 @@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testThreadsWin32.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testURI.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testXPath.Po@am__quote@
+-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testapi.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testchar.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testdict.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testdso.Plo@am__quote@
+@@ -1755,18 +1762,6 @@
+ 	uninstall-local uninstall-m4dataDATA uninstall-man \
+ 	uninstall-man1 uninstall-man3 uninstall-pkgconfigDATA
+ 
+-
+-# that one forces the rebuild when "make rebuild" is run on doc/
+-rebuild_testapi:
+-	-@(if [ "$(PYTHON)" != "" ] ; then \
+-	    $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
+-
+-# that one is just to make sure it is rebuilt if missing
+-# but adding the dependances generate mess
+-testapi.c: $(srcdir)/gentest.py
+-	-@(if [ "$(PYTHON)" != "" ] ; then \
+-	    $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
+-
+ #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
+ #testOOM_LDFLAGS = 
+ #testOOM_DEPENDENCIES = $(DEPS)
+@@ -1775,7 +1770,7 @@
+ runtests:
+ 	[ -d test   ] || $(LN_S) $(srcdir)/test   .
+ 	[ -d result ] || $(LN_S) $(srcdir)/result .
+-	$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
++	$(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
+ 	@(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
+ 	    $(MAKE) tests ; fi)
+ 
+@@ -1797,10 +1792,6 @@
+ 	    $(MAKE) tests ; fi)
+ 	@(cd doc/examples ; $(MAKE) tests)
+ 
+-APItests: testapi$(EXEEXT)
+-	@echo "## Running the API regression tests this may take a little while"
+-	-@($(CHECKER) $(top_builddir)/testapi -q)
+-
+ HTMLtests : testHTML$(EXEEXT)
+ 	@(echo > .memdump)
+ 	@echo "## HTML regression tests"
+@@ -2746,7 +2737,7 @@
+ dist-test: distdir
+ 	(mkdir -p $(distdir))
+ 	(cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn --exclude .git xstc/Tests) | (cd $(distdir); tar xf -)
+-	tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests  $(distdir)/Makefile.tests $(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/testapi.c $(distdir)/runtest.c $(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
++	tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests  $(distdir)/Makefile.tests $(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/runtest.c $(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
+ 	@(rm -rf $(distdir)/xstc/Test)
+ 
+ cleantar:
diff --git a/SAX2.c b/SAX2.c
index 5cbb700..0f261b7 100644
--- a/SAX2.c
+++ b/SAX2.c
@@ -12,6 +12,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <limits.h>
+#include <stddef.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/tree.h>
 #include <libxml/parser.h>
@@ -1181,6 +1182,8 @@
 	        xmlSAX2ErrMemory(ctxt, "xmlSAX2StartElement");
 		if (name != NULL)
 		    xmlFree(name);
+                if (nval != NULL)
+                    xmlFree(nval);
 		return;
 	    }
 	} else {
@@ -1242,6 +1245,8 @@
 	        xmlFree(ns);
 		if (name != NULL)
 		    xmlFree(name);
+                if (nval != NULL)
+                    xmlFree(nval);
 		return;
 	    }
 	} else {
@@ -1311,6 +1316,8 @@
                                              name, namespace->href);
                         ctxt->wellFormed = 0;
                         if (ctxt->recovery == 0) ctxt->disableSAX = 1;
+                        if (name != NULL)
+                            xmlFree(name);
                         goto error;
                     }
                 }
@@ -1908,7 +1915,7 @@
 	    else {
 	        ret->line = 65535;
 		if (ctxt->options & XML_PARSE_BIG_LINES)
-		    ret->psvi = (void *) (long) ctxt->input->line;
+		    ret->psvi = (void *) (ptrdiff_t) ctxt->input->line;
 	    }
 	}
     }
@@ -2311,7 +2318,7 @@
 	} else {
             /*
              * any out of memory error would already have been raised
-             * but we can't be garanteed it's the actual error due to the
+             * but we can't be guaranteed it's the actual error due to the
              * API, best is to skip in this case
              */
 	    continue;
@@ -2805,7 +2812,8 @@
 	xmlTextConcat(lastChild, value, len);
     } else {
 	ret = xmlNewCDataBlock(ctxt->myDoc, value, len);
-	xmlAddChild(ctxt->node, ret);
+	if (xmlAddChild(ctxt->node, ret) == NULL)
+		xmlFreeNode(ret);
     }
 }
 
diff --git a/bakefile/libxml2.bkl b/bakefile/libxml2.bkl
index f314465..dd6ce2c 100644
--- a/bakefile/libxml2.bkl
+++ b/bakefile/libxml2.bkl
@@ -406,7 +406,6 @@
 	

 	

 	<!-- some other conditional defines -->

-	<set var="ZLIB_DEF"><if cond="WITH_ZLIB=='1'">HAVE_ZLIB_H</if></set>

 	<set var="DEBUG_DEF"><if cond="BUILD=='debug'">_DEBUG</if></set>

 	<set var="DEBUG_DEF"><if cond="BUILD=='release'">NDEBUG</if></set>

 	

diff --git a/buf.c b/buf.c
index 07922ff..21cb9d8 100644
--- a/buf.c
+++ b/buf.c
@@ -49,7 +49,7 @@
     size_t use;		        /* The buffer size used */
     size_t size;		/* The buffer size */
     xmlBufferPtr buffer;        /* wrapper for an old buffer */
-    int error;                  /* an error code if a failure occured */
+    int error;                  /* an error code if a failure occurred */
 };
 
 #ifdef WITH_BUFFER_COMPAT
@@ -231,7 +231,7 @@
 xmlBufCreateStatic(void *mem, size_t size) {
     xmlBufPtr ret;
 
-    if ((mem == NULL) || (size == 0))
+    if (mem == NULL)
         return(NULL);
 
     ret = (xmlBufPtr) xmlMalloc(sizeof(xmlBuf));
@@ -701,7 +701,7 @@
  * used in the buffer. It does not account for the terminating zero
  * usually needed
  *
- * Returns the amount or 0 if none or an error occured
+ * Returns the amount or 0 if none or an error occurred
  */
 
 size_t
diff --git a/c14n.c b/c14n.c
index ca77f92..c04ce66 100644
--- a/c14n.c
+++ b/c14n.c
@@ -89,7 +89,7 @@
 								 xmlNsPtr ns,
 								 xmlC14NCtxPtr ctx);
 
-static int			xmlC14NIsNodeInNodeset		(xmlNodeSetPtr nodes,
+static int			xmlC14NIsNodeInNodeset		(void *user_data,
 								 xmlNodePtr node,
 								 xmlNodePtr parent);
 
@@ -252,7 +252,8 @@
 #define XML_NAMESPACES_DEFAULT		16
 
 static int
-xmlC14NIsNodeInNodeset(xmlNodeSetPtr nodes, xmlNodePtr node, xmlNodePtr parent) {
+xmlC14NIsNodeInNodeset(void *user_data, xmlNodePtr node, xmlNodePtr parent) {
+    xmlNodeSetPtr nodes = (xmlNodeSetPtr) user_data;
     if((nodes != NULL) && (node != NULL)) {
 	if(node->type != XML_NAMESPACE_DECL) {
 	    return(xmlXPathNodeSetContains(nodes, node));
@@ -513,8 +514,10 @@
  * Returns -1 if ns1 < ns2, 0 if ns1 == ns2 or 1 if ns1 > ns2.
  */
 static int
-xmlC14NNsCompare(xmlNsPtr ns1, xmlNsPtr ns2)
+xmlC14NNsCompare(const void *data1, const void *data2)
 {
+    const xmlNsPtr ns1 = (const xmlNsPtr) data1;
+    const xmlNsPtr ns2 = (const xmlNsPtr) data2;
     if (ns1 == ns2)
         return (0);
     if (ns1 == NULL)
@@ -559,6 +562,11 @@
     return (1);
 }
 
+static int
+xmlC14NPrintNamespacesWalker(const void *ns, void *ctx) {
+    return xmlC14NPrintNamespaces((const xmlNsPtr) ns, (xmlC14NCtxPtr) ctx);
+}
+
 /**
  * xmlC14NProcessNamespacesAxis:
  * @ctx:		the C14N context
@@ -615,7 +623,7 @@
     /*
      * Create a sorted list to store element namespaces
      */
-    list = xmlListCreate(NULL, (xmlListDataCompare) xmlC14NNsCompare);
+    list = xmlListCreate(NULL, xmlC14NNsCompare);
     if (list == NULL) {
         xmlC14NErrInternal("creating namespaces list (c14n)");
         return (-1);
@@ -663,7 +671,7 @@
     /*
      * print out all elements from list
      */
-    xmlListWalk(list, (xmlListWalker) xmlC14NPrintNamespaces, (const void *) ctx);
+    xmlListWalk(list, xmlC14NPrintNamespacesWalker, (void *) ctx);
 
     /*
      * Cleanup
@@ -728,7 +736,7 @@
     /*
      * Create a sorted list to store element namespaces
      */
-    list = xmlListCreate(NULL, (xmlListDataCompare) xmlC14NNsCompare);
+    list = xmlListCreate(NULL, xmlC14NNsCompare);
     if (list == NULL) {
         xmlC14NErrInternal("creating namespaces list (exc c14n)");
         return (-1);
@@ -840,7 +848,7 @@
     /*
      * print out all elements from list
      */
-    xmlListWalk(list, (xmlListWalker) xmlC14NPrintNamespaces, (const void *) ctx);
+    xmlListWalk(list, xmlC14NPrintNamespacesWalker, (void *) ctx);
 
     /*
      * Cleanup
@@ -879,8 +887,10 @@
  * Returns -1 if attr1 < attr2, 0 if attr1 == attr2 or 1 if attr1 > attr2.
  */
 static int
-xmlC14NAttrsCompare(xmlAttrPtr attr1, xmlAttrPtr attr2)
+xmlC14NAttrsCompare(const void *data1, const void *data2)
 {
+    const xmlAttrPtr attr1 = (const xmlAttrPtr) data1;
+    const xmlAttrPtr attr2 = (const xmlAttrPtr) data2;
     int ret = 0;
 
     /*
@@ -931,8 +941,10 @@
  * Returns 1 on success or 0 on fail.
  */
 static int
-xmlC14NPrintAttrs(const xmlAttrPtr attr, xmlC14NCtxPtr ctx)
+xmlC14NPrintAttrs(const void *data, void *user)
 {
+    const xmlAttrPtr attr = (const xmlAttrPtr) data;
+    xmlC14NCtxPtr ctx = (xmlC14NCtxPtr) user;
     xmlChar *value;
     xmlChar *buffer;
 
@@ -1142,7 +1154,7 @@
     /*
      * Create a sorted list to store element attributes
      */
-    list = xmlListCreate(NULL, (xmlListDataCompare) xmlC14NAttrsCompare);
+    list = xmlListCreate(NULL, xmlC14NAttrsCompare);
     if (list == NULL) {
         xmlC14NErrInternal("creating attributes list");
         return (-1);
@@ -1331,7 +1343,7 @@
     /*
      * print out all elements from list
      */
-    xmlListWalk(list, (xmlListWalker) xmlC14NPrintAttrs, (const void *) ctx);
+    xmlListWalk(list, xmlC14NPrintAttrs, (void *) ctx);
 
     /*
      * Cleanup
@@ -1375,13 +1387,6 @@
                 xmlFreeURI(uri);
                 return (-1);
             }
-            if ((xmlStrcasecmp((const xmlChar *) uri->scheme, BAD_CAST "urn") != 0)
-                && (xmlStrcasecmp((const xmlChar *) uri->scheme, BAD_CAST "dav") !=0)
-                && (xmlStrlen((const xmlChar *) uri->server) == 0)) {
-                xmlC14NErrRelativeNamespace(uri->scheme);
-                xmlFreeURI(uri);
-                return (-1);
-            }
             xmlFreeURI(uri);
         }
         ns = ns->next;
@@ -1971,7 +1976,7 @@
                  int mode, xmlChar ** inclusive_ns_prefixes,
                  int with_comments, xmlOutputBufferPtr buf) {
     return(xmlC14NExecute(doc,
-			(xmlC14NIsVisibleCallback)xmlC14NIsNodeInNodeset,
+			xmlC14NIsNodeInNodeset,
 			nodes,
 			mode,
 			inclusive_ns_prefixes,
@@ -2084,7 +2089,7 @@
         xmlC14NErrParam("saving doc");
         return (-1);
     }
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     if (compression < 0)
         compression = xmlGetCompressMode();
 #endif
diff --git a/catalog.c b/catalog.c
index 6dfdfbb..f814121 100644
--- a/catalog.c
+++ b/catalog.c
@@ -319,12 +319,13 @@
 
 /**
  * xmlFreeCatalogEntry:
- * @ret:  a Catalog entry
+ * @payload:  a Catalog entry
  *
  * Free the memory allocated to a Catalog entry
  */
 static void
-xmlFreeCatalogEntry(xmlCatalogEntryPtr ret) {
+xmlFreeCatalogEntry(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlCatalogEntryPtr ret = (xmlCatalogEntryPtr) payload;
     if (ret == NULL)
 	return;
     /*
@@ -367,20 +368,22 @@
 
     while (ret != NULL) {
 	next = ret->next;
-	xmlFreeCatalogEntry(ret);
+	xmlFreeCatalogEntry(ret, NULL);
 	ret = next;
     }
 }
 
 /**
  * xmlFreeCatalogHashEntryList:
- * @ret:  a Catalog entry list
+ * @payload:  a Catalog entry list
  *
  * Free the memory allocated to list of Catalog entries from the
  * catalog file hash.
  */
 static void
-xmlFreeCatalogHashEntryList(xmlCatalogEntryPtr catal) {
+xmlFreeCatalogHashEntryList(void *payload,
+                            const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlCatalogEntryPtr catal = (xmlCatalogEntryPtr) payload;
     xmlCatalogEntryPtr children, next;
 
     if (catal == NULL)
@@ -391,11 +394,11 @@
 	next = children->next;
 	children->dealloc = 0;
 	children->children = NULL;
-	xmlFreeCatalogEntry(children);
+	xmlFreeCatalogEntry(children, NULL);
 	children = next;
     }
     catal->dealloc = 0;
-    xmlFreeCatalogEntry(catal);
+    xmlFreeCatalogEntry(catal, NULL);
 }
 
 /**
@@ -440,8 +443,7 @@
     if (catal->xml != NULL)
 	xmlFreeCatalogEntryList(catal->xml);
     if (catal->sgml != NULL)
-	xmlHashFree(catal->sgml,
-		(xmlHashDeallocator) xmlFreeCatalogEntry);
+	xmlHashFree(catal->sgml, xmlFreeCatalogEntry);
     xmlFree(catal);
 }
 
@@ -460,7 +462,10 @@
  * Serialize an SGML Catalog entry
  */
 static void
-xmlCatalogDumpEntry(xmlCatalogEntryPtr entry, FILE *out) {
+xmlCatalogDumpEntry(void *payload, void *data,
+                    const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlCatalogEntryPtr entry = (xmlCatalogEntryPtr) payload;
+    FILE *out = (FILE *) data;
     if ((entry == NULL) || (out == NULL))
 	return;
     switch (entry->type) {
@@ -723,7 +728,10 @@
  * Convert one entry from the catalog
  */
 static void
-xmlCatalogConvertEntry(xmlCatalogEntryPtr entry, xmlCatalogPtr catal) {
+xmlCatalogConvertEntry(void *payload, void *data,
+                       const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlCatalogEntryPtr entry = (xmlCatalogEntryPtr) payload;
+    xmlCatalogPtr catal = (xmlCatalogPtr) data;
     if ((entry == NULL) || (catal == NULL) || (catal->sgml == NULL) ||
 	(catal->xml == NULL))
 	return;
@@ -756,8 +764,7 @@
 	    entry->type = XML_CATA_CATALOG;
 	    break;
 	default:
-	    xmlHashRemoveEntry(catal->sgml, entry->name,
-		               (xmlHashDeallocator) xmlFreeCatalogEntry);
+	    xmlHashRemoveEntry(catal->sgml, entry->name, xmlFreeCatalogEntry);
 	    return;
     }
     /*
@@ -797,9 +804,7 @@
 	xmlGenericError(xmlGenericErrorContext,
 		"Converting SGML catalog to XML\n");
     }
-    xmlHashScan(catal->sgml,
-		(xmlHashScanner) xmlCatalogConvertEntry,
-		&catal);
+    xmlHashScan(catal->sgml, xmlCatalogConvertEntry, &catal);
     return(0);
 }
 
@@ -2396,6 +2401,7 @@
 		case SGML_CATA_ENTITY:
 		    if (*cur == '%')
 			type = SGML_CATA_PENTITY;
+                    /* Falls through. */
 		case SGML_CATA_PENTITY:
 		case SGML_CATA_DOCTYPE:
 		case SGML_CATA_LINKTYPE:
@@ -2485,7 +2491,7 @@
 			                       NULL, XML_CATA_PREFER_NONE, NULL);
 		    res = xmlHashAddEntry(catal->sgml, name, entry);
 		    if (res < 0) {
-			xmlFreeCatalogEntry(entry);
+			xmlFreeCatalogEntry(entry, NULL);
 		    }
 		    xmlFree(filename);
 		}
@@ -2498,7 +2504,7 @@
 			                       XML_CATA_PREFER_NONE, NULL);
 		    res = xmlHashAddEntry(catal->sgml, sysid, entry);
 		    if (res < 0) {
-			xmlFreeCatalogEntry(entry);
+			xmlFreeCatalogEntry(entry, NULL);
 		    }
 		} else {
 		    xmlChar *filename;
@@ -2936,8 +2942,7 @@
     if (catal->type == XML_XML_CATALOG_TYPE) {
 	xmlDumpXMLCatalog(out, catal->xml);
     } else {
-	xmlHashScan(catal->sgml,
-		    (xmlHashScanner) xmlCatalogDumpEntry, out);
+	xmlHashScan(catal->sgml, xmlCatalogDumpEntry, out);
     }
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
@@ -3001,8 +3006,7 @@
     if (catal->type == XML_XML_CATALOG_TYPE) {
 	res = xmlDelXMLCatalog(catal->xml, value);
     } else {
-	res = xmlHashRemoveEntry(catal->sgml, value,
-		(xmlHashDeallocator) xmlFreeCatalogEntry);
+	res = xmlHashRemoveEntry(catal->sgml, value, xmlFreeCatalogEntry);
 	if (res == 0)
 	    res = 1;
     }
@@ -3283,8 +3287,7 @@
 	xmlGenericError(xmlGenericErrorContext,
 		"Catalogs cleanup\n");
     if (xmlCatalogXMLFiles != NULL)
-	xmlHashFree(xmlCatalogXMLFiles,
-		    (xmlHashDeallocator)xmlFreeCatalogHashEntryList);
+	xmlHashFree(xmlCatalogXMLFiles, xmlFreeCatalogHashEntryList);
     xmlCatalogXMLFiles = NULL;
     if (xmlDefaultCatalog != NULL)
 	xmlFreeCatalog(xmlDefaultCatalog);
diff --git a/configure.ac b/configure.ac
index 911984e..370e2de 100644
--- a/configure.ac
+++ b/configure.ac
@@ -9,7 +9,7 @@
 
 LIBXML_MAJOR_VERSION=2
 LIBXML_MINOR_VERSION=9
-LIBXML_MICRO_VERSION=4
+LIBXML_MICRO_VERSION=8
 LIBXML_MICRO_VERSION_SUFFIX=
 LIBXML_VERSION=$LIBXML_MAJOR_VERSION.$LIBXML_MINOR_VERSION.$LIBXML_MICRO_VERSION$LIBXML_MICRO_VERSION_SUFFIX
 LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION
@@ -389,18 +389,20 @@
 
 WITH_ZLIB=0
 if test "$with_zlib" = "no"; then
-    echo "Disabling compression support"
+    echo "Disabling zlib compression support"
 else
-    # Try pkg-config first so that static linking works.
-    # If this succeeeds, we ignore the WITH_ZLIB directory.
-    PKG_CHECK_MODULES([Z],[zlib],
-        [have_libz=yes],
-        [have_libz=no])
+    # Don't run pkg-config if with_zlib contains a path.
+    if test "x$Z_DIR" = "x"; then
+        # Try pkg-config first so that static linking works.
+        PKG_CHECK_MODULES([Z],[zlib],
+            [WITH_ZLIB=1],
+            [ ])
+    fi
 
-     if test "x$have_libz" = "xno"; then
+    if test "$WITH_ZLIB" = "0"; then
         AC_CHECK_HEADERS(zlib.h,
             AC_CHECK_LIB(z, gzread,[
-                have_libz=yes
+                WITH_ZLIB=1
                 if test "x${Z_DIR}" != "x"; then
                     Z_CFLAGS="-I${Z_DIR}/include"
                     Z_LIBS="-L${Z_DIR}/lib -lz"
@@ -411,18 +413,8 @@
                     esac]
                 else
                     Z_LIBS="-lz"
-                fi],
-                [have_libz=no])
-             )
-    else
-	# we still need to check for zlib.h header
-	AC_CHECK_HEADERS([zlib.h])
-    fi
-
-    # Found the library via either method?
-    if test "x$have_libz" = "xyes"; then
-        AC_DEFINE([HAVE_LIBZ], [1], [Have compression library])
-        WITH_ZLIB=1
+                fi])
+            )
     fi
 fi
 
@@ -436,38 +428,30 @@
 
 WITH_LZMA=0
 if test "$with_lzma" = "no"; then
-    echo "Disabling compression support"
+    echo "Disabling lzma compression support"
 else
-    # Try pkg-config first so that static linking works.
-    # If this succeeeds, we ignore the WITH_LZMA directory.
-    PKG_CHECK_MODULES([LZMA],[liblzma],
-        [have_liblzma=yes],
-        [have_liblzma=no])
+    # Don't run pkg-config if with_lzma contains a path.
+    if test "x$LZMA_DIR" = "x"; then
+        # Try pkg-config first so that static linking works.
+        PKG_CHECK_MODULES([LZMA],[liblzma],
+            [WITH_LZMA=1],
+            [ ])
+    fi
 
-     # If pkg-config failed, fall back to AC_CHECK_LIB. This
-     # will not pick up the necessary LIBS flags for liblzma's
-     # private dependencies, though, so static linking may fail.
-     if test "x$have_liblzma" = "xno"; then
-         AC_CHECK_HEADERS(lzma.h,
+    # If pkg-config failed, fall back to AC_CHECK_LIB. This
+    # will not pick up the necessary LIBS flags for liblzma's
+    # private dependencies, though, so static linking may fail.
+    if test "$WITH_LZMA" = "0"; then
+        AC_CHECK_HEADERS(lzma.h,
             AC_CHECK_LIB(lzma, lzma_code,[
-                have_liblzma=yes
+                WITH_LZMA=1
                 if test "x${LZMA_DIR}" != "x"; then
                     LZMA_CFLAGS="-I${LZMA_DIR}/include"
                     LZMA_LIBS="-L${LZMA_DIR}/lib -llzma"
                 else
                     LZMA_LIBS="-llzma"
-                fi],
-                [have_liblzma=no])
-	     )
-    else
-	# we still need to check for lzma,h header
-	AC_CHECK_HEADERS([lzma.h])
-    fi
-
-    # Found the library via either method?
-    if test "x$have_liblzma" = "xyes"; then
-        AC_DEFINE([HAVE_LIBLZMA], [1], [Have compression library])
-        WITH_LZMA=1
+                fi])
+            )
     fi
 fi
 
@@ -495,12 +479,8 @@
 AC_CHECK_HEADERS([stdint.h])
 AC_CHECK_HEADERS([inttypes.h])
 AC_CHECK_HEADERS([time.h])
-AC_CHECK_HEADERS([ansidecl.h])
-AC_CHECK_HEADERS([ieeefp.h])
-AC_CHECK_HEADERS([nan.h])
 AC_CHECK_HEADERS([math.h])
 AC_CHECK_HEADERS([limits.h])
-AC_CHECK_HEADERS([fp_class.h])
 AC_CHECK_HEADERS([float.h])
 AC_CHECK_HEADERS([stdlib.h])
 AC_CHECK_HEADERS([sys/socket.h], [], [],
@@ -557,10 +537,8 @@
 
 dnl Checks for library functions.
 AC_FUNC_STRFTIME
-AC_CHECK_FUNCS(strdup strndup strerror)
-AC_CHECK_FUNCS(finite isnand fp_class class fpclass)
 AC_CHECK_FUNCS(strftime localtime gettimeofday ftime)
-AC_CHECK_FUNCS(stat _stat signal)
+AC_CHECK_FUNCS(stat signal)
 AC_CHECK_FUNCS(rand rand_r srand time)
 AC_CHECK_FUNCS(isascii mmap munmap putenv)
 
@@ -771,13 +749,13 @@
 if test "${GCC}" != "yes" ; then
     case "${host}" in
           hppa*-*-hpux* )
-	       CFLAGS="${CFLAGS} -Wp,-H30000"
+	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wp,-H30000"
 	       ;;
           *-dec-osf* )
-               CFLAGS="${CFLAGS} -ieee"
+               EXTRA_CFLAGS="${EXTRA_CFLAGS} -ieee"
                ;;
 	  alpha*-*-linux* )
-	       CFLAGS="${CFLAGS} -ieee"
+	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -ieee"
 	       ;;
     esac
 else
@@ -787,19 +765,19 @@
 	# Not activated by default because this inflates the code size
 	# Used to allow propagation of C++ exceptions through the library
 	#
-	CFLAGS="${CFLAGS} -fexceptions"
+	EXTRA_CFLAGS="${EXTRA_CFLAGS} -fexceptions"
     fi
 
     # warnings we'd like to see
-    CFLAGS="${CFLAGS} -pedantic -W -Wformat -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
+    EXTRA_CFLAGS="${EXTRA_CFLAGS} -pedantic -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls"
     # warnings we'd like to supress
-    CFLAGS="${CFLAGS} -Wno-long-long"
+    EXTRA_CFLAGS="${EXTRA_CFLAGS} -Wno-long-long -Wno-format-extra-args -Wno-array-bounds"
     case "${host}" in
           alpha*-*-linux* )
-	       CFLAGS="${CFLAGS} -mieee"
+	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -mieee"
 	       ;;
 	  alpha*-*-osf* )
-	       CFLAGS="${CFLAGS} -mieee"
+	       EXTRA_CFLAGS="${EXTRA_CFLAGS} -mieee"
 	       ;;
     esac
 fi
@@ -812,13 +790,13 @@
 	;;
     *-*-mingw* | *-*-cygwin* | *-*-msvc* )
         # If the host is Windows, and shared libraries are disabled, we
-        # need to add -DLIBXML_STATIC to CFLAGS in order for linking to
+        # need to add -DLIBXML_STATIC to EXTRA_CFLAGS in order for linking to
         # work properly (without it, xmlexports.h would force the use of
         # DLL imports, which obviously aren't present in a static
         # library).
         if test "x$enable_shared" = "xno"; then
             XML_CFLAGS="$XML_CFLAGS -DLIBXML_STATIC"
-            CFLAGS="$CFLAGS -DLIBXML_STATIC"
+            EXTRA_CFLAGS="$EXTRA_CFLAGS -DLIBXML_STATIC"
         fi
         ;;
 esac
@@ -1010,7 +988,7 @@
 	fi
     fi
     if test "${GCC}" = "yes" ; then
-    CFLAGS="-g -O -pedantic -W -Wformat -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
+    EXTRA_CFLAGS="-g -O -pedantic -W -Wformat -Wno-format-extra-args -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment -Wtrigraphs -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wall"
     fi
     STATIC_BINARIES="-static"
 dnl -Wcast-qual -ansi
@@ -1053,9 +1031,9 @@
 else
     echo Enabling multithreaded support
 
-    dnl Default to native threads on Win32
+    dnl Default to native threads on Windows
     case $host_os in
-       *mingw32*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then
+       *mingw*) if test "$with_threads" != "pthread" && test "$with_threads" != "no"; then
                WITH_THREADS="1"
                THREADS_W32="1"
                THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_WIN32_THREADS"
@@ -1640,7 +1618,6 @@
  CPPFLAGS="$CPPFLAGS -DWIN32"
  WIN32_EXTRA_LIBADD="-lws2_32"
  WIN32_EXTRA_LDFLAGS="-no-undefined"
- AC_DEFINE([_WINSOCKAPI_],1,[Using the Win32 Socket implementation])
  if test "${PYTHON}" != ""
  then
    WIN32_EXTRA_PYTHON_LIBADD="-L${pythondir}/../../libs -lpython$(echo ${PYTHON_VERSION} | tr -d .)"
@@ -1681,14 +1658,14 @@
 if test "$with_coverage" = "yes" -a "${GCC}" = "yes"
 then
     echo Enabling code coverage for GCC
-    CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
+    EXTRA_CFLAGS="$EXTRA_CFLAGS -fprofile-arcs -ftest-coverage"
     LDFLAGS="$LDFLAGS -fprofile-arcs -ftest-coverage"
 else
     echo Disabling code coverage for GCC
 fi
 
 AC_SUBST(CPPFLAGS)
-AC_SUBST(CFLAGS)
+AC_SUBST(EXTRA_CFLAGS)
 AC_SUBST(LDFLAGS)
 AC_SUBST(XML_CFLAGS)
 
diff --git a/debugXML.c b/debugXML.c
index a1b550a..c98db0b 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -1229,8 +1229,11 @@
 }
 
 static void
-xmlCtxtDumpEntityCallback(xmlEntityPtr cur, xmlDebugCtxtPtr ctxt)
+xmlCtxtDumpEntityCallback(void *payload, void *data,
+                          const xmlChar *name ATTRIBUTE_UNUSED)
 {
+    xmlEntityPtr cur = (xmlEntityPtr) payload;
+    xmlDebugCtxtPtr ctxt = (xmlDebugCtxtPtr) data;
     if (cur == NULL) {
         if (!ctxt->check)
             fprintf(ctxt->output, "Entity is NULL");
@@ -1289,8 +1292,7 @@
 
         if (!ctxt->check)
             fprintf(ctxt->output, "Entities in internal subset\n");
-        xmlHashScan(table, (xmlHashScanner) xmlCtxtDumpEntityCallback,
-                    ctxt);
+        xmlHashScan(table, xmlCtxtDumpEntityCallback, ctxt);
     } else
         fprintf(ctxt->output, "No entities in internal subset\n");
     if ((doc->extSubset != NULL) && (doc->extSubset->entities != NULL)) {
@@ -1299,8 +1301,7 @@
 
         if (!ctxt->check)
             fprintf(ctxt->output, "Entities in external subset\n");
-        xmlHashScan(table, (xmlHashScanner) xmlCtxtDumpEntityCallback,
-                    ctxt);
+        xmlHashScan(table, xmlCtxtDumpEntityCallback, ctxt);
     } else if (!ctxt->check)
         fprintf(ctxt->output, "No entities in external subset\n");
 }
@@ -2931,7 +2932,7 @@
 		  fprintf(ctxt->output, "\tvalidate     check the document for errors\n");
 #endif /* LIBXML_VALID_ENABLED */
 #ifdef LIBXML_SCHEMAS_ENABLED
-		  fprintf(ctxt->output, "\trelaxng rng  validate the document agaisnt the Relax-NG schemas\n");
+		  fprintf(ctxt->output, "\trelaxng rng  validate the document against the Relax-NG schemas\n");
 #endif
 		  fprintf(ctxt->output, "\tgrep string  search for a string in the subtree\n");
 #ifdef LIBXML_VALID_ENABLED
diff --git a/dict.c b/dict.c
index c0585fe..0ef3718 100644
--- a/dict.c
+++ b/dict.c
@@ -48,7 +48,7 @@
 #else
 #ifdef HAVE_INTTYPES_H
 #include <inttypes.h>
-#elif defined(WIN32)
+#elif defined(_WIN32)
 typedef unsigned __int32 uint32_t;
 #endif
 #endif
@@ -249,7 +249,7 @@
 #endif
     pool = dict->strings;
     while (pool != NULL) {
-	if (pool->end - pool->free > namelen)
+	if ((size_t)(pool->end - pool->free) > namelen)
 	    goto found_pool;
 	if (pool->size > size) size = pool->size;
         limit += pool->size;
@@ -317,7 +317,7 @@
 #endif
     pool = dict->strings;
     while (pool != NULL) {
-	if (pool->end - pool->free > namelen + plen + 1)
+	if ((size_t)(pool->end - pool->free) > namelen + plen + 1)
 	    goto found_pool;
 	if (pool->size > size) size = pool->size;
         limit += pool->size;
@@ -453,14 +453,23 @@
     }
     switch (namelen) {
         case 10: value += name[9];
+        /* Falls through. */
         case 9: value += name[8];
+        /* Falls through. */
         case 8: value += name[7];
+        /* Falls through. */
         case 7: value += name[6];
+        /* Falls through. */
         case 6: value += name[5];
+        /* Falls through. */
         case 5: value += name[4];
+        /* Falls through. */
         case 4: value += name[3];
+        /* Falls through. */
         case 3: value += name[2];
+        /* Falls through. */
         case 2: value += name[1];
+        /* Falls through. */
         default: break;
     }
     return(value);
@@ -496,15 +505,25 @@
     }
     switch (plen) {
         case 10: value += prefix[9];
+        /* Falls through. */
         case 9: value += prefix[8];
+        /* Falls through. */
         case 8: value += prefix[7];
+        /* Falls through. */
         case 7: value += prefix[6];
+        /* Falls through. */
         case 6: value += prefix[5];
+        /* Falls through. */
         case 5: value += prefix[4];
+        /* Falls through. */
         case 4: value += prefix[3];
+        /* Falls through. */
         case 3: value += prefix[2];
+        /* Falls through. */
         case 2: value += prefix[1];
+        /* Falls through. */
         case 1: value += prefix[0];
+        /* Falls through. */
         default: break;
     }
     len -= plen;
@@ -514,15 +533,25 @@
     }
     switch (len) {
         case 10: value += name[9];
+        /* Falls through. */
         case 9: value += name[8];
+        /* Falls through. */
         case 8: value += name[7];
+        /* Falls through. */
         case 7: value += name[6];
+        /* Falls through. */
         case 6: value += name[5];
+        /* Falls through. */
         case 5: value += name[4];
+        /* Falls through. */
         case 4: value += name[3];
+        /* Falls through. */
         case 3: value += name[2];
+        /* Falls through. */
         case 2: value += name[1];
+        /* Falls through. */
         case 1: value += name[0];
+        /* Falls through. */
         default: break;
     }
     return(value);
@@ -533,7 +562,7 @@
  *
  * Create a new dictionary
  *
- * Returns the newly created dictionary, or NULL if an error occured.
+ * Returns the newly created dictionary, or NULL if an error occurred.
  */
 xmlDictPtr
 xmlDictCreate(void) {
@@ -580,7 +609,7 @@
  * new dictionary, then in @sub, and if not found are created in the
  * new dictionary.
  *
- * Returns the newly created dictionary, or NULL if an error occured.
+ * Returns the newly created dictionary, or NULL if an error occurred.
  */
 xmlDictPtr
 xmlDictCreateSub(xmlDictPtr sub) {
@@ -699,7 +728,7 @@
 	    } else {
 	        /*
 		 * we don't have much ways to alert from herei
-		 * result is loosing an entry and unicity garantee
+		 * result is losing an entry and unicity guarantee
 		 */
 	        ret = -1;
 	    }
diff --git a/doc/APIchunk0.html b/doc/APIchunk0.html
index c90e042..f778327 100644
--- a/doc/APIchunk0.html
+++ b/doc/APIchunk0.html
@@ -104,6 +104,7 @@
 <a href="html/libxml-globals.html#xmlCleanupGlobals">xmlCleanupGlobals</a><br />
 <a href="html/libxml-globals.html#xmlInitGlobals">xmlInitGlobals</a><br />
 </dd><dt>AegeanNumbers</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsAegeanNumbers">xmlUCSIsAegeanNumbers</a><br />
+</dd><dt>Alias</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
 </dd><dt>All</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchema">_xmlSchema</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPGet">xmlNanoFTPGet</a><br />
@@ -222,8 +223,6 @@
 <a href="html/libxml-parserInternals.html#IS_LETTER">IS_LETTER</a><br />
 <a href="html/libxml-parserInternals.html#xmlIsLetter">xmlIsLetter</a><br />
 </dd><dt>Based</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpExpDerive">xmlExpExpDerive</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>BasicLatin</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBasicLatin">xmlUCSIsBasicLatin</a><br />
 </dd><dt>Basically</dt><dd><a href="html/libxml-valid.html#xmlValidateDtd">xmlValidateDtd</a><br />
 </dd><dt>Before</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
@@ -242,6 +241,7 @@
 </dd><dt>Bopomofo</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofo">xmlUCSIsBopomofo</a><br />
 </dd><dt>BopomofoExtended</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsBopomofoExtended">xmlUCSIsBopomofoExtended</a><br />
 </dd><dt>Both</dt><dd><a href="html/libxml-parserInternals.html#XML_SUBSTITUTE_BOTH">XML_SUBSTITUTE_BOTH</a><br />
+<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
 <a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
 <a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
 <a href="html/libxml-pattern.html#xmlStreamPushNode">xmlStreamPushNode</a><br />
diff --git a/doc/APIchunk12.html b/doc/APIchunk12.html
index de376f7..d7404f8 100644
--- a/doc/APIchunk12.html
+++ b/doc/APIchunk12.html
@@ -865,8 +865,6 @@
 </dd><dt>crossed</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
 </dd><dt>cshema</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a><br />
-</dd><dt>ctrio</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>ctxt</dt><dd><a href="html/libxml-xmlregexp.html#xmlExpNewOr">xmlExpNewOr</a><br />
 <a href="html/libxml-xmlregexp.html#xmlExpNewRange">xmlExpNewRange</a><br />
 <a href="html/libxml-xmlregexp.html#xmlExpNewSeq">xmlExpNewSeq</a><br />
diff --git a/doc/APIchunk13.html b/doc/APIchunk13.html
index dba5952..5889ebf 100644
--- a/doc/APIchunk13.html
+++ b/doc/APIchunk13.html
@@ -341,8 +341,6 @@
 <a href="html/libxml-xmlIO.html#xmlInputMatchCallback">xmlInputMatchCallback</a><br />
 <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>detected</dt><dd><a href="html/libxml-xpathInternals.html#CHECK_ERROR">CHECK_ERROR</a><br />
 <a href="html/libxml-xpathInternals.html#CHECK_ERROR0">CHECK_ERROR0</a><br />
 <a href="html/libxml-SAX.html#endDocument">endDocument</a><br />
@@ -517,6 +515,7 @@
 <a href="html/libxml-tree.html#xmlNodeListGetRawString">xmlNodeListGetRawString</a><br />
 <a href="html/libxml-pattern.html#xmlPatternMatch">xmlPatternMatch</a><br />
 <a href="html/libxml-tree.html#xmlRemoveProp">xmlRemoveProp</a><br />
+<a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strlen">xmlUTF8Strlen</a><br />
 <a href="html/libxml-valid.html#xmlValidateRoot">xmlValidateRoot</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathLeading">xmlXPathLeading</a><br />
diff --git a/doc/APIchunk14.html b/doc/APIchunk14.html
index 0e33ddb..835465a 100644
--- a/doc/APIchunk14.html
+++ b/doc/APIchunk14.html
@@ -210,6 +210,7 @@
 <a href="html/libxml-catalog.html#xmlCatalogAdd">xmlCatalogAdd</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogAddLocal">xmlCatalogAddLocal</a><br />
 <a href="html/libxml-catalog.html#xmlCatalogRemove">xmlCatalogRemove</a><br />
+<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a><br />
@@ -322,7 +323,6 @@
 <a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 <a href="html/libxml-parser.html#xmlParseBalancedChunkMemoryRecover">xmlParseBalancedChunkMemoryRecover</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterFullEndElement">xmlTextWriterFullEndElement</a><br />
-<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
 </dd><dt>event</dt><dd><a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaSAXUnplug">xmlSchemaSAXUnplug</a><br />
 <a href="html/libxml-xmlschemas.html#xmlSchemaValidateStream">xmlSchemaValidateStream</a><br />
diff --git a/doc/APIchunk16.html b/doc/APIchunk16.html
index 92d3845..e7e236d 100644
--- a/doc/APIchunk16.html
+++ b/doc/APIchunk16.html
@@ -42,7 +42,6 @@
 </dd><dt>gMonthDay</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
 </dd><dt>gYear</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
 </dd><dt>gYearMonth</dt><dd><a href="html/libxml-xmlschemastypes.html#xmlSchemaGetCanonValue">xmlSchemaGetCanonValue</a><br />
-</dd><dt>garanteed</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
 </dd><dt>garbage</dt><dd><a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
 </dd><dt>gcc</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
@@ -183,6 +182,7 @@
 <a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
 </dd><dt>guaranteed</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
 <a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
+<a href="html/libxml-xmlstring.html#xmlUTF8Strsize">xmlUTF8Strsize</a><br />
 </dd><dt>guess</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 </dd></dl><h2>Letter h:</h2><dl><dt>had</dt><dd><a href="html/libxml-tree.html#xmlNewGlobalNs">xmlNewGlobalNs</a><br />
@@ -194,6 +194,7 @@
 <a href="html/libxml-parserInternals.html#xmlParseElementContentDecl">xmlParseElementContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParsePEReference">xmlParsePEReference</a><br />
 <a href="html/libxml-parserInternals.html#xmlParserHandlePEReference">xmlParserHandlePEReference</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>handlers</dt><dd><a href="html/libxml-xlink.html#xlinkSetDefaultHandler">xlinkSetDefaultHandler</a><br />
 <a href="html/libxml-encoding.html#xmlCleanupCharEncodingHandlers">xmlCleanupCharEncodingHandlers</a><br />
 <a href="html/libxml-xmlIO.html#xmlRegisterDefaultInputCallbacks">xmlRegisterDefaultInputCallbacks</a><br />
@@ -339,8 +340,6 @@
 <a href="html/libxml-SAX2.html#xmlSAX2GetSystemId">xmlSAX2GetSystemId</a><br />
 <a href="html/libxml-xmlschemastypes.html#xmlSchemaGetPredefinedType">xmlSchemaGetPredefinedType</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderNodeType">xmlTextReaderNodeType</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>human-readable</dt><dd><a href="html/libxml-xmlerror.html#_xmlError">_xmlError</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
diff --git a/doc/APIchunk17.html b/doc/APIchunk17.html
index 070f8ce..e6647e2 100644
--- a/doc/APIchunk17.html
+++ b/doc/APIchunk17.html
@@ -267,6 +267,7 @@
 <a href="html/libxml-xmlregexp.html#xmlExpParse">xmlExpParse</a><br />
 </dd><dt>infinity</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathCeilingFunction">xmlXPathCeilingFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathFloorFunction">xmlXPathFloorFunction</a><br />
+<a href="html/libxml-xpathInternals.html#xmlXPathRoundFunction">xmlXPathRoundFunction</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathStringFunction">xmlXPathStringFunction</a><br />
 </dd><dt>info</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-encoding.html#xmlCharEncodingOutputFunc">xmlCharEncodingOutputFunc</a><br />
@@ -512,9 +513,7 @@
 <a href="html/libxml-tree.html#xmlReconciliateNs">xmlReconciliateNs</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
 </dd><dt>invited</dt><dd><a href="html/libxml-valid.html#xmlValidGetValidElements">xmlValidGetValidElements</a><br />
-</dd><dt>isinf</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
 </dd><dt>isn</dt><dd><a href="html/libxml-encoding.html#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a><br />
-</dd><dt>isnan</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>issue</dt><dd><a href="html/libxml-entities.html#xmlEncodeEntities">xmlEncodeEntities</a><br />
 </dd><dt>issued</dt><dd><a href="html/libxml-xlink.html#xlinkIsLink">xlinkIsLink</a><br />
 </dd><dt>issues</dt><dd><a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
diff --git a/doc/APIchunk18.html b/doc/APIchunk18.html
index 90249a1..91566f7 100644
--- a/doc/APIchunk18.html
+++ b/doc/APIchunk18.html
@@ -76,6 +76,7 @@
 <a href="html/libxml-HTMLparser.html#htmlIsAutoClosed">htmlIsAutoClosed</a><br />
 <a href="html/libxml-HTMLparser.html#htmlParseElement">htmlParseElement</a><br />
 <a href="html/libxml-parser.html#xmlKeepBlanksDefault">xmlKeepBlanksDefault</a><br />
+<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
 <a href="html/libxml-xpath.html#xmlXPathOrderDocElems">xmlXPathOrderDocElems</a><br />
 </dd><dt>keyword</dt><dd><a href="html/libxml-parserInternals.html#xmlParseDefaultDecl">xmlParseDefaultDecl</a><br />
 </dd><dt>kill</dt><dd><a href="html/libxml-xmlversion.html#xmlCheckVersion">xmlCheckVersion</a><br />
@@ -366,6 +367,7 @@
 <a href="html/libxml-parser.html#xmlSetFeature">xmlSetFeature</a><br />
 <a href="html/libxml-xmlstring.html#xmlUTF8Strloc">xmlUTF8Strloc</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrLocationSetAdd">xmlXPtrLocationSetAdd</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>locations</dt><dd><a href="html/libxml-xpointer.html#_xmlLocationSet">_xmlLocationSet</a><br />
 </dd><dt>locator</dt><dd><a href="html/libxml-SAX.html#setDocumentLocator">setDocumentLocator</a><br />
 <a href="html/libxml-parser.html#setDocumentLocatorSAXFunc">setDocumentLocatorSAXFunc</a><br />
diff --git a/doc/APIchunk2.html b/doc/APIchunk2.html
index 1d10f93..bb6c141 100644
--- a/doc/APIchunk2.html
+++ b/doc/APIchunk2.html
@@ -163,6 +163,7 @@
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+<a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
 </dd><dt>Douglas</dt><dd><a href="html/libxml-uri.html#xmlURIEscape">xmlURIEscape</a><br />
 </dd><dt>Draft</dt><dd><a href="html/libxml-parserInternals.html#xmlParseNamespace">xmlParseNamespace</a><br />
 </dd><dt>DtD</dt><dd><a href="html/libxml-valid.html#xmlGetDtdAttrDesc">xmlGetDtdAttrDesc</a><br />
@@ -327,7 +328,6 @@
 </dd><dt>Ethiopic</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsEthiopic">xmlUCSIsEthiopic</a><br />
 </dd><dt>Evaluate</dt><dd><a href="html/libxml-xpath.html#xmlXPathCompiledEval">xmlXPathCompiledEval</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEval">xmlXPathEval</a><br />
-<a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
 <a href="html/libxml-xpath.html#xmlXPathEvalPredicate">xmlXPathEvalPredicate</a><br />
 <a href="html/libxml-xpathInternals.html#xmlXPathEvaluatePredicateResult">xmlXPathEvaluatePredicateResult</a><br />
 <a href="html/libxml-xpath.html#xmlXPathNodeEval">xmlXPathNodeEval</a><br />
diff --git a/doc/APIchunk20.html b/doc/APIchunk20.html
index 0317066..3559b08 100644
--- a/doc/APIchunk20.html
+++ b/doc/APIchunk20.html
@@ -105,7 +105,6 @@
 <a href="html/libxml-xmlschemas.html#xmlSchemaSAXPlug">xmlSchemaSAXPlug</a><br />
 <a href="html/libxml-tree.html#xmlSetBufferAllocationScheme">xmlSetBufferAllocationScheme</a><br />
 <a href="html/libxml-debugXML.html#xmlShellPwd">xmlShellPwd</a><br />
-<a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderCurrentDoc">xmlTextReaderCurrentDoc</a><br />
 <a href="html/libxml-valid.html#xmlValidCtxtNormalizeAttributeValue">xmlValidCtxtNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
@@ -147,8 +146,6 @@
 <a href="html/libxml-xpathInternals.html#xmlXPathCompareValues">xmlXPathCompareValues</a><br />
 </dd><dt>nested</dt><dd><a href="html/libxml-parserInternals.html#xmlParseElementChildrenContentDecl">xmlParseElementChildrenContentDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>net</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>network</dt><dd><a href="html/libxml-HTMLparser.html#htmlCtxtReadFile">htmlCtxtReadFile</a><br />
 <a href="html/libxml-HTMLparser.html#htmlReadFile">htmlReadFile</a><br />
 <a href="html/libxml-parser.html#xmlCtxtReadFile">xmlCtxtReadFile</a><br />
@@ -195,6 +192,7 @@
 <a href="html/libxml-xmlregexp.html#xmlRegExecPushString2">xmlRegExecPushString2</a><br />
 </dd><dt>non-negative</dt><dd><a href="html/libxml-c14n.html#xmlC14NDocSaveTo">xmlC14NDocSaveTo</a><br />
 <a href="html/libxml-c14n.html#xmlC14NExecute">xmlC14NExecute</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderPreservePattern">xmlTextReaderPreservePattern</a><br />
 </dd><dt>non-normative</dt><dd><a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
 </dd><dt>non-null</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintNode">xmlShellPrintNode</a><br />
 </dd><dt>non-recursive</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
@@ -254,6 +252,7 @@
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
 </dd><dt>note</dt><dd><a href="html/libxml-xmlstring.html#xmlCheckUTF8">xmlCheckUTF8</a><br />
 <a href="html/libxml-parser.html#xmlLoadExternalEntity">xmlLoadExternalEntity</a><br />
+</dd><dt>nothing</dt><dd><a href="html/libxml-xpath.html#xmlXPathInit">xmlXPathInit</a><br />
 </dd><dt>notice</dt><dd><a href="html/libxml-parser.html#xmlCleanupParser">xmlCleanupParser</a><br />
 <a href="html/libxml-threads.html#xmlCleanupThreads">xmlCleanupThreads</a><br />
 </dd><dt>now</dt><dd><a href="html/libxml-hash.html#XML_CAST_FPTR">XML_CAST_FPTR</a><br />
diff --git a/doc/APIchunk21.html b/doc/APIchunk21.html
index c655198..85fa55e 100644
--- a/doc/APIchunk21.html
+++ b/doc/APIchunk21.html
@@ -59,7 +59,11 @@
 </dd><dt>occur</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseComment">xmlParseComment</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseMarkupDecl">xmlParseMarkupDecl</a><br />
-</dd><dt>occured</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
+</dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
+<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
+</dd><dt>occurred</dt><dd><a href="html/libxml-xmlerror.html#xmlCtxtGetLastError">xmlCtxtGetLastError</a><br />
 <a href="html/libxml-dict.html#xmlDictCreate">xmlDictCreate</a><br />
 <a href="html/libxml-dict.html#xmlDictCreateSub">xmlDictCreateSub</a><br />
 <a href="html/libxml-xmlerror.html#xmlGetLastError">xmlGetLastError</a><br />
@@ -67,13 +71,9 @@
 <a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
 <a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
 <a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
-<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
-</dd><dt>occurences</dt><dd><a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans">xmlAutomataNewCountTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewCountTrans2">xmlAutomataNewCountTrans2</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans">xmlAutomataNewOnceTrans</a><br />
-<a href="html/libxml-xmlautomata.html#xmlAutomataNewOnceTrans2">xmlAutomataNewOnceTrans2</a><br />
-</dd><dt>occurred</dt><dd><a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
+<a href="html/libxml-xmlmemory.html#xmlMemStrdupLoc">xmlMemStrdupLoc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemoryStrdup">xmlMemoryStrdup</a><br />
+<a href="html/libxml-xmlreader.html#xmlTextReaderErrorFunc">xmlTextReaderErrorFunc</a><br />
 </dd><dt>occurrence</dt><dd><a href="html/libxml-xmlstring.html#xmlStrcasestr">xmlStrcasestr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrchr">xmlStrchr</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrstr">xmlStrstr</a><br />
diff --git a/doc/APIchunk22.html b/doc/APIchunk22.html
index 2f20018..ec9547b 100644
--- a/doc/APIchunk22.html
+++ b/doc/APIchunk22.html
@@ -210,8 +210,6 @@
 <a href="html/libxml-nanoftp.html#SOCKET">SOCKET</a><br />
 <a href="html/libxml-xmlmodule.html#xmlModuleOpen">xmlModuleOpen</a><br />
 <a href="html/libxml-xmlmodule.html#xmlModuleSymbol">xmlModuleSymbol</a><br />
-</dd><dt>portable</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>pos</dt><dd><a href="html/libxml-xmlstring.html#xmlUTF8Strsub">xmlUTF8Strsub</a><br />
 </dd><dt>position:</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathSubstringFunction">xmlXPathSubstringFunction</a><br />
 </dd><dt>positioned</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderReadString">xmlTextReaderReadString</a><br />
@@ -471,8 +469,6 @@
 <a href="html/libxml-xmlIO.html#xmlParserInputBufferPush">xmlParserInputBufferPush</a><br />
 <a href="html/libxml-xmlregexp.html#xmlRegNewExecCtxt">xmlRegNewExecCtxt</a><br />
 </dd><dt>prohibited</dt><dd><a href="html/libxml-schemasInternals.html#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a><br />
-</dd><dt>projects</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>prolog</dt><dd><a href="html/libxml-parser.html#xmlParseDocument">xmlParseDocument</a><br />
 </dd><dt>prompt</dt><dd><a href="html/libxml-debugXML.html#xmlShellReadlineFunc">xmlShellReadlineFunc</a><br />
 </dd><dt>proper</dt><dd><a href="html/libxml-valid.html#xmlValidateAttributeValue">xmlValidateAttributeValue</a><br />
diff --git a/doc/APIchunk23.html b/doc/APIchunk23.html
index 16c7c21..a18be6e 100644
--- a/doc/APIchunk23.html
+++ b/doc/APIchunk23.html
@@ -124,6 +124,7 @@
 <a href="html/libxml-debugXML.html#xmlShell">xmlShell</a><br />
 </dd><dt>ready</dt><dd><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
 <a href="html/libxml-xmlautomata.html#xmlAutomataCompile">xmlAutomataCompile</a><br />
+</dd><dt>real</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>realloc</dt><dd><a href="html/libxml-tree.html#_xmlBuffer">_xmlBuffer</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
@@ -133,6 +134,7 @@
 <a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
 <a href="html/libxml-xmlmemory.html#xmlReallocLoc">xmlReallocLoc</a><br />
 </dd><dt>reallocated</dt><dd><a href="html/libxml-xmlmemory.html#xmlReallocFunc">xmlReallocFunc</a><br />
+<a href="html/libxml-xmlstring.html#xmlStrcat">xmlStrcat</a><br />
 <a href="html/libxml-xmlstring.html#xmlStrncat">xmlStrncat</a><br />
 </dd><dt>really</dt><dd><a href="html/libxml-HTMLtree.html#HTML_COMMENT_NODE">HTML_COMMENT_NODE</a><br />
 <a href="html/libxml-HTMLtree.html#HTML_ENTITY_REF_NODE">HTML_ENTITY_REF_NODE</a><br />
diff --git a/doc/APIchunk24.html b/doc/APIchunk24.html
index e81f34d..64aac67 100644
--- a/doc/APIchunk24.html
+++ b/doc/APIchunk24.html
@@ -493,8 +493,6 @@
 <a href="html/libxml-xmlreader.html#xmlReaderNewIO">xmlReaderNewIO</a><br />
 </dd><dt>sourceDoc</dt><dd><a href="html/libxml-tree.html#xmlDOMWrapAdoptNode">xmlDOMWrapAdoptNode</a><br />
 <a href="html/libxml-tree.html#xmlDOMWrapCloneNode">xmlDOMWrapCloneNode</a><br />
-</dd><dt>sourceforge</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>spaces</dt><dd><a href="html/libxml-parser.html#_xmlParserCtxt">_xmlParserCtxt</a><br />
 <a href="html/libxml-HTMLtree.html#htmlDocContentDumpFormatOutput">htmlDocContentDumpFormatOutput</a><br />
 <a href="html/libxml-HTMLtree.html#htmlDocContentDumpOutput">htmlDocContentDumpOutput</a><br />
@@ -548,6 +546,7 @@
 <a href="html/libxml-tree.html#xmlNodeSetContent">xmlNodeSetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeSetContentLen">xmlNodeSetContentLen</a><br />
 <a href="html/libxml-xmlwriter.html#xmlTextWriterWriteRawLen">xmlTextWriterWriteRawLen</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>specialized</dt><dd><a href="html/libxml-tree.html#_xmlDOMWrapCtxt">_xmlDOMWrapCtxt</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemGet">xmlGcMemGet</a><br />
 <a href="html/libxml-xmlmemory.html#xmlGcMemSetup">xmlGcMemSetup</a><br />
@@ -667,6 +666,7 @@
 <a href="html/libxml-valid.html#xmlValidNormalizeAttributeValue">xmlValidNormalizeAttributeValue</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
 <a href="html/libxml-valid.html#xmlValidateDtdFinal">xmlValidateDtdFinal</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>steps</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 <a href="html/libxml-valid.html#xmlValidateDocumentFinal">xmlValidateDocumentFinal</a><br />
 </dd><dt>still</dt><dd><a href="html/libxml-parserInternals.html#xmlCheckLanguageID">xmlCheckLanguageID</a><br />
diff --git a/doc/APIchunk25.html b/doc/APIchunk25.html
index dec65ba..71ba3bd 100644
--- a/doc/APIchunk25.html
+++ b/doc/APIchunk25.html
@@ -343,8 +343,6 @@
 <a href="html/libxml-parser.html#xmlSAXParseMemoryWithData">xmlSAXParseMemoryWithData</a><br />
 </dd><dt>trio</dt><dd><a href="html/libxml-xmlversion.html#WITHOUT_TRIO">WITHOUT_TRIO</a><br />
 <a href="html/libxml-xmlversion.html#WITH_TRIO">WITH_TRIO</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>troubles</dt><dd><a href="html/libxml-parser.html#_xmlParserInput">_xmlParserInput</a><br />
 <a href="html/libxml-tree.html#xmlSearchNs">xmlSearchNs</a><br />
 </dd><dt>try</dt><dd><a href="html/libxml-xpathInternals.html#CAST_TO_BOOLEAN">CAST_TO_BOOLEAN</a><br />
diff --git a/doc/APIchunk28.html b/doc/APIchunk28.html
index c5993f9..c3f49b2 100644
--- a/doc/APIchunk28.html
+++ b/doc/APIchunk28.html
@@ -198,6 +198,7 @@
 <a href="html/libxml-tree.html#xmlGetNoNsProp">xmlGetNoNsProp</a><br />
 <a href="html/libxml-tree.html#xmlGetNsProp">xmlGetNsProp</a><br />
 <a href="html/libxml-tree.html#xmlGetProp">xmlGetProp</a><br />
+<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetBase">xmlNodeGetBase</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetContent">xmlNodeGetContent</a><br />
 <a href="html/libxml-tree.html#xmlNodeGetLang">xmlNodeGetLang</a><br />
@@ -480,6 +481,7 @@
 <a href="html/libxml-xpath.html#xmlXPathNewContext">xmlXPathNewContext</a><br />
 <a href="html/libxml-xpointer.html#xmlXPtrNewContext">xmlXPtrNewContext</a><br />
 </dd><dt>xmlXPathError</dt><dd><a href="">err</a><br />
+</dd><dt>xmlXPathEval</dt><dd><a href="html/libxml-xpath.html#xmlXPathEvalExpression">xmlXPathEvalExpression</a><br />
 </dd><dt>xmlXPathEvalPredicate</dt><dd><a href="html/libxml-xpointer.html#xmlXPtrEvalRangePredicate">xmlXPtrEvalRangePredicate</a><br />
 </dd><dt>xmlXPathFreeObject</dt><dd><a href="html/libxml-xpath.html#xmlXPathFreeNodeSetList">xmlXPathFreeNodeSetList</a><br />
 </dd><dt>xmlXPathFunction</dt><dd><a href="html/libxml-xpathInternals.html#xmlXPathFunctionLookup">xmlXPathFunctionLookup</a><br />
@@ -531,6 +533,7 @@
 <a href="html/libxml-xmlreader.html#xmlReaderWalker">xmlReaderWalker</a><br />
 </dd><dt>xpath</dt><dd><a href="html/libxml-debugXML.html#xmlShellPrintXPathError">xmlShellPrintXPathError</a><br />
 <a href="html/libxml-debugXML.html#xmlShellPrintXPathResult">xmlShellPrintXPathResult</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>xpointer</dt><dd><a href="html/libxml-xinclude.html#XINCLUDE_PARSE_XPOINTER">XINCLUDE_PARSE_XPOINTER</a><br />
 </dd></dl><h2 align="center"><a href="APIchunk0.html">A-B</a>
 <a href="APIchunk1.html">C-C</a>
diff --git a/doc/APIchunk4.html b/doc/APIchunk4.html
index d26883b..6fe8261 100644
--- a/doc/APIchunk4.html
+++ b/doc/APIchunk4.html
@@ -295,7 +295,6 @@
 </dd><dt>Normalization</dt><dd><a href="html/libxml-uri.html#xmlNormalizeURIPath">xmlNormalizeURIPath</a><br />
 </dd><dt>Normalization:</dt><dd><a href="html/libxml-parserInternals.html#xmlParseAttValue">xmlParseAttValue</a><br />
 </dd><dt>Not</dt><dd><a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
-</dd><dt>NotaNumber</dt><dd><a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>Notation</dt><dd><a href="html/libxml-tree.html#_xmlNotation">_xmlNotation</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseEntityDecl">xmlParseEntityDecl</a><br />
 <a href="html/libxml-parserInternals.html#xmlParseNotationType">xmlParseNotationType</a><br />
diff --git a/doc/APIchunk5.html b/doc/APIchunk5.html
index da60d1a..98da499 100644
--- a/doc/APIchunk5.html
+++ b/doc/APIchunk5.html
@@ -56,6 +56,7 @@
 <a href="html/libxml-schemasInternals.html#_xmlSchemaElement">_xmlSchemaElement</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaFacet">_xmlSchemaFacet</a><br />
 <a href="html/libxml-schemasInternals.html#_xmlSchemaType">_xmlSchemaType</a><br />
+<a href="html/libxml-xpointer.html#xmlXPtrRangeToFunction">xmlXPtrRangeToFunction</a><br />
 </dd><dt>Obtain</dt><dd><a href="html/libxml-xmlreader.html#xmlTextReaderLocatorBaseURI">xmlTextReaderLocatorBaseURI</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderLocatorLineNumber">xmlTextReaderLocatorLineNumber</a><br />
 </dd><dt>Ogham</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOgham">xmlUCSIsOgham</a><br />
@@ -72,7 +73,8 @@
 </dd><dt>Oriya</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOriya">xmlUCSIsOriya</a><br />
 </dd><dt>Osmanya</dt><dd><a href="html/libxml-xmlunicode.html#xmlUCSIsOsmanya">xmlUCSIsOsmanya</a><br />
 </dd><dt>Other</dt><dd><a href="html/libxml-xpath.html#xmlXPathContextSetCache">xmlXPathContextSetCache</a><br />
-</dd><dt>Otherwise</dt><dd><a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
+</dd><dt>Otherwise</dt><dd><a href="html/libxml-tree.html#xmlSplitQName2">xmlSplitQName2</a><br />
+<a href="html/libxml-pattern.html#xmlStreamPush">xmlStreamPush</a><br />
 <a href="html/libxml-pattern.html#xmlStreamPushAttr">xmlStreamPushAttr</a><br />
 </dd><dt>Output</dt><dd><a href="html/libxml-xmlIO.html#xmlOutputCloseCallback">xmlOutputCloseCallback</a><br />
 <a href="html/libxml-xmlIO.html#xmlOutputMatchCallback">xmlOutputMatchCallback</a><br />
@@ -223,8 +225,6 @@
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNo">xmlTextReaderGetAttributeNo</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderGetAttributeNs">xmlTextReaderGetAttributeNs</a><br />
 <a href="html/libxml-xmlreader.html#xmlTextReaderValue">xmlTextReaderValue</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsInf">xmlXPathIsInf</a><br />
-<a href="html/libxml-xpath.html#xmlXPathIsNaN">xmlXPathIsNaN</a><br />
 </dd><dt>Proxy</dt><dd><a href="html/libxml-nanoftp.html#xmlNanoFTPScanProxy">xmlNanoFTPScanProxy</a><br />
 <a href="html/libxml-nanohttp.html#xmlNanoHTTPScanProxy">xmlNanoHTTPScanProxy</a><br />
 </dd><dt>Proxy-Authenticate</dt><dd><a href="html/libxml-nanohttp.html#xmlNanoHTTPAuthHeader">xmlNanoHTTPAuthHeader</a><br />
diff --git a/doc/APIfiles.html b/doc/APIfiles.html
index 2252a6b..8c29c06 100644
--- a/doc/APIfiles.html
+++ b/doc/APIfiles.html
@@ -340,7 +340,8 @@
 <a href="html/libxml-dict.html#xmlDictSetLimit">xmlDictSetLimit</a><br />
 <a href="html/libxml-dict.html#xmlDictSize">xmlDictSize</a><br />
 <a href="html/libxml-dict.html#xmlInitializeDict">xmlInitializeDict</a><br />
-</p><h2><a name="encoding" id="encoding">Module encoding</a>:</h2><p><a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
+</p><h2><a name="encoding" id="encoding">Module encoding</a>:</h2><p><a href="html/libxml-encoding.html#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a><br />
+<a href="html/libxml-encoding.html#UTF8Toisolat1">UTF8Toisolat1</a><br />
 <a href="html/libxml-encoding.html#XML_CHAR_ENCODING_2022_JP">XML_CHAR_ENCODING_2022_JP</a><br />
 <a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_1">XML_CHAR_ENCODING_8859_1</a><br />
 <a href="html/libxml-encoding.html#XML_CHAR_ENCODING_8859_2">XML_CHAR_ENCODING_8859_2</a><br />
@@ -493,6 +494,7 @@
 <a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
 <a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
 <a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
+<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
 <a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
diff --git a/doc/APIfunctions.html b/doc/APIfunctions.html
index f9ac249..c1d172d 100644
--- a/doc/APIfunctions.html
+++ b/doc/APIfunctions.html
@@ -97,8 +97,6 @@
 <a href="html/libxml-encoding.html#xmlDetectCharEncoding">xmlDetectCharEncoding</a><br />
 <a href="html/libxml-xmlstring.html#xmlGetUTF8Char">xmlGetUTF8Char</a><br />
 </p><h2>Type const void *:</h2><p><a href="html/libxml-list.html#xmlListDataCompare">xmlListDataCompare</a><br />
-<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
-<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
 <a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
 </p><h2>Type const xlinkHRef:</h2><p><a href="html/libxml-xlink.html#xlinkSimpleLinkFunk">xlinkSimpleLinkFunk</a><br />
 </p><h2>Type const xlinkHRef *:</h2><p><a href="html/libxml-xlink.html#xlinkExtendedLinkFunk">xlinkExtendedLinkFunk</a><br />
@@ -147,7 +145,9 @@
 <a href="html/libxml-HTMLparser.html#htmlIsScriptAttribute">htmlIsScriptAttribute</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNewDoc">htmlNewDoc</a><br />
 <a href="html/libxml-HTMLtree.html#htmlNewDocNoDtD">htmlNewDocNoDtD</a><br />
+<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
 <a href="html/libxml-HTMLparser.html#htmlReadDoc">htmlReadDoc</a><br />
+<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
 <a href="html/libxml-HTMLtree.html#htmlSetMetaEncoding">htmlSetMetaEncoding</a><br />
 <a href="html/libxml-HTMLparser.html#htmlTagLookup">htmlTagLookup</a><br />
 <a href="html/libxml-SAX.html#ignorableWhitespace">ignorableWhitespace</a><br />
@@ -247,6 +247,9 @@
 <a href="html/libxml-hash.html#xmlHashAddEntry">xmlHashAddEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry2">xmlHashAddEntry2</a><br />
 <a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
+<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
+<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
+<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup3">xmlHashLookup3</a><br />
@@ -258,6 +261,7 @@
 <a href="html/libxml-hash.html#xmlHashRemoveEntry3">xmlHashRemoveEntry3</a><br />
 <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull3">xmlHashScanFull3</a><br />
+<a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br />
 <a href="html/libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry">xmlHashUpdateEntry</a><br />
 <a href="html/libxml-hash.html#xmlHashUpdateEntry2">xmlHashUpdateEntry2</a><br />
@@ -770,6 +774,7 @@
 <a href="html/libxml-hash.html#xmlHashAddEntry3">xmlHashAddEntry3</a><br />
 <a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
 <a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
+<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
 <a href="html/libxml-hash.html#xmlHashScan">xmlHashScan</a><br />
 <a href="html/libxml-hash.html#xmlHashScan3">xmlHashScan3</a><br />
 <a href="html/libxml-hash.html#xmlHashScanFull">xmlHashScanFull</a><br />
@@ -793,7 +798,10 @@
 <a href="html/libxml-list.html#xmlListRemoveFirst">xmlListRemoveFirst</a><br />
 <a href="html/libxml-list.html#xmlListRemoveLast">xmlListRemoveLast</a><br />
 <a href="html/libxml-list.html#xmlListReverseSearch">xmlListReverseSearch</a><br />
+<a href="html/libxml-list.html#xmlListReverseWalk">xmlListReverseWalk</a><br />
 <a href="html/libxml-list.html#xmlListSearch">xmlListSearch</a><br />
+<a href="html/libxml-list.html#xmlListWalk">xmlListWalk</a><br />
+<a href="html/libxml-list.html#xmlListWalker">xmlListWalker</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemFree">xmlMemFree</a><br />
 <a href="html/libxml-xmlmemory.html#xmlMemRealloc">xmlMemRealloc</a><br />
 <a href="html/libxml-nanoftp.html#xmlNanoFTPCheckResponse">xmlNanoFTPCheckResponse</a><br />
@@ -1039,14 +1047,9 @@
 <a href="html/libxml-DOCBparser.html#docbSAXParseDoc">docbSAXParseDoc</a><br />
 <a href="html/libxml-SAX.html#entityDecl">entityDecl</a><br />
 <a href="html/libxml-parser.html#entityDeclSAXFunc">entityDeclSAXFunc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlParseDoc">htmlParseDoc</a><br />
-<a href="html/libxml-HTMLparser.html#htmlSAXParseDoc">htmlSAXParseDoc</a><br />
 <a href="html/libxml-tree.html#xmlBuildQName">xmlBuildQName</a><br />
 <a href="html/libxml-parserInternals.html#xmlCopyChar">xmlCopyChar</a><br />
 <a href="html/libxml-parserInternals.html#xmlCopyCharMultiByte">xmlCopyCharMultiByte</a><br />
-<a href="html/libxml-hash.html#xmlHashCopier">xmlHashCopier</a><br />
-<a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
-<a href="html/libxml-hash.html#xmlHashScanner">xmlHashScanner</a><br />
 <a href="html/libxml-tree.html#xmlNewDocNodeEatName">xmlNewDocNodeEatName</a><br />
 <a href="html/libxml-tree.html#xmlNewNodeEatName">xmlNewNodeEatName</a><br />
 <a href="html/libxml-tree.html#xmlNewNsPropEatName">xmlNewNsPropEatName</a><br />
diff --git a/doc/APIsymbols.html b/doc/APIsymbols.html
index cdde358..a77be6d 100644
--- a/doc/APIsymbols.html
+++ b/doc/APIsymbols.html
@@ -40,7 +40,8 @@
 <a href="html/libxml-HTMLparser.html#HTML_REQUIRED">HTML_REQUIRED</a><br />
 <a href="html/libxml-HTMLtree.html#HTML_TEXT_NODE">HTML_TEXT_NODE</a><br />
 <a href="html/libxml-HTMLparser.html#HTML_VALID">HTML_VALID</a><br />
-</p><h2>Letter I:</h2><p><a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
+</p><h2>Letter I:</h2><p><a href="html/libxml-encoding.html#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a><br />
+<a href="html/libxml-parserInternals.html#INPUT_CHUNK">INPUT_CHUNK</a><br />
 <a href="html/libxml-nanoftp.html#INVALID_SOCKET">INVALID_SOCKET</a><br />
 <a href="html/libxml-parserInternals.html#IS_ASCII_DIGIT">IS_ASCII_DIGIT</a><br />
 <a href="html/libxml-parserInternals.html#IS_ASCII_LETTER">IS_ASCII_LETTER</a><br />
@@ -2130,6 +2131,7 @@
 <a href="html/libxml-hash.html#xmlHashCreate">xmlHashCreate</a><br />
 <a href="html/libxml-hash.html#xmlHashCreateDict">xmlHashCreateDict</a><br />
 <a href="html/libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a><br />
+<a href="html/libxml-hash.html#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a><br />
 <a href="html/libxml-hash.html#xmlHashFree">xmlHashFree</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup">xmlHashLookup</a><br />
 <a href="html/libxml-hash.html#xmlHashLookup2">xmlHashLookup2</a><br />
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 0cc0a50..6bda566 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -243,7 +243,7 @@
 
 api: libxml2-api.xml libxml2-refs.xml $(APIPAGES) $(srcdir)/html/index.html $(WIN32_DIR)/libxml2.def.src ../elfgcchack.h $(srcdir)/site.xsl
 
-web: $(PAGES)
+web: $(PAGES) xmllint.html xmlcatalog_man.html
 
 ../elfgcchack.h: $(srcdir)/elfgcchack.xsl $(srcdir)/libxml2-api.xml
 	-@(if [ -x $(XSLTPROC) ] ; then \
@@ -314,9 +314,15 @@
 xmllint.1: xmllint.xml
 	-@($(XSLTPROC) --nonet xmllint.xml)
 
+xmllint.html: xmllint.xml
+	-@($(XSLTPROC) --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl xmllint.xml)
+
 xmlcatalog.1: xmlcatalog_man.xml
 	-@($(XSLTPROC) --nonet xmlcatalog_man.xml)
 
+xmlcatalog_man.html: xmlcatalog_man.xml
+	-@($(XSLTPROC) --nonet -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl xmlcatalog_man.xml)
+
 check-extra-dist:
 	for f in $(EXTRA_DIST_wc) ; do echo $$f; done | sort -u >tmp.EXTRA_DIST_wc
 	for f in $(EXTRA_DIST) ;    do echo $$f; done | sort    >tmp.EXTRA_DIST
diff --git a/doc/bugs.html b/doc/bugs.html
index 55ff296..52970d3 100644
--- a/doc/bugs.html
+++ b/doc/bugs.html
@@ -13,7 +13,7 @@
 bug tracking database</a> (make sure to use the "libxml2" module name). I
 look at reports there regularly and it's good to have a reminder when a bug
 is still open. Be sure to specify that the bug is for the package libxml2.</p><p>For small problems you can try to get help on IRC, the #xml channel on
-irc.gnome.org (port 6667) usually have a few person subscribed which may help
+irc.gnome.org (port 6667) usually has a few people subscribed which may help
 (but there is no guarantee and if a real issue is raised it should go on the
 mailing-list for archival).</p><p>There is also a mailing-list <a href="mailto:xml@gnome.org">xml@gnome.org</a> for libxml, with an  <a href="http://mail.gnome.org/archives/xml/">on-line archive</a> (<a href="http://xmlsoft.org/messages">old</a>). To subscribe to this list,
 please visit the <a href="http://mail.gnome.org/mailman/listinfo/xml">associated Web</a> page and
diff --git a/doc/devhelp/libxml2-HTMLparser.html b/doc/devhelp/libxml2-HTMLparser.html
index 6d8a42a..3af5a9c 100644
--- a/doc/devhelp/libxml2-HTMLparser.html
+++ b/doc/devhelp/libxml2-HTMLparser.html
@@ -96,9 +96,9 @@
 <a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlCtxtReadFile">htmlCtxtReadFile</a>	(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 const char * filename, <br/>					 const char * encoding, <br/>					 int options);
 int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt);
 <a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a>	<a href="#htmlNewParserCtxt">htmlNewParserCtxt</a>	(void);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData);
 int	<a href="#htmlCtxtUseOptions">htmlCtxtUseOptions</a>		(<a href="libxml2-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br/>					 int options);
-<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding);
+<a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding);
 </pre>
     </div>
     <div class="refsect1" lang="en">
@@ -315,7 +315,7 @@
 </pre><p>Parse a Chunk of memory</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml2-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlParseDoc"/>htmlParseDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding)<br/>
+        <div class="refsect2" lang="en"><h3><a name="htmlParseDoc"/>htmlParseDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding)<br/>
 </pre><p>parse an HTML in-memory document and build a tree.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
         <hr/>
@@ -355,7 +355,7 @@
 </pre><p>parse an XML in-memory document and build a tree.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="htmlSAXParseDoc"/>htmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData)<br/>
+        <div class="refsect2" lang="en"><h3><a name="htmlSAXParseDoc"/>htmlSAXParseDoc ()</h3><pre class="programlisting"><a href="libxml2-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const char * encoding, <br/>					 <a href="libxml2-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br/>					 void * userData)<br/>
 </pre><p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div></div>
         <hr/>
diff --git a/doc/devhelp/libxml2-dict.html b/doc/devhelp/libxml2-dict.html
index 3776c5b..6bff563 100644
--- a/doc/devhelp/libxml2-dict.html
+++ b/doc/devhelp/libxml2-dict.html
@@ -82,11 +82,11 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlDictCreate"/>xmlDictCreate ()</h3><pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br/>
 </pre><p>Create a new dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occured.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlDictCreateSub"/>xmlDictCreateSub ()</h3><pre class="programlisting"><a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br/>
 </pre><p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occured.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlDictExists"/>xmlDictExists ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int len)<br/>
 </pre><p>Check if the @name exists in the dictionary @dict.</p>
diff --git a/doc/devhelp/libxml2-encoding.html b/doc/devhelp/libxml2-encoding.html
index 261e50a..b11fbfb 100644
--- a/doc/devhelp/libxml2-encoding.html
+++ b/doc/devhelp/libxml2-encoding.html
@@ -43,7 +43,8 @@
     <p>Author(s): Daniel Veillard </p>
     <div class="refsynopsisdiv">
       <h2>Synopsis</h2>
-      <pre class="synopsis">typedef struct _uconv_t <a href="#uconv_t">uconv_t</a>;
+      <pre class="synopsis">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a>;
+typedef struct _uconv_t <a href="#uconv_t">uconv_t</a>;
 typedef enum <a href="#xmlCharEncoding">xmlCharEncoding</a>;
 typedef struct _xmlCharEncodingHandler <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a>;
 typedef <a href="libxml2-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a href="#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>;
@@ -76,9 +77,16 @@
     <div class="refsect1" lang="en">
       <h2>Details</h2>
       <div class="refsect2" lang="en">
+        <div class="refsect2" lang="en"><h3><a name="ICU_PIVOT_BUF_SIZE">Macro </a>ICU_PIVOT_BUF_SIZE</h3><pre class="programlisting">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a>;
+</pre><p/>
+</div>
+        <hr/>
         <div class="refsect2" lang="en"><h3><a name="uconv_t">Structure </a>uconv_t</h3><pre class="programlisting">struct _uconv_t {
     UConverter *	uconv	: for conversion between an encoding and UTF-16
     UConverter *	utf8	: for conversion between UTF-8 and UTF-16
+    UCharpivot_buf[ICU_PIVOT_BUF_SIZE]	pivot_buf
+    UChar *	pivot_source
+    UChar *	pivot_target
 } uconv_t;
 </pre><p/>
 </div>
diff --git a/doc/devhelp/libxml2-hash.html b/doc/devhelp/libxml2-hash.html
index c5a9911..e2dd7ab 100644
--- a/doc/devhelp/libxml2-hash.html
+++ b/doc/devhelp/libxml2-hash.html
@@ -55,8 +55,8 @@
 void *	<a href="#xmlHashQLookup3">xmlHashQLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix3, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
 void *	<a href="#xmlHashQLookup2">xmlHashQLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * prefix2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
 void	<a href="#xmlHashScan3">xmlHashScan3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashScanner">xmlHashScanner</a> f, <br/>					 void * data);
-typedef void <a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br/>					 void * data, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
-typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br/>					 void * data, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void <a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreate">xmlHashCreate</a>		(int size);
 void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
 void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
@@ -67,10 +67,11 @@
 <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashCopier">xmlHashCopier</a> f);
 void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 <a href="libxml2-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br/>					 void * data);
 int	<a href="#xmlHashUpdateEntry3">xmlHashUpdateEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 void * userdata, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
+void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 void *	<a href="#xmlHashLookup3">xmlHashLookup3</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3);
 void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2);
 int	<a href="#xmlHashRemoveEntry">xmlHashRemoveEntry</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f);
-typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
+typedef void * <a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name);
 int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 void * userdata);
 int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name2, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name3, <br/>					 void * userdata);
 int	<a href="#xmlHashSize">xmlHashSize</a>			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table);
@@ -96,15 +97,15 @@
 </pre><p/>
 </div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashCopier"/>Function type xmlHashCopier</h3><pre class="programlisting">void *	xmlHashCopier			(void * payload, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlHashCopier"/>Function type xmlHashCopier</h3><pre class="programlisting">void *	xmlHashCopier			(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
 </pre><p>Callback to copy data from a hash.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the data or NULL in case of error.</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashDeallocator"/>Function type xmlHashDeallocator</h3><pre class="programlisting">void	xmlHashDeallocator		(void * payload, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlHashDeallocator"/>Function type xmlHashDeallocator</h3><pre class="programlisting">void	xmlHashDeallocator		(void * payload, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
 </pre><p>Callback to free data from a hash.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlHashScanner"/>Function type xmlHashScanner</h3><pre class="programlisting">void	xmlHashScanner			(void * payload, <br/>					 void * data, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlHashScanner"/>Function type xmlHashScanner</h3><pre class="programlisting">void	xmlHashScanner			(void * payload, <br/>					 void * data, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
 </pre><p>Callback when scanning data in a hash with the simple scanner.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scannner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div></div>
         <hr/>
@@ -130,11 +131,15 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlHashCreate"/>xmlHashCreate ()</h3><pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br/>
 </pre><p>Create a new xmlHashTablePtr.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occured.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlHashCreateDict"/>xmlHashCreateDict ()</h3><pre class="programlisting"><a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br/>					 <a href="libxml2-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br/>
 </pre><p>Create a new <a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occured.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div></div>
+        <hr/>
+        <div class="refsect2" lang="en"><h3><a name="xmlHashDefaultDeallocator"/>xmlHashDefaultDeallocator ()</h3><pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name)<br/>
+</pre><p>Free a hash table entry with xmlFree.</p>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>entry</tt></i>:</span></td><td>the hash table entry</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entry's name</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlHashFree"/>xmlHashFree ()</h3><pre class="programlisting">void	xmlHashFree			(<a href="libxml2-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br/>					 <a href="libxml2-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br/>
 </pre><p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
diff --git a/doc/devhelp/libxml2-list.html b/doc/devhelp/libxml2-list.html
index 8a4fa73..0ae2f11 100644
--- a/doc/devhelp/libxml2-list.html
+++ b/doc/devhelp/libxml2-list.html
@@ -55,14 +55,14 @@
 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListCreate">xmlListCreate</a>		(<a href="libxml2-list.html#xmlListDeallocator">xmlListDeallocator</a> deallocator, <br/>					 <a href="libxml2-list.html#xmlListDataCompare">xmlListDataCompare</a> compare);
 <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a>	<a href="#xmlListDup">xmlListDup</a>		(const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
 int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 const void * user);
+void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user);
 int	<a href="#xmlListRemoveAll">xmlListRemoveAll</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
 int	<a href="#xmlListCopy">xmlListCopy</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> cur, <br/>					 const <a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> old);
 void	<a href="#xmlListPopFront">xmlListPopFront</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br/>					 const void * user);
+typedef int <a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br/>					 void * user);
 int	<a href="#xmlListRemoveFirst">xmlListRemoveFirst</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
-void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 const void * user);
+void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user);
 void *	<a href="#xmlLinkGetData">xmlLinkGetData</a>			(<a href="libxml2-list.html#xmlLinkPtr">xmlLinkPtr</a> lk);
 void	<a href="#xmlListClear">xmlListClear</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l);
 int	<a href="#xmlListAppend">xmlListAppend</a>			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data);
@@ -112,7 +112,7 @@
 </pre><p>Callback function used to free data from a list.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>lk</tt></i>:</span></td><td>the data to deallocate</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListWalker"/>Function type xmlListWalker</h3><pre class="programlisting">int	xmlListWalker			(const void * data, <br/>					 const void * user)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlListWalker"/>Function type xmlListWalker</h3><pre class="programlisting">int	xmlListWalker			(const void * data, <br/>					 void * user)<br/>
 </pre><p>Callback function used when walking a list with xmlListWalk().</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data found in the list</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>extra user provided data to the walker</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 to stop walking the list, 1 otherwise.</td></tr></tbody></table></div></div>
         <hr/>
@@ -186,11 +186,11 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlListRemoveFirst"/>xmlListRemoveFirst ()</h3><pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
 </pre><p>Remove the first instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occured, or 0 if not found</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlListRemoveLast"/>xmlListRemoveLast ()</h3><pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 void * data)<br/>
 </pre><p>Remove the last instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occured, or 0 if not found</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlListReverse"/>xmlListReverse ()</h3><pre class="programlisting">void	xmlListReverse			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l)<br/>
 </pre><p>Reverse the order of the elements in the list</p>
@@ -200,7 +200,7 @@
 </pre><p>Search the list in reverse order for an existing value of @data</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListReverseWalk"/>xmlListReverseWalk ()</h3><pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 const void * user)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlListReverseWalk"/>xmlListReverseWalk ()</h3><pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user)<br/>
 </pre><p>Walk all the element of the list in reverse order and apply the walker function to it</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div></div>
         <hr/>
@@ -216,7 +216,7 @@
 </pre><p>Sort all the elements in the list</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div></div>
         <hr/>
-        <div class="refsect2" lang="en"><h3><a name="xmlListWalk"/>xmlListWalk ()</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 const void * user)<br/>
+        <div class="refsect2" lang="en"><h3><a name="xmlListWalk"/>xmlListWalk ()</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml2-list.html#xmlListPtr">xmlListPtr</a> l, <br/>					 <a href="libxml2-list.html#xmlListWalker">xmlListWalker</a> walker, <br/>					 void * user)<br/>
 </pre><p>Walk all the element of the first from first to last and apply the walker function to it</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div></div>
         <hr/>
diff --git a/doc/devhelp/libxml2-schemasInternals.html b/doc/devhelp/libxml2-schemasInternals.html
index 2f9cbc9..ab91754 100644
--- a/doc/devhelp/libxml2-schemasInternals.html
+++ b/doc/devhelp/libxml2-schemasInternals.html
@@ -39,7 +39,7 @@
       <span class="refentrytitle">schemasInternals</span>
     </h2>
     <p>schemasInternals - internal interfaces for XML Schemas</p>
-    <p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not garanteed to be API or ABI stable ! </p>
+    <p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p>
     <p>Author(s): Daniel Veillard </p>
     <div class="refsynopsisdiv">
       <h2>Synopsis</h2>
diff --git a/doc/devhelp/libxml2-tree.html b/doc/devhelp/libxml2-tree.html
index ac85d60..44e1e03 100644
--- a/doc/devhelp/libxml2-tree.html
+++ b/doc/devhelp/libxml2-tree.html
@@ -1542,7 +1542,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSplitQName2"/>xmlSplitQName2 ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br/>
 </pre><p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlSplitQName3"/>xmlSplitQName3 ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * name, <br/>					 int * len)<br/>
 </pre><p>parse an XML qualified name string,i</p>
diff --git a/doc/devhelp/libxml2-xmlerror.html b/doc/devhelp/libxml2-xmlerror.html
index 13bab8a..6a93649 100644
--- a/doc/devhelp/libxml2-xmlerror.html
+++ b/doc/devhelp/libxml2-xmlerror.html
@@ -897,7 +897,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlCtxtGetLastError"/>xmlCtxtGetLastError ()</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br/>
 </pre><p>Get the last parsing error registered.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occured or a pointer to the error</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlCtxtResetLastError"/>xmlCtxtResetLastError ()</h3><pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br/>
 </pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
@@ -905,7 +905,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlGetLastError"/>xmlGetLastError ()</h3><pre class="programlisting"><a href="libxml2-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br/>
 </pre><p>Get the last global error registered. This is per thread if compiled with thread support.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occured or a pointer to the error</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlParserError"/>xmlParserError ()</h3><pre class="programlisting">void	xmlParserError			(void * ctx, <br/>					 const char * msg, <br/>					 ... ...)<br/>
 </pre><p>Display and format an error messages, gives file, line, position and extra parameters.</p>
diff --git a/doc/devhelp/libxml2-xmlreader.html b/doc/devhelp/libxml2-xmlreader.html
index 3814f43..2051f70 100644
--- a/doc/devhelp/libxml2-xmlreader.html
+++ b/doc/devhelp/libxml2-xmlreader.html
@@ -213,7 +213,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlTextReaderErrorFunc"/>Function type xmlTextReaderErrorFunc</h3><pre class="programlisting">void	xmlTextReaderErrorFunc		(void * arg, <br/>					 const char * msg, <br/>					 <a href="libxml2-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br/>					 <a href="libxml2-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)<br/>
 </pre><p>Signature of an error callback from a reader parser</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error occured</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error occurred</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlFreeTextReader"/>xmlFreeTextReader ()</h3><pre class="programlisting">void	xmlFreeTextReader		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
 </pre><p>Deallocate all the resources associated to the reader</p>
@@ -477,7 +477,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlTextReaderPreservePattern"/>xmlTextReaderPreservePattern ()</h3><pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br/>
 </pre><p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>an XPath subset pattern</td></tr><tr><td><span class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a positive number in case of success and -1 in case of error</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>an XPath subset pattern</td></tr><tr><td><span class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a non-negative number in case of success and -1 in case of error</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlTextReaderQuoteChar"/>xmlTextReaderQuoteChar ()</h3><pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml2-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br/>
 </pre><p>The quotation mark character used to enclose the value of an attribute.</p>
diff --git a/doc/devhelp/libxml2-xmlstring.html b/doc/devhelp/libxml2-xmlstring.html
index ca90ed4..95a845f 100644
--- a/doc/devhelp/libxml2-xmlstring.html
+++ b/doc/devhelp/libxml2-xmlstring.html
@@ -133,7 +133,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlStrcat"/>xmlStrcat ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add)<br/>
 </pre><p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string.</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlStrchr"/>xmlStrchr ()</h3><pre class="programlisting">const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>					 <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> val)<br/>
 </pre><p>a strchr for xmlChar's</p>
@@ -157,7 +157,7 @@
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlStrncat"/>xmlStrncat ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * cur, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * add, <br/>					 int len)<br/>
 </pre><p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of @add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated if needed and should not be freed</td></tr></tbody></table></div></div>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of @add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlStrncatNew"/>xmlStrncatNew ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str1, <br/>					 const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str2, <br/>					 int len)<br/>
 </pre><p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
@@ -204,7 +204,7 @@
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 character or NULL</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strsize"/>xmlUTF8Strsize ()</h3><pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int len)<br/>
-</pre><p>storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8</p>
+</pre><p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml2-SAX.html#characters">characters</a> in the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the storage size of the first 'len' <a href="libxml2-SAX.html#characters">characters</a> of ARRAY</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlUTF8Strsub"/>xmlUTF8Strsub ()</h3><pre class="programlisting"><a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * utf, <br/>					 int start, <br/>					 int len)<br/>
diff --git a/doc/devhelp/libxml2-xpath.html b/doc/devhelp/libxml2-xpath.html
index 640c715..edf7643 100644
--- a/doc/devhelp/libxml2-xpath.html
+++ b/doc/devhelp/libxml2-xpath.html
@@ -473,7 +473,7 @@
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalExpression"/>xmlXPathEvalExpression ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml2-xmlstring.html#xmlChar">xmlChar</a> * str, <br/>						 <a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br/>
-</pre><p>Evaluate the XPath expression in the given context.</p>
+</pre><p>Alias for xmlXPathEval().</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathEvalPredicate"/>xmlXPathEvalPredicate ()</h3><pre class="programlisting">int	xmlXPathEvalPredicate		(<a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt, <br/>					 <a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> res)<br/>
@@ -501,15 +501,15 @@
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>obj</tt></i>:</span></td><td>the object to free</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathInit"/>xmlXPathInit ()</h3><pre class="programlisting">void	xmlXPathInit			(void)<br/>
-</pre><p>Initialize the XPath environment</p>
+</pre><p>Initialize the XPath environment Does nothing but must be kept as public function.</p>
 </div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathIsInf"/>xmlXPathIsInf ()</h3><pre class="programlisting">int	xmlXPathIsInf			(double val)<br/>
-</pre><p>Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/</p>
-<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div></div>
+</pre><p/>
+<div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathIsNaN"/>xmlXPathIsNaN ()</h3><pre class="programlisting">int	xmlXPathIsNaN			(double val)<br/>
-</pre><p>Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/</p>
+</pre><p/>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is a NaN, 0 otherwise</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathNewContext"/>xmlXPathNewContext ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml2-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br/>
diff --git a/doc/devhelp/libxml2-xpathInternals.html b/doc/devhelp/libxml2-xpathInternals.html
index 0597343..17d27cd 100644
--- a/doc/devhelp/libxml2-xpathInternals.html
+++ b/doc/devhelp/libxml2-xpathInternals.html
@@ -694,7 +694,7 @@
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathRoundFunction"/>xmlXPathRoundFunction ()</h3><pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is even is returned.</p>
+</pre><p>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is closest to positive infinity is returned.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPathStartsWithFunction"/>xmlXPathStartsWithFunction ()</h3><pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
diff --git a/doc/devhelp/libxml2-xpointer.html b/doc/devhelp/libxml2-xpointer.html
index 807eed7..4d7c337 100644
--- a/doc/devhelp/libxml2-xpointer.html
+++ b/doc/devhelp/libxml2-xpointer.html
@@ -158,7 +158,7 @@
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPtrRangeToFunction"/>xmlXPtrRangeToFunction ()</h3><pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml2-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br/>					 int nargs)<br/>
-</pre><p>Implement the range-to() XPointer function</p>
+</pre><p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
 <div class="variablelist"><table border="0"><col align="left"/><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPointer Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of args</td></tr></tbody></table></div></div>
         <hr/>
         <div class="refsect2" lang="en"><h3><a name="xmlXPtrWrapLocationSet"/>xmlXPtrWrapLocationSet ()</h3><pre class="programlisting"><a href="libxml2-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml2-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br/>
diff --git a/doc/devhelp/libxml2.devhelp b/doc/devhelp/libxml2.devhelp
index fbd3ad4..575b222 100644
--- a/doc/devhelp/libxml2.devhelp
+++ b/doc/devhelp/libxml2.devhelp
@@ -70,6 +70,7 @@
     <function name="HTML_PI_NODE" link="libxml2-HTMLtree.html#HTML_PI_NODE"/>
     <function name="HTML_PRESERVE_NODE" link="libxml2-HTMLtree.html#HTML_PRESERVE_NODE"/>
     <function name="HTML_TEXT_NODE" link="libxml2-HTMLtree.html#HTML_TEXT_NODE"/>
+    <function name="ICU_PIVOT_BUF_SIZE" link="libxml2-encoding.html#ICU_PIVOT_BUF_SIZE"/>
     <function name="INPUT_CHUNK" link="libxml2-parserInternals.html#INPUT_CHUNK"/>
     <function name="INVALID_SOCKET" link="libxml2-nanoftp.html#INVALID_SOCKET"/>
     <function name="IS_ASCII_DIGIT" link="libxml2-parserInternals.html#IS_ASCII_DIGIT"/>
@@ -2389,6 +2390,7 @@
     <function name="xmlHashCopy ()" link="libxml2-hash.html#xmlHashCopy"/>
     <function name="xmlHashCreate ()" link="libxml2-hash.html#xmlHashCreate"/>
     <function name="xmlHashCreateDict ()" link="libxml2-hash.html#xmlHashCreateDict"/>
+    <function name="xmlHashDefaultDeallocator ()" link="libxml2-hash.html#xmlHashDefaultDeallocator"/>
     <function name="xmlHashFree ()" link="libxml2-hash.html#xmlHashFree"/>
     <function name="xmlHashLookup ()" link="libxml2-hash.html#xmlHashLookup"/>
     <function name="xmlHashLookup2 ()" link="libxml2-hash.html#xmlHashLookup2"/>
diff --git a/doc/elfgcchack.xsl b/doc/elfgcchack.xsl
index 9b1a9bc..8dd5c6a 100644
--- a/doc/elfgcchack.xsl
+++ b/doc/elfgcchack.xsl
@@ -18,7 +18,7 @@
 #ifdef IN_LIBXML
 #ifdef __GNUC__
 #ifdef PIC
-#ifdef linux
+#ifdef __linux__
 #if (__GNUC__ == 3 &amp;&amp; __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
 
 #include "libxml/c14n.h"
diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am
index 57af9c2..ef59fce 100644
--- a/doc/examples/Makefile.am
+++ b/doc/examples/Makefile.am
@@ -13,7 +13,7 @@
 rebuild: examples.xml index.html
 .PHONY: rebuild
 
-examples.xml: index.py $(noinst_PROGRAMS:=.c)
+examples.xml: index.py $(check_PROGRAMS:=.c)
 	cd $(srcdir) && $(PYTHON) index.py
 	$(MAKE) Makefile
 
@@ -49,7 +49,7 @@
 	xpath1.res \
 	xpath2.res
 
-noinst_PROGRAMS = \
+check_PROGRAMS = \
 	io1 \
 	io2 \
 	parse1 \
@@ -99,37 +99,38 @@
 valgrind: 
 	$(MAKE) CHECKER='valgrind' tests
 
-tests: $(noinst_PROGRAMS)
-	test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
+tests: $(check_PROGRAMS)
+	@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .
 	@(echo '## examples regression tests')
 	@(echo > .memdump)
-	$(CHECKER) ./io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
+	@$(CHECKER) ./io1 > io1.tmp && diff io1.tmp $(srcdir)/io1.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
+	@$(CHECKER) ./io2 > io2.tmp && diff io2.tmp $(srcdir)/io2.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./parse1 test1.xml
+	@$(CHECKER) ./parse1 test1.xml
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./parse2 test2.xml
+	@$(CHECKER) ./parse2 test2.xml
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./parse3
+	@$(CHECKER) ./parse3
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./parse4 test3.xml
+	@$(CHECKER) ./parse4 test3.xml
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
+	@$(CHECKER) ./reader1 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
+	@$(CHECKER) ./reader2 test2.xml > reader1.tmp && diff reader1.tmp $(srcdir)/reader1.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
+	@$(CHECKER) ./reader3 > reader3.tmp && diff reader3.tmp $(srcdir)/reader3.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
+	@$(CHECKER) ./reader4 test1.xml test2.xml test3.xml > reader4.tmp && diff reader4.tmp $(srcdir)/reader4.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
+	@$(CHECKER) ./testWriter && for i in 1 2 3 4 ; do diff $(srcdir)/writer.xml writer$$i.tmp || break ; done
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
+	@$(CHECKER) ./tree1 test2.xml > tree1.tmp && diff tree1.tmp $(srcdir)/tree1.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
+	@$(CHECKER) ./tree2 > tree2.tmp && diff tree2.tmp $(srcdir)/tree2.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
+	@$(CHECKER) ./xpath1 test3.xml '//child2' > xpath1.tmp && diff xpath1.tmp $(srcdir)/xpath1.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
-	$(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
+	@$(CHECKER) ./xpath2 test3.xml '//discarded' discarded > xpath2.tmp && diff xpath2.tmp $(srcdir)/xpath2.res
 	@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0
+	@rm *.tmp
diff --git a/doc/examples/examples.xml b/doc/examples/examples.xml
index 28929cc..d38247b 100644
--- a/doc/examples/examples.xml
+++ b/doc/examples/examples.xml
@@ -1,123 +1,4 @@
 <examples>
-  <example filename='xpath1.c'>
-    <synopsis>Evaluate XPath expression and prints result node set.</synopsis>
-    <purpose>Shows how to evaluate XPath expression and register known namespaces in XPath context.</purpose>
-    <usage>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</usage>
-    <test>xpath1 test3.xml &apos;//child2&apos; &gt; xpath1.tmp &amp;&amp; diff xpath1.tmp $(srcdir)/xpath1.res</test>
-    <author>Aleksey Sanin</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>XPath</section>
-    <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
-      <include>&lt;libxml/xpath.h&gt;</include>
-      <include>&lt;libxml/xpathInternals.h&gt;</include>
-      <include>&lt;libxml/tree.h&gt;</include>
-    </includes>
-    <uses>
-      <enum line='229' file='tree' name='XML_ELEMENT_NODE'/>
-      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
-      <function line='54' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
-      <function line='94' file='parser' name='xmlParseFile'/>
-      <function line='186' file='xpathInternals' name='xmlXPathRegisterNs'/>
-      <function line='129' file='xpath' name='xmlXPathFreeObject'/>
-      <variable line='193' file='globals' name='xmlFree'/>
-      <typedef line='218' file='tree' name='xmlNsPtr'/>
-      <function line='101' file='xpath' name='xmlXPathNewContext'/>
-      <function line='49' file='parser' name='xmlCleanupParser'/>
-      <macro line='43' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
-      <function line='130' file='xpath' name='xmlXPathFreeContext'/>
-      <function line='39' file='parser' name='xmlInitParser'/>
-      <function line='156' file='xmlstring' name='xmlStrdup'/>
-      <function line='131' file='tree' name='xmlFreeDoc'/>
-      <function line='180' file='xmlstring' name='xmlStrchr'/>
-      <typedef line='206' file='tree' name='xmlNodePtr'/>
-      <typedef line='86' file='tree' name='xmlDocPtr'/>
-      <enum line='217' file='tree' name='XML_NAMESPACE_DECL'/>
-    </uses>
-  </example>
-  <example filename='parse3.c'>
-    <synopsis>Parse an XML document in memory to a tree and free it</synopsis>
-    <purpose>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</purpose>
-    <usage>parse3</usage>
-    <test>parse3</test>
-    <author>Daniel Veillard</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>Parsing</section>
-    <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='33' file='parser' name='xmlReadMemory'/>
-      <function line='58' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='54' file='parser' name='xmlCleanupParser'/>
-      <macro line='49' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='38' file='tree' name='xmlFreeDoc'/>
-      <typedef line='27' file='tree' name='xmlDocPtr'/>
-    </uses>
-  </example>
-  <example filename='reader2.c'>
-    <synopsis>Parse and validate an XML file with an xmlReader</synopsis>
-    <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
-    <usage>reader2 &lt;valid_xml_filename&gt;</usage>
-    <test>reader2 test2.xml &gt; reader1.tmp &amp;&amp; diff reader1.tmp $(srcdir)/reader1.res</test>
-    <author>Daniel Veillard</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>xmlReader</section>
-    <includes>
-      <include>&lt;libxml/xmlreader.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='45' file='xmlstring' name='xmlStrlen'/>
-      <function line='109' file='parser' name='xmlCleanupParser'/>
-      <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
-      <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
-      <function line='113' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
-      <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
-      <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
-      <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
-      <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
-      <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
-      <macro line='104' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
-      <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
-      <function line='76' file='xmlreader' name='xmlTextReaderRead'/>
-      <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
-      <function line='68' file='xmlreader' name='xmlReaderForFile'/>
-      <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
-    </uses>
-  </example>
-  <example filename='tree2.c'>
-    <synopsis>Creates a tree</synopsis>
-    <purpose>Shows how to create document, nodes and dump it to stdout or file.</purpose>
-    <usage>tree2 &lt;filename&gt;  -Default output: stdout</usage>
-    <test>tree2 &gt; tree2.tmp &amp;&amp; diff tree2.tmp $(srcdir)/tree2.res</test>
-    <author>Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</author>
-    <copy>see Copyright for the status of this software </copy>
-    <section>Tree</section>
-    <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='75' file='tree' name='xmlNewText'/>
-      <function line='110' file='xmlmemory' name='xmlMemoryDump'/>
-      <function line='96' file='tree' name='xmlSaveFormatFileEnc'/>
-      <function line='78' file='tree' name='xmlAddChild'/>
-      <function line='41' file='tree' name='xmlDocSetRootElement'/>
-      <function line='105' file='parser' name='xmlCleanupParser'/>
-      <macro line='34' file='xmlversion' name='LIBXML_TEST_VERSION'/>
-      <function line='89' file='tree' name='xmlNewProp'/>
-      <function line='88' file='tree' name='xmlNewChild'/>
-      <function line='74' file='tree' name='xmlNewNode'/>
-      <function line='46' file='tree' name='xmlCreateIntSubset'/>
-      <function line='99' file='tree' name='xmlFreeDoc'/>
-      <function line='39' file='tree' name='xmlNewDoc'/>
-    </uses>
-  </example>
   <example filename='io1.c'>
     <synopsis>Example of custom Input/Output</synopsis>
     <purpose>Demonstrate the use of xmlRegisterInputCallbacks to build a custom I/O layer, this is used in an XInclude method context to show how dynamic document can be built in a clean way.</purpose>
@@ -144,6 +25,96 @@
       <typedef line='105' file='tree' name='xmlDocPtr'/>
     </uses>
   </example>
+  <example filename='io2.c'>
+    <synopsis>Output to char buffer</synopsis>
+    <purpose>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</purpose>
+    <usage>io2</usage>
+    <test>io2 &gt; io2.tmp &amp;&amp; diff io2.tmp $(srcdir)/io2.res</test>
+    <author>John Fleck</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>InputOutput</section>
+    <includes>
+      <include>&lt;libxml/parser.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='29' file='tree' name='xmlNodeSetContent'/>
+      <function line='36' file='tree' name='xmlDocDumpFormatMemory'/>
+      <variable line='42' file='globals' name='xmlFree'/>
+      <function line='30' file='tree' name='xmlDocSetRootElement'/>
+      <typedef line='20' file='tree' name='xmlDocPtr'/>
+      <function line='43' file='tree' name='xmlFreeDoc'/>
+      <typedef line='19' file='tree' name='xmlNodePtr'/>
+      <function line='27' file='tree' name='xmlNewDoc'/>
+      <function line='28' file='tree' name='xmlNewNode'/>
+    </uses>
+  </example>
+  <example filename='parse1.c'>
+    <synopsis>Parse an XML file to a tree and free it</synopsis>
+    <purpose>Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</purpose>
+    <usage>parse1 test1.xml</usage>
+    <test>parse1 test1.xml</test>
+    <author>Daniel Veillard</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>Parsing</section>
+    <includes>
+      <include>&lt;libxml/tree.h&gt;</include>
+      <include>&lt;libxml/parser.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='54' file='xmlmemory' name='xmlMemoryDump'/>
+      <function line='50' file='parser' name='xmlCleanupParser'/>
+      <macro line='45' file='xmlversion' name='LIBXML_TEST_VERSION'/>
+      <typedef line='24' file='tree' name='xmlDocPtr'/>
+      <function line='31' file='tree' name='xmlFreeDoc'/>
+      <function line='26' file='parser' name='xmlReadFile'/>
+    </uses>
+  </example>
+  <example filename='parse2.c'>
+    <synopsis>Parse and validate an XML file to a tree and free the result</synopsis>
+    <purpose>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</purpose>
+    <usage>parse2 test2.xml</usage>
+    <test>parse2 test2.xml</test>
+    <author>Daniel Veillard</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>Parsing</section>
+    <includes>
+      <include>&lt;libxml/tree.h&gt;</include>
+      <include>&lt;libxml/parser.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='47' file='parser' name='xmlFreeParserCtxt'/>
+      <enum line='35' file='parser' name='XML_PARSE_DTDVALID'/>
+      <function line='29' file='parser' name='xmlNewParserCtxt'/>
+      <typedef line='25' file='tree' name='xmlParserCtxtPtr'/>
+      <function line='35' file='parser' name='xmlCtxtReadFile'/>
+      <function line='66' file='parser' name='xmlCleanupParser'/>
+      <macro line='61' file='xmlversion' name='LIBXML_TEST_VERSION'/>
+      <function line='44' file='tree' name='xmlFreeDoc'/>
+      <typedef line='26' file='tree' name='xmlDocPtr'/>
+      <function line='70' file='xmlmemory' name='xmlMemoryDump'/>
+    </uses>
+  </example>
+  <example filename='parse3.c'>
+    <synopsis>Parse an XML document in memory to a tree and free it</synopsis>
+    <purpose>Demonstrate the use of xmlReadMemory() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</purpose>
+    <usage>parse3</usage>
+    <test>parse3</test>
+    <author>Daniel Veillard</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>Parsing</section>
+    <includes>
+      <include>&lt;libxml/tree.h&gt;</include>
+      <include>&lt;libxml/parser.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='33' file='parser' name='xmlReadMemory'/>
+      <function line='58' file='xmlmemory' name='xmlMemoryDump'/>
+      <function line='54' file='parser' name='xmlCleanupParser'/>
+      <macro line='49' file='xmlversion' name='LIBXML_TEST_VERSION'/>
+      <function line='38' file='tree' name='xmlFreeDoc'/>
+      <typedef line='27' file='tree' name='xmlDocPtr'/>
+    </uses>
+  </example>
   <example filename='parse4.c'>
     <synopsis>Parse an XML document chunk by chunk to a tree and free it</synopsis>
     <purpose>Demonstrate the use of xmlCreatePushParserCtxt() and xmlParseChunk() to read an XML file progressively into a tree and and xmlFreeDoc() to free the resulting tree</purpose>
@@ -168,58 +139,6 @@
       <typedef line='47' file='tree' name='xmlDocPtr'/>
     </uses>
   </example>
-  <example filename='xpath2.c'>
-    <synopsis>Load a document, locate subelements with XPath, modify said elements and save the resulting document.</synopsis>
-    <purpose>Shows how to make a full round-trip from a load/edit/save</purpose>
-    <usage>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</usage>
-    <test>xpath2 test3.xml &apos;//discarded&apos; discarded &gt; xpath2.tmp &amp;&amp; diff xpath2.tmp $(srcdir)/xpath2.res</test>
-    <author>Aleksey Sanin and Daniel Veillard</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>XPath</section>
-    <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
-      <include>&lt;libxml/xpath.h&gt;</include>
-      <include>&lt;libxml/xpathInternals.h&gt;</include>
-      <include>&lt;libxml/tree.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='162' file='tree' name='xmlNodeSetContent'/>
-      <function line='127' file='tree' name='xmlDocDump'/>
-      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
-      <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
-      <function line='95' file='parser' name='xmlParseFile'/>
-      <function line='123' file='xpath' name='xmlXPathFreeObject'/>
-      <function line='102' file='xpath' name='xmlXPathNewContext'/>
-      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
-      <function line='124' file='xpath' name='xmlXPathFreeContext'/>
-      <function line='41' file='parser' name='xmlInitParser'/>
-      <function line='131' file='tree' name='xmlFreeDoc'/>
-      <enum line='180' file='tree' name='XML_NAMESPACE_DECL'/>
-      <typedef line='86' file='tree' name='xmlDocPtr'/>
-    </uses>
-  </example>
-  <example filename='io2.c'>
-    <synopsis>Output to char buffer</synopsis>
-    <purpose>Demonstrate the use of xmlDocDumpMemory to output document to a character buffer</purpose>
-    <usage>io2</usage>
-    <test>io2 &gt; io2.tmp &amp;&amp; diff io2.tmp $(srcdir)/io2.res</test>
-    <author>John Fleck</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>InputOutput</section>
-    <includes>
-      <include>&lt;libxml/parser.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='29' file='tree' name='xmlNodeSetContent'/>
-      <function line='36' file='tree' name='xmlDocDumpFormatMemory'/>
-      <variable line='42' file='globals' name='xmlFree'/>
-      <function line='30' file='tree' name='xmlDocSetRootElement'/>
-      <typedef line='20' file='tree' name='xmlDocPtr'/>
-      <typedef line='19' file='tree' name='xmlNodePtr'/>
-      <function line='27' file='tree' name='xmlNewDoc'/>
-      <function line='28' file='tree' name='xmlNewNode'/>
-    </uses>
-  </example>
   <example filename='reader1.c'>
     <synopsis>Parse an XML file with an xmlReader</synopsis>
     <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file and dump the informations about the nodes found in the process. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
@@ -233,11 +152,14 @@
     </includes>
     <uses>
       <function line='44' file='xmlstring' name='xmlStrlen'/>
+      <function line='94' file='parser' name='xmlCleanupParser'/>
       <function line='37' file='xmlreader' name='xmlTextReaderNodeType'/>
       <typedef line='59' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='98' file='xmlmemory' name='xmlMemoryDump'/>
       <function line='33' file='xmlreader' name='xmlTextReaderConstValue'/>
       <function line='36' file='xmlreader' name='xmlTextReaderDepth'/>
       <function line='69' file='xmlreader' name='xmlFreeTextReader'/>
+      <macro line='89' file='xmlversion' name='LIBXML_TEST_VERSION'/>
       <function line='29' file='xmlreader' name='xmlTextReaderConstName'/>
       <function line='40' file='xmlreader' name='xmlTextReaderHasValue'/>
       <function line='67' file='xmlreader' name='xmlTextReaderRead'/>
@@ -245,22 +167,33 @@
       <function line='62' file='xmlreader' name='xmlReaderForFile'/>
     </uses>
   </example>
-  <example filename='tree1.c'>
-    <synopsis>Navigates a tree to print element names</synopsis>
-    <purpose>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</purpose>
-    <usage>tree1 filename_or_URL</usage>
-    <test>tree1 test2.xml &gt; tree1.tmp &amp;&amp; diff tree1.tmp $(srcdir)/tree1.res</test>
-    <author>Dodji Seketeli</author>
+  <example filename='reader2.c'>
+    <synopsis>Parse and validate an XML file with an xmlReader</synopsis>
+    <purpose>Demonstrate the use of xmlReaderForFile() to parse an XML file validating the content in the process and activating options like entities substitution, and DTD attributes defaulting. (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
+    <usage>reader2 &lt;valid_xml_filename&gt;</usage>
+    <test>reader2 test2.xml &gt; reader1.tmp &amp;&amp; diff reader1.tmp $(srcdir)/reader1.res</test>
+    <author>Daniel Veillard</author>
     <copy>see Copyright for the status of this software. </copy>
-    <section>Tree</section>
+    <section>xmlReader</section>
     <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
+      <include>&lt;libxml/xmlreader.h&gt;</include>
     </includes>
     <uses>
-      <enum line='36' file='tree' name='XML_ELEMENT_NODE'/>
-      <function line='74' file='tree' name='xmlDocGetRootElement'/>
-      <function line='67' file='parser' name='xmlReadFile'/>
+      <function line='45' file='xmlstring' name='xmlStrlen'/>
+      <function line='38' file='xmlreader' name='xmlTextReaderNodeType'/>
+      <typedef line='60' file='xmlreader' name='xmlTextReaderPtr'/>
+      <function line='34' file='xmlreader' name='xmlTextReaderConstValue'/>
+      <enum line='70' file='parser' name='XML_PARSE_NOENT'/>
+      <function line='37' file='xmlreader' name='xmlTextReaderDepth'/>
+      <enum line='71' file='parser' name='XML_PARSE_DTDVALID'/>
+      <enum line='69' file='parser' name='XML_PARSE_DTDATTR'/>
+      <function line='84' file='xmlreader' name='xmlFreeTextReader'/>
+      <function line='30' file='xmlreader' name='xmlTextReaderConstName'/>
+      <function line='41' file='xmlreader' name='xmlTextReaderHasValue'/>
+      <function line='76' file='xmlreader' name='xmlTextReaderRead'/>
+      <function line='40' file='xmlreader' name='xmlTextReaderIsEmptyElement'/>
+      <function line='68' file='xmlreader' name='xmlReaderForFile'/>
+      <function line='81' file='xmlreader' name='xmlTextReaderIsValid'/>
     </uses>
   </example>
   <example filename='reader3.c'>
@@ -284,42 +217,6 @@
       <function line='38' file='xmlreader' name='xmlReaderForFile'/>
     </uses>
   </example>
-  <example filename='parse2.c'>
-    <synopsis>Parse and validate an XML file to a tree and free the result</synopsis>
-    <purpose>Create a parser context for an XML file, then parse and validate the file, creating a tree, check the validation result and xmlFreeDoc() to free the resulting tree.</purpose>
-    <usage>parse2 test2.xml</usage>
-    <test>parse2 test2.xml</test>
-    <author>Daniel Veillard</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>Parsing</section>
-    <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='47' file='parser' name='xmlFreeParserCtxt'/>
-      <enum line='35' file='parser' name='XML_PARSE_DTDVALID'/>
-      <function line='29' file='parser' name='xmlNewParserCtxt'/>
-      <typedef line='25' file='tree' name='xmlParserCtxtPtr'/>
-      <function line='35' file='parser' name='xmlCtxtReadFile'/>
-    </uses>
-  </example>
-  <example filename='parse1.c'>
-    <synopsis>Parse an XML file to a tree and free it</synopsis>
-    <purpose>Demonstrate the use of xmlReadFile() to read an XML file into a tree and and xmlFreeDoc() to free the resulting tree</purpose>
-    <usage>parse1 test1.xml</usage>
-    <test>parse1 test1.xml</test>
-    <author>Daniel Veillard</author>
-    <copy>see Copyright for the status of this software. </copy>
-    <section>Parsing</section>
-    <includes>
-      <include>&lt;libxml/tree.h&gt;</include>
-      <include>&lt;libxml/parser.h&gt;</include>
-    </includes>
-    <uses>
-      <function line='26' file='parser' name='xmlReadFile'/>
-    </uses>
-  </example>
   <example filename='reader4.c'>
     <synopsis>Parse multiple XML files reusing an xmlReader</synopsis>
     <purpose>Demonstrate the use of xmlReaderForFile() and xmlReaderNewFile to parse XML files while reusing the reader object and parser context.  (Note that the XMLReader functions require libxml2 version later than 2.6.)</purpose>
@@ -384,21 +281,124 @@
       <function line='885' file='tree' name='xmlNewDoc'/>
     </uses>
   </example>
+  <example filename='tree1.c'>
+    <synopsis>Navigates a tree to print element names</synopsis>
+    <purpose>Parse a file to a tree, use xmlDocGetRootElement() to get the root element, then walk the document and print all the element name in document order.</purpose>
+    <usage>tree1 filename_or_URL</usage>
+    <test>tree1 test2.xml &gt; tree1.tmp &amp;&amp; diff tree1.tmp $(srcdir)/tree1.res</test>
+    <author>Dodji Seketeli</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>Tree</section>
+    <includes>
+      <include>&lt;libxml/tree.h&gt;</include>
+      <include>&lt;libxml/parser.h&gt;</include>
+    </includes>
+    <uses>
+      <enum line='36' file='tree' name='XML_ELEMENT_NODE'/>
+      <function line='74' file='tree' name='xmlDocGetRootElement'/>
+      <function line='67' file='parser' name='xmlReadFile'/>
+    </uses>
+  </example>
+  <example filename='tree2.c'>
+    <synopsis>Creates a tree</synopsis>
+    <purpose>Shows how to create document, nodes and dump it to stdout or file.</purpose>
+    <usage>tree2 &lt;filename&gt;  -Default output: stdout</usage>
+    <test>tree2 &gt; tree2.tmp &amp;&amp; diff tree2.tmp $(srcdir)/tree2.res</test>
+    <author>Lucas Brasilino &lt;brasilino@recife.pe.gov.br&gt;</author>
+    <copy>see Copyright for the status of this software </copy>
+    <section>Tree</section>
+    <includes>
+      <include>&lt;libxml/tree.h&gt;</include>
+      <include>&lt;libxml/parser.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='74' file='tree' name='xmlNewText'/>
+      <function line='95' file='tree' name='xmlSaveFormatFileEnc'/>
+      <function line='77' file='tree' name='xmlAddChild'/>
+      <function line='40' file='tree' name='xmlDocSetRootElement'/>
+      <function line='88' file='tree' name='xmlNewProp'/>
+      <function line='87' file='tree' name='xmlNewChild'/>
+      <function line='73' file='tree' name='xmlNewNode'/>
+      <function line='45' file='tree' name='xmlCreateIntSubset'/>
+      <function line='38' file='tree' name='xmlNewDoc'/>
+    </uses>
+  </example>
+  <example filename='xpath1.c'>
+    <synopsis>Evaluate XPath expression and prints result node set.</synopsis>
+    <purpose>Shows how to evaluate XPath expression and register known namespaces in XPath context.</purpose>
+    <usage>xpath1 &lt;xml-file&gt; &lt;xpath-expr&gt; [&lt;known-ns-list&gt;]</usage>
+    <test>xpath1 test3.xml &apos;//child2&apos; &gt; xpath1.tmp &amp;&amp; diff xpath1.tmp $(srcdir)/xpath1.res</test>
+    <author>Aleksey Sanin</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>XPath</section>
+    <includes>
+      <include>&lt;libxml/parser.h&gt;</include>
+      <include>&lt;libxml/xpath.h&gt;</include>
+      <include>&lt;libxml/xpathInternals.h&gt;</include>
+      <include>&lt;libxml/tree.h&gt;</include>
+    </includes>
+    <uses>
+      <enum line='229' file='tree' name='XML_ELEMENT_NODE'/>
+      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
+      <function line='117' file='xpath' name='xmlXPathEvalExpression'/>
+      <function line='94' file='parser' name='xmlParseFile'/>
+      <function line='186' file='xpathInternals' name='xmlXPathRegisterNs'/>
+      <function line='129' file='xpath' name='xmlXPathFreeObject'/>
+      <variable line='193' file='globals' name='xmlFree'/>
+      <typedef line='218' file='tree' name='xmlNsPtr'/>
+      <function line='101' file='xpath' name='xmlXPathNewContext'/>
+      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
+      <function line='130' file='xpath' name='xmlXPathFreeContext'/>
+      <function line='39' file='parser' name='xmlInitParser'/>
+      <function line='156' file='xmlstring' name='xmlStrdup'/>
+      <function line='180' file='xmlstring' name='xmlStrchr'/>
+      <typedef line='206' file='tree' name='xmlNodePtr'/>
+      <enum line='217' file='tree' name='XML_NAMESPACE_DECL'/>
+    </uses>
+  </example>
+  <example filename='xpath2.c'>
+    <synopsis>Load a document, locate subelements with XPath, modify said elements and save the resulting document.</synopsis>
+    <purpose>Shows how to make a full round-trip from a load/edit/save</purpose>
+    <usage>xpath2 &lt;xml-file&gt; &lt;xpath-expr&gt; &lt;new-value&gt;</usage>
+    <test>xpath2 test3.xml &apos;//discarded&apos; discarded &gt; xpath2.tmp &amp;&amp; diff xpath2.tmp $(srcdir)/xpath2.res</test>
+    <author>Aleksey Sanin and Daniel Veillard</author>
+    <copy>see Copyright for the status of this software. </copy>
+    <section>XPath</section>
+    <includes>
+      <include>&lt;libxml/parser.h&gt;</include>
+      <include>&lt;libxml/xpath.h&gt;</include>
+      <include>&lt;libxml/xpathInternals.h&gt;</include>
+      <include>&lt;libxml/tree.h&gt;</include>
+    </includes>
+    <uses>
+      <function line='162' file='tree' name='xmlNodeSetContent'/>
+      <function line='127' file='tree' name='xmlDocDump'/>
+      <typedef line='88' file='xpath' name='xmlXPathObjectPtr'/>
+      <function line='110' file='xpath' name='xmlXPathEvalExpression'/>
+      <function line='95' file='parser' name='xmlParseFile'/>
+      <function line='123' file='xpath' name='xmlXPathFreeObject'/>
+      <function line='102' file='xpath' name='xmlXPathNewContext'/>
+      <typedef line='87' file='xpath' name='xmlXPathContextPtr'/>
+      <function line='124' file='xpath' name='xmlXPathFreeContext'/>
+      <function line='41' file='parser' name='xmlInitParser'/>
+      <enum line='180' file='tree' name='XML_NAMESPACE_DECL'/>
+    </uses>
+  </example>
   <symbols>
     <symbol name='LIBXML_TEST_VERSION'>
-      <ref filename='xpath1.c'/>
-      <ref filename='parse3.c'/>
-      <ref filename='reader2.c'/>
-      <ref filename='tree2.c'/>
       <ref filename='io1.c'/>
+      <ref filename='parse1.c'/>
+      <ref filename='parse2.c'/>
+      <ref filename='parse3.c'/>
       <ref filename='parse4.c'/>
+      <ref filename='reader1.c'/>
     </symbol>
     <symbol name='XML_DEFAULT_VERSION'>
       <ref filename='testWriter.c'/>
     </symbol>
     <symbol name='XML_ELEMENT_NODE'>
-      <ref filename='xpath1.c'/>
       <ref filename='tree1.c'/>
+      <ref filename='xpath1.c'/>
     </symbol>
     <symbol name='XML_NAMESPACE_DECL'>
       <ref filename='xpath1.c'/>
@@ -408,8 +408,8 @@
       <ref filename='reader2.c'/>
     </symbol>
     <symbol name='XML_PARSE_DTDVALID'>
-      <ref filename='reader2.c'/>
       <ref filename='parse2.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='XML_PARSE_NOENT'>
       <ref filename='reader2.c'/>
@@ -430,12 +430,12 @@
       <ref filename='testWriter.c'/>
     </symbol>
     <symbol name='xmlCleanupParser'>
-      <ref filename='xpath1.c'/>
-      <ref filename='parse3.c'/>
-      <ref filename='reader2.c'/>
-      <ref filename='tree2.c'/>
       <ref filename='io1.c'/>
+      <ref filename='parse1.c'/>
+      <ref filename='parse2.c'/>
+      <ref filename='parse3.c'/>
       <ref filename='parse4.c'/>
+      <ref filename='reader1.c'/>
     </symbol>
     <symbol name='xmlCreateIntSubset'>
       <ref filename='tree2.c'/>
@@ -448,8 +448,8 @@
     </symbol>
     <symbol name='xmlDocDump'>
       <ref filename='io1.c'/>
-      <ref filename='xpath2.c'/>
       <ref filename='reader3.c'/>
+      <ref filename='xpath2.c'/>
     </symbol>
     <symbol name='xmlDocDumpFormatMemory'>
       <ref filename='io2.c'/>
@@ -458,41 +458,41 @@
       <ref filename='tree1.c'/>
     </symbol>
     <symbol name='xmlDocPtr'>
-      <ref filename='xpath1.c'/>
-      <ref filename='parse3.c'/>
       <ref filename='io1.c'/>
-      <ref filename='parse4.c'/>
-      <ref filename='xpath2.c'/>
       <ref filename='io2.c'/>
+      <ref filename='parse1.c'/>
+      <ref filename='parse2.c'/>
+      <ref filename='parse3.c'/>
+      <ref filename='parse4.c'/>
     </symbol>
     <symbol name='xmlDocSetRootElement'>
-      <ref filename='tree2.c'/>
       <ref filename='io2.c'/>
       <ref filename='testWriter.c'/>
+      <ref filename='tree2.c'/>
     </symbol>
     <symbol name='xmlFindCharEncodingHandler'>
       <ref filename='testWriter.c'/>
     </symbol>
     <symbol name='xmlFree'>
-      <ref filename='xpath1.c'/>
       <ref filename='io2.c'/>
       <ref filename='testWriter.c'/>
+      <ref filename='xpath1.c'/>
     </symbol>
     <symbol name='xmlFreeDoc'>
-      <ref filename='xpath1.c'/>
-      <ref filename='parse3.c'/>
-      <ref filename='tree2.c'/>
       <ref filename='io1.c'/>
+      <ref filename='io2.c'/>
+      <ref filename='parse1.c'/>
+      <ref filename='parse2.c'/>
+      <ref filename='parse3.c'/>
       <ref filename='parse4.c'/>
-      <ref filename='xpath2.c'/>
     </symbol>
     <symbol name='xmlFreeParserCtxt'>
-      <ref filename='parse4.c'/>
       <ref filename='parse2.c'/>
+      <ref filename='parse4.c'/>
     </symbol>
     <symbol name='xmlFreeTextReader'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
       <ref filename='reader4.c'/>
     </symbol>
@@ -507,27 +507,27 @@
       <ref filename='testWriter.c'/>
     </symbol>
     <symbol name='xmlMemoryDump'>
-      <ref filename='xpath1.c'/>
-      <ref filename='parse3.c'/>
-      <ref filename='reader2.c'/>
-      <ref filename='tree2.c'/>
       <ref filename='io1.c'/>
+      <ref filename='parse1.c'/>
+      <ref filename='parse2.c'/>
+      <ref filename='parse3.c'/>
       <ref filename='parse4.c'/>
+      <ref filename='reader1.c'/>
     </symbol>
     <symbol name='xmlNewChild'>
       <ref filename='tree2.c'/>
     </symbol>
     <symbol name='xmlNewDoc'>
-      <ref filename='tree2.c'/>
       <ref filename='io2.c'/>
       <ref filename='testWriter.c'/>
+      <ref filename='tree2.c'/>
     </symbol>
     <symbol name='xmlNewDocNode'>
       <ref filename='testWriter.c'/>
     </symbol>
     <symbol name='xmlNewNode'>
-      <ref filename='tree2.c'/>
       <ref filename='io2.c'/>
+      <ref filename='tree2.c'/>
     </symbol>
     <symbol name='xmlNewParserCtxt'>
       <ref filename='parse2.c'/>
@@ -551,13 +551,13 @@
       <ref filename='testWriter.c'/>
     </symbol>
     <symbol name='xmlNodePtr'>
-      <ref filename='xpath1.c'/>
       <ref filename='io2.c'/>
       <ref filename='testWriter.c'/>
+      <ref filename='xpath1.c'/>
     </symbol>
     <symbol name='xmlNodeSetContent'>
-      <ref filename='xpath2.c'/>
       <ref filename='io2.c'/>
+      <ref filename='xpath2.c'/>
     </symbol>
     <symbol name='xmlNsPtr'>
       <ref filename='xpath1.c'/>
@@ -570,20 +570,20 @@
       <ref filename='xpath2.c'/>
     </symbol>
     <symbol name='xmlParserCtxtPtr'>
-      <ref filename='parse4.c'/>
       <ref filename='parse2.c'/>
+      <ref filename='parse4.c'/>
     </symbol>
     <symbol name='xmlReadFile'>
-      <ref filename='tree1.c'/>
       <ref filename='parse1.c'/>
+      <ref filename='tree1.c'/>
     </symbol>
     <symbol name='xmlReadMemory'>
-      <ref filename='parse3.c'/>
       <ref filename='io1.c'/>
+      <ref filename='parse3.c'/>
     </symbol>
     <symbol name='xmlReaderForFile'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
       <ref filename='reader4.c'/>
     </symbol>
@@ -609,52 +609,52 @@
       <ref filename='xpath1.c'/>
     </symbol>
     <symbol name='xmlStrlen'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderConstName'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderConstValue'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderCurrentDoc'>
       <ref filename='reader3.c'/>
       <ref filename='reader4.c'/>
     </symbol>
     <symbol name='xmlTextReaderDepth'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderHasValue'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderIsEmptyElement'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderIsValid'>
       <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderNodeType'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
     </symbol>
     <symbol name='xmlTextReaderPreservePattern'>
       <ref filename='reader3.c'/>
     </symbol>
     <symbol name='xmlTextReaderPtr'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
       <ref filename='reader4.c'/>
     </symbol>
     <symbol name='xmlTextReaderRead'>
-      <ref filename='reader2.c'/>
       <ref filename='reader1.c'/>
+      <ref filename='reader2.c'/>
       <ref filename='reader3.c'/>
       <ref filename='reader4.c'/>
     </symbol>
@@ -725,22 +725,22 @@
       <example filename='io2.c'/>
     </section>
     <section name='Parsing'>
+      <example filename='parse1.c'/>
+      <example filename='parse2.c'/>
       <example filename='parse3.c'/>
       <example filename='parse4.c'/>
-      <example filename='parse2.c'/>
-      <example filename='parse1.c'/>
     </section>
     <section name='Tree'>
-      <example filename='tree2.c'/>
       <example filename='tree1.c'/>
+      <example filename='tree2.c'/>
     </section>
     <section name='XPath'>
       <example filename='xpath1.c'/>
       <example filename='xpath2.c'/>
     </section>
     <section name='xmlReader'>
-      <example filename='reader2.c'/>
       <example filename='reader1.c'/>
+      <example filename='reader2.c'/>
       <example filename='reader3.c'/>
       <example filename='reader4.c'/>
     </section>
diff --git a/doc/examples/index.py b/doc/examples/index.py
index 7e0efaa..ac44ec5 100755
--- a/doc/examples/index.py
+++ b/doc/examples/index.py
@@ -235,7 +235,7 @@
 rebuild: examples.xml index.html
 .PHONY: rebuild
 
-examples.xml: index.py $(noinst_PROGRAMS:=.c)
+examples.xml: index.py $(check_PROGRAMS:=.c)
 	cd $(srcdir) && $(PYTHON) index.py
 	$(MAKE) Makefile
 
@@ -259,20 +259,21 @@
     for extra in extras:
         EXTRA_DIST = EXTRA_DIST + " \\\n\t" + extra
     Makefile = Makefile + "EXTRA_DIST =%s\n\n" % (EXTRA_DIST)
-    noinst_PROGRAMS=""
+    check_PROGRAMS=""
     for example in examples:
-        noinst_PROGRAMS = noinst_PROGRAMS + " \\\n\t" + example
-    Makefile = Makefile + "noinst_PROGRAMS =%s\n\n" % (noinst_PROGRAMS)
+        check_PROGRAMS = check_PROGRAMS + " \\\n\t" + example
+    Makefile = Makefile + "check_PROGRAMS =%s\n\n" % (check_PROGRAMS)
     for example in examples:
         Makefile = Makefile + "%s_SOURCES = %s.c\n\n" % (example, example)
     Makefile = Makefile + "valgrind: \n\t$(MAKE) CHECKER='valgrind' tests\n\n"
-    Makefile = Makefile + "tests: $(noinst_PROGRAMS)\n"
-    Makefile = Makefile + "\ttest -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .\n"
+    Makefile = Makefile + "tests: $(check_PROGRAMS)\n"
+    Makefile = Makefile + "\t@test -f Makefile.am || test -f test1.xml || $(LN_S) $(srcdir)/test?.xml .\n"
     Makefile = Makefile + "\t@(echo '## examples regression tests')\n"
     Makefile = Makefile + "\t@(echo > .memdump)\n"
     for test in tests:
-        Makefile = Makefile + "\t$(CHECKER) %s\n" % (test)
+        Makefile = Makefile + "\t@$(CHECKER) %s\n" % (test)
         Makefile = Makefile + '\t@grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0" ; exit 0\n'
+    Makefile = Makefile + "\t@rm *.tmp\n"
     try:
 	old = open("Makefile.am", "r").read()
 	if old != Makefile:
@@ -302,7 +303,7 @@
     output = open("examples.xml", "w")
     output.write("<examples>\n")
 
-    for file in glob.glob('*.c'):
+    for file in sorted(glob.glob('*.c')):
 	parse(file, output)
 	examples.append(file[:-2])
 
diff --git a/doc/examples/testWriter.c b/doc/examples/testWriter.c
index f662f76..82e8d3a 100644
--- a/doc/examples/testWriter.c
+++ b/doc/examples/testWriter.c
@@ -102,7 +102,7 @@
      * Please observe, that the input to the xmlTextWriter functions
      * HAS to be in UTF-8, even if the output XML is encoded
      * in iso-8859-1 */
-    tmp = ConvertInput("This is a comment with special chars: <äöü>",
+    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                        MY_ENCODING);
     rc = xmlTextWriterWriteComment(writer, tmp);
     if (rc < 0) {
@@ -139,7 +139,7 @@
     }
 
     /* Write a comment as child of ORDER */
-    tmp = ConvertInput("<äöü>", MY_ENCODING);
+    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
     rc = xmlTextWriterWriteFormatComment(writer,
 		     "This is another comment with special chars: %s",
 		     tmp);
@@ -177,7 +177,7 @@
     }
 
     /* Write an element named "NAME_1" as child of HEADER. */
-    tmp = ConvertInput("Müller", MY_ENCODING);
+    tmp = ConvertInput("M\xFCller", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
     if (rc < 0) {
         printf
@@ -187,7 +187,7 @@
     if (tmp != NULL) xmlFree(tmp);
 
     /* Write an element named "NAME_2" as child of HEADER. */
-    tmp = ConvertInput("Jörg", MY_ENCODING);
+    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
     if (rc < 0) {
         printf
@@ -381,7 +381,7 @@
      * Please observe, that the input to the xmlTextWriter functions
      * HAS to be in UTF-8, even if the output XML is encoded
      * in iso-8859-1 */
-    tmp = ConvertInput("This is a comment with special chars: <äöü>",
+    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                        MY_ENCODING);
     rc = xmlTextWriterWriteComment(writer, tmp);
     if (rc < 0) {
@@ -418,7 +418,7 @@
     }
 
     /* Write a comment as child of ORDER */
-    tmp = ConvertInput("<äöü>", MY_ENCODING);
+    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
     rc = xmlTextWriterWriteFormatComment(writer,
 		     "This is another comment with special chars: %s",
                                          tmp);
@@ -456,7 +456,7 @@
     }
 
     /* Write an element named "NAME_1" as child of HEADER. */
-    tmp = ConvertInput("Müller", MY_ENCODING);
+    tmp = ConvertInput("M\xFCller", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
     if (rc < 0) {
         printf
@@ -466,7 +466,7 @@
     if (tmp != NULL) xmlFree(tmp);
 
     /* Write an element named "NAME_2" as child of HEADER. */
-    tmp = ConvertInput("Jörg", MY_ENCODING);
+    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
 
     if (rc < 0) {
@@ -656,7 +656,7 @@
      * Please observe, that the input to the xmlTextWriter functions
      * HAS to be in UTF-8, even if the output XML is encoded
      * in iso-8859-1 */
-    tmp = ConvertInput("This is a comment with special chars: <äöü>",
+    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                        MY_ENCODING);
     rc = xmlTextWriterWriteComment(writer, tmp);
     if (rc < 0) {
@@ -689,7 +689,7 @@
     }
 
     /* Write a comment as child of ORDER */
-    tmp = ConvertInput("<äöü>", MY_ENCODING);
+    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
     rc = xmlTextWriterWriteFormatComment(writer,
 		 "This is another comment with special chars: %s",
 		                         tmp);
@@ -726,7 +726,7 @@
     }
 
     /* Write an element named "NAME_1" as child of HEADER. */
-    tmp = ConvertInput("Müller", MY_ENCODING);
+    tmp = ConvertInput("M\xFCller", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
     if (rc < 0) {
         printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
@@ -735,7 +735,7 @@
     if (tmp != NULL) xmlFree(tmp);
 
     /* Write an element named "NAME_2" as child of HEADER. */
-    tmp = ConvertInput("Jörg", MY_ENCODING);
+    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
     if (rc < 0) {
         printf("testXmlwriterDoc: Error at xmlTextWriterWriteElement\n");
@@ -920,7 +920,7 @@
      * Please observe, that the input to the xmlTextWriter functions
      * HAS to be in UTF-8, even if the output XML is encoded
      * in iso-8859-1 */
-    tmp = ConvertInput("This is a comment with special chars: <äöü>",
+    tmp = ConvertInput("This is a comment with special chars: <\xE4\xF6\xFC>",
                        MY_ENCODING);
     rc = xmlTextWriterWriteComment(writer, tmp);
     if (rc < 0) {
@@ -955,7 +955,7 @@
     }
 
     /* Write a comment as child of ORDER */
-    tmp = ConvertInput("<äöü>", MY_ENCODING);
+    tmp = ConvertInput("<\xE4\xF6\xFC>", MY_ENCODING);
     rc = xmlTextWriterWriteFormatComment(writer,
 			 "This is another comment with special chars: %s",
 					  tmp);
@@ -992,7 +992,7 @@
     }
 
     /* Write an element named "NAME_1" as child of HEADER. */
-    tmp = ConvertInput("Müller", MY_ENCODING);
+    tmp = ConvertInput("M\xFCller", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_1", tmp);
     if (rc < 0) {
         printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
@@ -1001,7 +1001,7 @@
     if (tmp != NULL) xmlFree(tmp);
 
     /* Write an element named "NAME_2" as child of HEADER. */
-    tmp = ConvertInput("Jörg", MY_ENCODING);
+    tmp = ConvertInput("J\xF6rg", MY_ENCODING);
     rc = xmlTextWriterWriteElement(writer, BAD_CAST "NAME_2", tmp);
     if (rc < 0) {
         printf("testXmlwriterTree: Error at xmlTextWriterWriteElement\n");
diff --git a/doc/examples/tree2.c b/doc/examples/tree2.c
index 1cd1abe..6548e29 100644
--- a/doc/examples/tree2.c
+++ b/doc/examples/tree2.c
@@ -27,7 +27,6 @@
 {
     xmlDocPtr doc = NULL;       /* document pointer */
     xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */
-    xmlDtdPtr dtd = NULL;       /* DTD pointer */
     char buff[256];
     int i, j;
 
@@ -43,7 +42,7 @@
     /*
      * Creates a DTD declaration. Isn't mandatory. 
      */
-    dtd = xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd");
+    xmlCreateIntSubset(doc, BAD_CAST "root", NULL, BAD_CAST "tree2.dtd");
 
     /* 
      * xmlNewChild() creates a new node, which is "attached" as child node
diff --git a/doc/html/libxml-HTMLparser.html b/doc/html/libxml-HTMLparser.html
index f5f77af..7d9d299 100644
--- a/doc/html/libxml-HTMLparser.html
+++ b/doc/html/libxml-HTMLparser.html
@@ -50,7 +50,7 @@
 <pre class="programlisting"><a href="libxml-HTMLparser.html#htmlStatus">htmlStatus</a>	<a href="#htmlNodeStatus">htmlNodeStatus</a>		(const <a href="libxml-HTMLparser.html#htmlNodePtr">htmlNodePtr</a> node, <br />					 int legacy)</pre>
 <pre class="programlisting">int	<a href="#htmlParseCharRef">htmlParseCharRef</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">int	<a href="#htmlParseChunk">htmlParseChunk</a>			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)</pre>
+<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlParseDoc">htmlParseDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)</pre>
 <pre class="programlisting">int	<a href="#htmlParseDocument">htmlParseDocument</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">void	<a href="#htmlParseElement">htmlParseElement</a>		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)</pre>
 <pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlEntityDesc">htmlEntityDesc</a> *	<a href="#htmlParseEntityRef">htmlParseEntityRef</a>	(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** str)</pre>
@@ -60,7 +60,7 @@
 <pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadFile">htmlReadFile</a>		(const char * filename, <br />					 const char * encoding, <br />					 int options)</pre>
 <pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadIO">htmlReadIO</a>		(<a href="libxml-xmlIO.html#xmlInputReadCallback">xmlInputReadCallback</a> ioread, <br />					 <a href="libxml-xmlIO.html#xmlInputCloseCallback">xmlInputCloseCallback</a> ioclose, <br />					 void * ioctx, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
 <pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlReadMemory">htmlReadMemory</a>		(const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)</pre>
-<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
+<pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseDoc">htmlSAXParseDoc</a>		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
 <pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	<a href="#htmlSAXParseFile">htmlSAXParseFile</a>	(const char * filename, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)</pre>
 <pre class="programlisting">const <a href="libxml-HTMLparser.html#htmlElemDesc">htmlElemDesc</a> *	<a href="#htmlTagLookup">htmlTagLookup</a>	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * tag)</pre>
 <h2>Description</h2>
@@ -155,7 +155,7 @@
 </pre><p>parse Reference declarations [66] CharRef ::= '&amp;#' [0-9]+ ';' | '&amp;#x' [0-9a-fA-F]+ ';'</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value parsed (as an int)</td></tr></tbody></table></div><h3><a name="htmlParseChunk" id="htmlParseChunk"></a>Function: htmlParseChunk</h3><pre class="programlisting">int	htmlParseChunk			(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt, <br />					 const char * chunk, <br />					 int size, <br />					 int terminate)<br />
 </pre><p>Parse a Chunk of memory</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div><h3><a name="htmlParseDoc" id="htmlParseDoc"></a>Function: htmlParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an HTML parser context</td></tr><tr><td><span class="term"><i><tt>chunk</tt></i>:</span></td><td>an char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size in byte of the chunk</td></tr><tr><td><span class="term"><i><tt>terminate</tt></i>:</span></td><td>last chunk indicator</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>zero if no error, the <a href="libxml-xmlerror.html#xmlParserErrors">xmlParserErrors</a> otherwise.</td></tr></tbody></table></div><h3><a name="htmlParseDoc" id="htmlParseDoc"></a>Function: htmlParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlParseDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding)<br />
 </pre><p>parse an HTML in-memory document and build a tree.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlParseDocument" id="htmlParseDocument"></a>Function: htmlParseDocument</h3><pre class="programlisting">int	htmlParseDocument		(<a href="libxml-HTMLparser.html#htmlParserCtxtPtr">htmlParserCtxtPtr</a> ctxt)<br />
 </pre><p>parse an HTML document (and build a tree if using the standard SAX interface).</p>
@@ -175,7 +175,7 @@
 </pre><p>parse an HTML document from I/O functions and source and build a tree.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ioread</tt></i>:</span></td><td>an I/O read function</td></tr><tr><td><span class="term"><i><tt>ioclose</tt></i>:</span></td><td>an I/O close function</td></tr><tr><td><span class="term"><i><tt>ioctx</tt></i>:</span></td><td>an I/O handler</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlReadMemory" id="htmlReadMemory"></a>Function: htmlReadMemory</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlReadMemory		(const char * buffer, <br />					 int size, <br />					 const char * URL, <br />					 const char * encoding, <br />					 int options)<br />
 </pre><p>parse an XML in-memory document and build a tree.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlSAXParseDoc" id="htmlSAXParseDoc"></a>Function: htmlSAXParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>buffer</tt></i>:</span></td><td>a pointer to a char array</td></tr><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the array</td></tr><tr><td><span class="term"><i><tt>URL</tt></i>:</span></td><td>the base URL to use for the document</td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>the document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>options</tt></i>:</span></td><td>a combination of htmlParserOption(s)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree</td></tr></tbody></table></div><h3><a name="htmlSAXParseDoc" id="htmlSAXParseDoc"></a>Function: htmlSAXParseDoc</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseDoc		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
 </pre><p>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>a pointer to an array of <a href="libxml-xmlstring.html#xmlChar">xmlChar</a></td></tr><tr><td><span class="term"><i><tt>encoding</tt></i>:</span></td><td>a free form C string describing the HTML document encoding, or NULL</td></tr><tr><td><span class="term"><i><tt>sax</tt></i>:</span></td><td>the SAX handler block</td></tr><tr><td><span class="term"><i><tt>userData</tt></i>:</span></td><td>if using SAX, this pointer will be provided on callbacks.</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the resulting document tree unless SAX is NULL or the document is not well formed.</td></tr></tbody></table></div><h3><a name="htmlSAXParseFile" id="htmlSAXParseFile"></a>Function: htmlSAXParseFile</h3><pre class="programlisting"><a href="libxml-HTMLparser.html#htmlDocPtr">htmlDocPtr</a>	htmlSAXParseFile	(const char * filename, <br />					 const char * encoding, <br />					 <a href="libxml-HTMLparser.html#htmlSAXHandlerPtr">htmlSAXHandlerPtr</a> sax, <br />					 void * userData)<br />
 </pre><p>parse an HTML file and build a tree. Automatic support for ZLIB/Compress compressed document is provided by default if found at compile-time. It use the given SAX function block to handle the parsing callback. If sax is NULL, fallback to the default DOM tree building routines.</p>
diff --git a/doc/html/libxml-dict.html b/doc/html/libxml-dict.html
index 74e243b..0854d29 100644
--- a/doc/html/libxml-dict.html
+++ b/doc/html/libxml-dict.html
@@ -33,9 +33,9 @@
 </pre><p>Free the dictionary mutex. Do not call unless sure the library is not in use anymore !</p>
 <h3><a name="xmlDictCreate" id="xmlDictCreate"></a>Function: xmlDictCreate</h3><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreate		(void)<br />
 </pre><p>Create a new dictionary</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occured.</td></tr></tbody></table></div><h3><a name="xmlDictCreateSub" id="xmlDictCreateSub"></a>Function: xmlDictCreateSub</h3><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlDictCreateSub" id="xmlDictCreateSub"></a>Function: xmlDictCreateSub</h3><pre class="programlisting"><a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a>	xmlDictCreateSub	(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> sub)<br />
 </pre><p>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occured.</td></tr></tbody></table></div><h3><a name="xmlDictExists" id="xmlDictExists"></a>Function: xmlDictExists</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>sub</tt></i>:</span></td><td>an existing dictionary</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created dictionary, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlDictExists" id="xmlDictExists"></a>Function: xmlDictExists</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlDictExists		(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int len)<br />
 </pre><p>Check if the @name exists in the dictionary @dict.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>the dictionary</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of the name, if -1 it is recomputed</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the internal copy of the name or NULL if not found.</td></tr></tbody></table></div><h3><a name="xmlDictFree" id="xmlDictFree"></a>Function: xmlDictFree</h3><pre class="programlisting">void	xmlDictFree			(<a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
 </pre><p>Free the hash @dict and its contents. The userdata is deallocated with @f if provided.</p>
diff --git a/doc/html/libxml-encoding.html b/doc/html/libxml-encoding.html
index 70f56f8..0ebfb14 100644
--- a/doc/html/libxml-encoding.html
+++ b/doc/html/libxml-encoding.html
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">Structure <a href="#uconv_t">uconv_t</a><br />struct _uconv_t
+    </style><title>Module encoding from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module encoding from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-dict.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-dict.html">dict</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-entities.html">entities</a></th><td><a accesskey="n" href="libxml-entities.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, "The Unicode Standard -- Worldwide Character Encoding -- Version 1.0", Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#ICU_PIVOT_BUF_SIZE">ICU_PIVOT_BUF_SIZE</a></pre><pre class="programlisting">Structure <a href="#uconv_t">uconv_t</a><br />struct _uconv_t
 </pre><pre class="programlisting">Enum <a href="#xmlCharEncoding">xmlCharEncoding</a>
 </pre><pre class="programlisting">Structure <a href="#xmlCharEncodingHandler">xmlCharEncodingHandler</a><br />struct _xmlCharEncodingHandler
 </pre><pre class="programlisting">Typedef <a href="libxml-encoding.html#xmlCharEncodingHandler">xmlCharEncodingHandler</a> * <a name="xmlCharEncodingHandlerPtr" id="xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a>
@@ -40,9 +40,13 @@
 <pre class="programlisting"><a href="libxml-encoding.html#xmlCharEncoding">xmlCharEncoding</a>	<a href="#xmlParseCharEncoding">xmlParseCharEncoding</a>	(const char * name)</pre>
 <pre class="programlisting">void	<a href="#xmlRegisterCharEncodingHandler">xmlRegisterCharEncodingHandler</a>	(<a href="libxml-encoding.html#xmlCharEncodingHandlerPtr">xmlCharEncodingHandlerPtr</a> handler)</pre>
 <h2>Description</h2>
+<h3><a name="ICU_PIVOT_BUF_SIZE" id="ICU_PIVOT_BUF_SIZE"></a>Macro: ICU_PIVOT_BUF_SIZE</h3><pre>#define ICU_PIVOT_BUF_SIZE</pre><p></p>
 <h3><a name="uconv_t" id="uconv_t">Structure uconv_t</a></h3><pre class="programlisting">Structure uconv_t<br />struct _uconv_t {
     UConverter *	uconv	: for conversion between an encoding and
     UConverter *	utf8	: for conversion between UTF-8 and UTF-16
+    UCharpivot_buf[ICU_PIVOT_BUF_SIZE]	pivot_buf
+    UChar *	pivot_source
+    UChar *	pivot_target
 }</pre><h3>Enum <a name="xmlCharEncoding" id="xmlCharEncoding">xmlCharEncoding</a></h3><pre class="programlisting">Enum xmlCharEncoding {
     <a name="XML_CHAR_ENCODING_ERROR" id="XML_CHAR_ENCODING_ERROR">XML_CHAR_ENCODING_ERROR</a> = -1 : No char encoding detected
     <a name="XML_CHAR_ENCODING_NONE" id="XML_CHAR_ENCODING_NONE">XML_CHAR_ENCODING_NONE</a> = 0 : No char encoding detected
diff --git a/doc/html/libxml-hash.html b/doc/html/libxml-hash.html
index 922e3f1..021adb8 100644
--- a/doc/html/libxml-hash.html
+++ b/doc/html/libxml-hash.html
@@ -17,14 +17,15 @@
 <pre class="programlisting">int	<a href="#xmlHashAddEntry2">xmlHashAddEntry2</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 void * userdata)</pre>
 <pre class="programlisting">int	<a href="#xmlHashAddEntry3">xmlHashAddEntry3</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 void * userdata)</pre>
 <pre class="programlisting">Function type: <a href="#xmlHashCopier">xmlHashCopier</a>
-void *	<a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
+void *	<a href="#xmlHashCopier">xmlHashCopier</a>			(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre>
 <pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCopy">xmlHashCopy</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f)</pre>
 <pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreate">xmlHashCreate</a>		(int size)</pre>
 <pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	<a href="#xmlHashCreateDict">xmlHashCreateDict</a>	(int size, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)</pre>
 <pre class="programlisting">Function type: <a href="#xmlHashDeallocator">xmlHashDeallocator</a>
-void	<a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
+void	<a href="#xmlHashDeallocator">xmlHashDeallocator</a>		(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre>
+<pre class="programlisting">void	<a href="#xmlHashDefaultDeallocator">xmlHashDefaultDeallocator</a>	(void * entry, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
 <pre class="programlisting">void	<a href="#xmlHashFree">xmlHashFree</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)</pre>
 <pre class="programlisting">void *	<a href="#xmlHashLookup">xmlHashLookup</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)</pre>
 <pre class="programlisting">void *	<a href="#xmlHashLookup2">xmlHashLookup2</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2)</pre>
@@ -40,7 +41,7 @@
 <pre class="programlisting">void	<a href="#xmlHashScanFull">xmlHashScanFull</a>			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)</pre>
 <pre class="programlisting">void	<a href="#xmlHashScanFull3">xmlHashScanFull3</a>		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)</pre>
 <pre class="programlisting">Function type: <a href="#xmlHashScanner">xmlHashScanner</a>
-void	<a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br />					 void * data, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
+void	<a href="#xmlHashScanner">xmlHashScanner</a>			(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre>
 <pre class="programlisting">Function type: <a href="#xmlHashScannerFull">xmlHashScannerFull</a>
 void	<a href="#xmlHashScannerFull">xmlHashScannerFull</a>		(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)
@@ -60,18 +61,20 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashAddEntry3" id="xmlHashAddEntry3"></a>Function: xmlHashAddEntry3</h3><pre class="programlisting">int	xmlHashAddEntry3		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 void * userdata)<br />
 </pre><p>Add the @userdata to the hash @table. This can later be retrieved by using the tuple (@name, @name2, @name3). Duplicate entries generate errors.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata</td></tr><tr><td><span class="term"><i><tt>userdata</tt></i>:</span></td><td>a pointer to the userdata</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 the addition succeeded and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashCopier" id="xmlHashCopier"></a>Function type: xmlHashCopier</h3><pre class="programlisting">Function type: xmlHashCopier
-void *	xmlHashCopier			(void * payload, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
+void *	xmlHashCopier			(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre><p>Callback to copy data from a hash.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a copy of the data or NULL in case of error.</td></tr></tbody></table></div><br />
 <h3><a name="xmlHashCopy" id="xmlHashCopy"></a>Function: xmlHashCopy</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCopy		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashCopier">xmlHashCopier</a> f)<br />
 </pre><p>Scan the hash @table and applied @f to each value.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the copier function for items in the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the new table or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlHashCreate" id="xmlHashCreate"></a>Function: xmlHashCreate</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreate		(int size)<br />
 </pre><p>Create a new xmlHashTablePtr.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occured.</td></tr></tbody></table></div><h3><a name="xmlHashCreateDict" id="xmlHashCreateDict"></a>Function: xmlHashCreateDict</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlHashCreateDict" id="xmlHashCreateDict"></a>Function: xmlHashCreateDict</h3><pre class="programlisting"><a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a>	xmlHashCreateDict	(int size, <br />					 <a href="libxml-dict.html#xmlDictPtr">xmlDictPtr</a> dict)<br />
 </pre><p>Create a new <a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> which will use @dict as the internal dictionary</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occured.</td></tr></tbody></table></div><h3><a name="xmlHashDeallocator" id="xmlHashDeallocator"></a>Function type: xmlHashDeallocator</h3><pre class="programlisting">Function type: xmlHashDeallocator
-void	xmlHashDeallocator		(void * payload, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>size</tt></i>:</span></td><td>the size of the hash table</td></tr><tr><td><span class="term"><i><tt>dict</tt></i>:</span></td><td>a dictionary to use for the hash</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object, or NULL if an error occurred.</td></tr></tbody></table></div><h3><a name="xmlHashDeallocator" id="xmlHashDeallocator"></a>Function type: xmlHashDeallocator</h3><pre class="programlisting">Function type: xmlHashDeallocator
+void	xmlHashDeallocator		(void * payload, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre><p>Callback to free data from a hash.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div><br />
-<h3><a name="xmlHashFree" id="xmlHashFree"></a>Function: xmlHashFree</h3><pre class="programlisting">void	xmlHashFree			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
+<h3><a name="xmlHashDefaultDeallocator" id="xmlHashDefaultDeallocator"></a>Function: xmlHashDefaultDeallocator</h3><pre class="programlisting">void	xmlHashDefaultDeallocator	(void * entry, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
+</pre><p>Free a hash table entry with xmlFree.</p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>entry</tt></i>:</span></td><td>the hash table entry</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the entry's name</td></tr></tbody></table></div><h3><a name="xmlHashFree" id="xmlHashFree"></a>Function: xmlHashFree</h3><pre class="programlisting">void	xmlHashFree			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 <a href="libxml-hash.html#xmlHashDeallocator">xmlHashDeallocator</a> f)<br />
 </pre><p>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the deallocator function for items in the hash</td></tr></tbody></table></div><h3><a name="xmlHashLookup" id="xmlHashLookup"></a>Function: xmlHashLookup</h3><pre class="programlisting">void *	xmlHashLookup			(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
 </pre><p>Find the userdata specified by the @name.</p>
@@ -100,7 +103,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScanFull3" id="xmlHashScanFull3"></a>Function: xmlHashScanFull3</h3><pre class="programlisting">void	xmlHashScanFull3		(<a href="libxml-hash.html#xmlHashTablePtr">xmlHashTablePtr</a> table, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3, <br />					 <a href="libxml-hash.html#xmlHashScannerFull">xmlHashScannerFull</a> f, <br />					 void * data)<br />
 </pre><p>Scan the hash @table and applied @f to each value matching (@name, @name2, @name3) tuple. If one of the names is null, the comparison is considered to match.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>table</tt></i>:</span></td><td>the hash table</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name2</tt></i>:</span></td><td>a second name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>name3</tt></i>:</span></td><td>a third name of the userdata or NULL</td></tr><tr><td><span class="term"><i><tt>f</tt></i>:</span></td><td>the scanner function for items in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra data passed to f</td></tr></tbody></table></div><h3><a name="xmlHashScanner" id="xmlHashScanner"></a>Function type: xmlHashScanner</h3><pre class="programlisting">Function type: xmlHashScanner
-void	xmlHashScanner			(void * payload, <br />					 void * data, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
+void	xmlHashScanner			(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)
 </pre><p>Callback when scanning data in a hash with the simple scanner.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>payload</tt></i>:</span></td><td>the data in the hash</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>extra scannner data</td></tr><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the name associated</td></tr></tbody></table></div><br />
 <h3><a name="xmlHashScannerFull" id="xmlHashScannerFull"></a>Function type: xmlHashScannerFull</h3><pre class="programlisting">Function type: xmlHashScannerFull
 void	xmlHashScannerFull		(void * payload, <br />					 void * data, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name2, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name3)
diff --git a/doc/html/libxml-list.html b/doc/html/libxml-list.html
index 33e60d1..1738afc 100644
--- a/doc/html/libxml-list.html
+++ b/doc/html/libxml-list.html
@@ -43,13 +43,13 @@
 <pre class="programlisting">int	<a href="#xmlListRemoveLast">xmlListRemoveLast</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
 <pre class="programlisting">void	<a href="#xmlListReverse">xmlListReverse</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
 <pre class="programlisting">void *	<a href="#xmlListReverseSearch">xmlListReverseSearch</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
-<pre class="programlisting">void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 const void * user)</pre>
+<pre class="programlisting">void	<a href="#xmlListReverseWalk">xmlListReverseWalk</a>		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)</pre>
 <pre class="programlisting">void *	<a href="#xmlListSearch">xmlListSearch</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)</pre>
 <pre class="programlisting">int	<a href="#xmlListSize">xmlListSize</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
 <pre class="programlisting">void	<a href="#xmlListSort">xmlListSort</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)</pre>
-<pre class="programlisting">void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 const void * user)</pre>
+<pre class="programlisting">void	<a href="#xmlListWalk">xmlListWalk</a>			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)</pre>
 <pre class="programlisting">Function type: <a href="#xmlListWalker">xmlListWalker</a>
-int	<a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br />					 const void * user)
+int	<a href="#xmlListWalker">xmlListWalker</a>			(const void * data, <br />					 void * user)
 </pre>
 <h2>Description</h2>
 <h3><a name="xmlLink" id="xmlLink">Structure xmlLink</a></h3><pre class="programlisting">Structure xmlLink<br />struct _xmlLink {
@@ -98,13 +98,13 @@
 </pre><p>Remove the all instance associated to data in the list</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of deallocation, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListRemoveFirst" id="xmlListRemoveFirst"></a>Function: xmlListRemoveFirst</h3><pre class="programlisting">int	xmlListRemoveFirst		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
 </pre><p>Remove the first instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occured, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListRemoveLast" id="xmlListRemoveLast"></a>Function: xmlListRemoveLast</h3><pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListRemoveLast" id="xmlListRemoveLast"></a>Function: xmlListRemoveLast</h3><pre class="programlisting">int	xmlListRemoveLast		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
 </pre><p>Remove the last instance associated to data in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occured, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListReverse" id="xmlListReverse"></a>Function: xmlListReverse</h3><pre class="programlisting">void	xmlListReverse			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>list data</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if a deallocation occurred, or 0 if not found</td></tr></tbody></table></div><h3><a name="xmlListReverse" id="xmlListReverse"></a>Function: xmlListReverse</h3><pre class="programlisting">void	xmlListReverse			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Reverse the order of the elements in the list</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListReverseSearch" id="xmlListReverseSearch"></a>Function: xmlListReverseSearch</h3><pre class="programlisting">void *	xmlListReverseSearch		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
 </pre><p>Search the list in reverse order for an existing value of @data</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListReverseWalk" id="xmlListReverseWalk"></a>Function: xmlListReverseWalk</h3><pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 const void * user)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>a search value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the value associated to @data or NULL in case of error</td></tr></tbody></table></div><h3><a name="xmlListReverseWalk" id="xmlListReverseWalk"></a>Function: xmlListReverseWalk</h3><pre class="programlisting">void	xmlListReverseWalk		(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)<br />
 </pre><p>Walk all the element of the list in reverse order and apply the walker function to it</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div><h3><a name="xmlListSearch" id="xmlListSearch"></a>Function: xmlListSearch</h3><pre class="programlisting">void *	xmlListSearch			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 void * data)<br />
 </pre><p>Search the list for an existing value of @data</p>
@@ -112,9 +112,9 @@
 </pre><p>Get the number of elements in the list</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the number of elements in the list or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlListSort" id="xmlListSort"></a>Function: xmlListSort</h3><pre class="programlisting">void	xmlListSort			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l)<br />
 </pre><p>Sort all the elements in the list</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListWalk" id="xmlListWalk"></a>Function: xmlListWalk</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 const void * user)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr></tbody></table></div><h3><a name="xmlListWalk" id="xmlListWalk"></a>Function: xmlListWalk</h3><pre class="programlisting">void	xmlListWalk			(<a href="libxml-list.html#xmlListPtr">xmlListPtr</a> l, <br />					 <a href="libxml-list.html#xmlListWalker">xmlListWalker</a> walker, <br />					 void * user)<br />
 </pre><p>Walk all the element of the first from first to last and apply the walker function to it</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>l</tt></i>:</span></td><td>a list</td></tr><tr><td><span class="term"><i><tt>walker</tt></i>:</span></td><td>a processing function</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>a user parameter passed to the walker function</td></tr></tbody></table></div><h3><a name="xmlListWalker" id="xmlListWalker"></a>Function type: xmlListWalker</h3><pre class="programlisting">Function type: xmlListWalker
-int	xmlListWalker			(const void * data, <br />					 const void * user)
+int	xmlListWalker			(const void * data, <br />					 void * user)
 </pre><p>Callback function used when walking a list with xmlListWalk().</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>data</tt></i>:</span></td><td>the data found in the list</td></tr><tr><td><span class="term"><i><tt>user</tt></i>:</span></td><td>extra user provided data to the walker</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 to stop walking the list, 1 otherwise.</td></tr></tbody></table></div><br />
 <p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-schemasInternals.html b/doc/html/libxml-schemasInternals.html
index db4a5a1..954f0d2 100644
--- a/doc/html/libxml-schemasInternals.html
+++ b/doc/html/libxml-schemasInternals.html
@@ -10,7 +10,7 @@
 </style><style type="text/css">
       div.deprecated pre.programlisting {border-style: double;border-color:red}
       pre.programlisting {border-style: double;background: #EECFA1}
-    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="n" href="libxml-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not garanteed to be API or ABI stable ! </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
+    </style><title>Module schemasInternals from libxml2</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="../epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="../gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="../w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="../redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="../Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1></h1><h2>Module schemasInternals from libxml2</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="../search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a style="font-weight:bold" href="../index.html">Main Menu</a></li><li><a style="font-weight:bold" href="../docs.html">Developer Menu</a></li><li><a style="font-weight:bold" href="../examples/index.html">Code Examples</a></li><li><a style="font-weight:bold" href="index.html">API Menu</a></li><li><a href="libxml-parser.html">Parser API</a></li><li><a href="libxml-tree.html">Tree API</a></li><li><a href="libxml-xmlreader.html">Reader API</a></li><li><a href="../guidelines.html">XML Guidelines</a></li><li><a href="../ChangeLog.html">ChangeLog</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>API Indexes</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="../APIchunk0.html">Alphabetic</a></li><li><a href="../APIconstructors.html">Constructors</a></li><li><a href="../APIfunctions.html">Functions/Types</a></li><li><a href="../APIfiles.html">Modules</a></li><li><a href="../APIsymbols.html">Symbols</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="libxml-relaxng.html"><img src="left.png" width="24" height="24" border="0" alt="Prev" /></a></td><th align="left"><a href="libxml-relaxng.html">relaxng</a></th><td><a accesskey="u" href="index.html"><img src="up.png" width="24" height="24" border="0" alt="Up" /></a></td><th align="left"><a href="index.html">API documentation</a></th><td><a accesskey="h" href="../index.html"><img src="home.png" width="24" height="24" border="0" alt="Home" /></a></td><th align="center"><a href="../index.html">The XML C parser and toolkit of Gnome</a></th><th align="right"><a href="libxml-schematron.html">schematron</a></th><td><a accesskey="n" href="libxml-schematron.html"><img src="right.png" width="24" height="24" border="0" alt="Next" /></a></td></tr></table><p>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </p><h2>Table of Contents</h2><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_LAX">XML_SCHEMAS_ANYATTR_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_SKIP">XML_SCHEMAS_ANYATTR_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANYATTR_STRICT">XML_SCHEMAS_ANYATTR_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_LAX">XML_SCHEMAS_ANY_LAX</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_SKIP">XML_SCHEMAS_ANY_SKIP</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ANY_STRICT">XML_SCHEMAS_ANY_STRICT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_GLOBAL">XML_SCHEMAS_ATTRGROUP_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_HAS_REFS">XML_SCHEMAS_ATTRGROUP_HAS_REFS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_MARKED">XML_SCHEMAS_ATTRGROUP_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_REDEFINED">XML_SCHEMAS_ATTRGROUP_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED">XML_SCHEMAS_ATTRGROUP_WILDCARD_BUILDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_FIXED">XML_SCHEMAS_ATTR_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_GLOBAL">XML_SCHEMAS_ATTR_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_INTERNAL_RESOLVED">XML_SCHEMAS_ATTR_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_NSDEFAULT">XML_SCHEMAS_ATTR_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_OPTIONAL">XML_SCHEMAS_ATTR_USE_OPTIONAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_PROHIBITED">XML_SCHEMAS_ATTR_USE_PROHIBITED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ATTR_USE_REQUIRED">XML_SCHEMAS_ATTR_USE_REQUIRED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION">XML_SCHEMAS_BLOCK_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION">XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION">XML_SCHEMAS_BLOCK_DEFAULT_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_ABSTRACT">XML_SCHEMAS_ELEM_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_ABSENT">XML_SCHEMAS_ELEM_BLOCK_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_EXTENSION">XML_SCHEMAS_ELEM_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_RESTRICTION">XML_SCHEMAS_ELEM_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION">XML_SCHEMAS_ELEM_BLOCK_SUBSTITUTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_CIRCULAR">XML_SCHEMAS_ELEM_CIRCULAR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_DEFAULT">XML_SCHEMAS_ELEM_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_ABSENT">XML_SCHEMAS_ELEM_FINAL_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_EXTENSION">XML_SCHEMAS_ELEM_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FINAL_RESTRICTION">XML_SCHEMAS_ELEM_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_FIXED">XML_SCHEMAS_ELEM_FIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_GLOBAL">XML_SCHEMAS_ELEM_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_CHECKED">XML_SCHEMAS_ELEM_INTERNAL_CHECKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_INTERNAL_RESOLVED">XML_SCHEMAS_ELEM_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NILLABLE">XML_SCHEMAS_ELEM_NILLABLE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_NSDEFAULT">XML_SCHEMAS_ELEM_NSDEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_REF">XML_SCHEMAS_ELEM_REF</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD">XML_SCHEMAS_ELEM_SUBST_GROUP_HEAD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_ELEM_TOPLEVEL">XML_SCHEMAS_ELEM_TOPLEVEL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_COLLAPSE">XML_SCHEMAS_FACET_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_PRESERVE">XML_SCHEMAS_FACET_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_REPLACE">XML_SCHEMAS_FACET_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FACET_UNKNOWN">XML_SCHEMAS_FACET_UNKNOWN</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_EXTENSION">XML_SCHEMAS_FINAL_DEFAULT_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_LIST">XML_SCHEMAS_FINAL_DEFAULT_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION">XML_SCHEMAS_FINAL_DEFAULT_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_FINAL_DEFAULT_UNION">XML_SCHEMAS_FINAL_DEFAULT_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_INCLUDING_CONVERT_NS">XML_SCHEMAS_INCLUDING_CONVERT_NS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ATTR">XML_SCHEMAS_QUALIF_ATTR</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_QUALIF_ELEM">XML_SCHEMAS_QUALIF_ELEM</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_ABSTRACT">XML_SCHEMAS_TYPE_ABSTRACT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_DEFAULT">XML_SCHEMAS_TYPE_BLOCK_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_EXTENSION">XML_SCHEMAS_TYPE_BLOCK_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BLOCK_RESTRICTION">XML_SCHEMAS_TYPE_BLOCK_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE">XML_SCHEMAS_TYPE_BUILTIN_PRIMITIVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION">XML_SCHEMAS_TYPE_DERIVATION_METHOD_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FACETSNEEDVALUE">XML_SCHEMAS_TYPE_FACETSNEEDVALUE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_DEFAULT">XML_SCHEMAS_TYPE_FINAL_DEFAULT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_EXTENSION">XML_SCHEMAS_TYPE_FINAL_EXTENSION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_LIST">XML_SCHEMAS_TYPE_FINAL_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_RESTRICTION">XML_SCHEMAS_TYPE_FINAL_RESTRICTION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FINAL_UNION">XML_SCHEMAS_TYPE_FINAL_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_FIXUP_1">XML_SCHEMAS_TYPE_FIXUP_1</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_GLOBAL">XML_SCHEMAS_TYPE_GLOBAL</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_HAS_FACETS">XML_SCHEMAS_TYPE_HAS_FACETS</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_INVALID">XML_SCHEMAS_TYPE_INTERNAL_INVALID</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_INTERNAL_RESOLVED">XML_SCHEMAS_TYPE_INTERNAL_RESOLVED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MARKED">XML_SCHEMAS_TYPE_MARKED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_MIXED">XML_SCHEMAS_TYPE_MIXED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_NORMVALUENEEDED">XML_SCHEMAS_TYPE_NORMVALUENEEDED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD">XML_SCHEMAS_TYPE_OWNED_ATTR_WILDCARD</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_REDEFINED">XML_SCHEMAS_TYPE_REDEFINED</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ABSENT">XML_SCHEMAS_TYPE_VARIETY_ABSENT</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_ATOMIC">XML_SCHEMAS_TYPE_VARIETY_ATOMIC</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_LIST">XML_SCHEMAS_TYPE_VARIETY_LIST</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_VARIETY_UNION">XML_SCHEMAS_TYPE_VARIETY_UNION</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE">XML_SCHEMAS_TYPE_WHITESPACE_COLLAPSE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE">XML_SCHEMAS_TYPE_WHITESPACE_PRESERVE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_TYPE_WHITESPACE_REPLACE">XML_SCHEMAS_TYPE_WHITESPACE_REPLACE</a></pre><pre class="programlisting">#define <a href="#XML_SCHEMAS_WILDCARD_COMPLETE">XML_SCHEMAS_WILDCARD_COMPLETE</a></pre><pre class="programlisting">Structure <a href="#xmlSchemaAnnot">xmlSchemaAnnot</a><br />struct _xmlSchemaAnnot
 </pre><pre class="programlisting">Typedef <a href="libxml-schemasInternals.html#xmlSchemaAnnot">xmlSchemaAnnot</a> * <a name="xmlSchemaAnnotPtr" id="xmlSchemaAnnotPtr">xmlSchemaAnnotPtr</a>
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttribute">xmlSchemaAttribute</a><br />struct _xmlSchemaAttribute
 </pre><pre class="programlisting">Structure <a href="#xmlSchemaAttributeGroup">xmlSchemaAttributeGroup</a><br />struct _xmlSchemaAttributeGroup
diff --git a/doc/html/libxml-tree.html b/doc/html/libxml-tree.html
index d95872d..09e7bdc 100644
--- a/doc/html/libxml-tree.html
+++ b/doc/html/libxml-tree.html
@@ -964,7 +964,7 @@
 </pre><p>update all nodes under the tree to point to the right document</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>tree</tt></i>:</span></td><td>the top element</td></tr><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the document</td></tr></tbody></table></div><h3><a name="xmlSplitQName2" id="xmlSplitQName2"></a>Function: xmlSplitQName2</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName2		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** prefix)<br />
 </pre><p>parse an XML qualified name string [NS 5] QName ::= (Prefix ':')? LocalPart [NS 6] Prefix ::= NCName [NS 7] LocalPart ::= NCName</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.</td></tr></tbody></table></div><h3><a name="xmlSplitQName3" id="xmlSplitQName3"></a>Function: xmlSplitQName3</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int * len)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</td></tr><tr><td><span class="term"><i><tt>prefix</tt></i>:</span></td><td>a <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> **</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if the name doesn't have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.</td></tr></tbody></table></div><h3><a name="xmlSplitQName3" id="xmlSplitQName3"></a>Function: xmlSplitQName3</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlSplitQName3		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name, <br />					 int * len)<br />
 </pre><p>parse an XML qualified name string,i</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>name</tt></i>:</span></td><td>the full QName</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>an int *</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if it is not a Qualified Name, otherwise, update len with the length in byte of the prefix and return a pointer to the start of the name without the prefix</td></tr></tbody></table></div><h3><a name="xmlStringGetNodeList" id="xmlStringGetNodeList"></a>Function: xmlStringGetNodeList</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlStringGetNodeList	(const <a href="libxml-tree.html#xmlDoc">xmlDoc</a> * doc, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * value)<br />
 </pre><p>Parse the value string and build the node list associated. Should produce a flat tree with only TEXTs and ENTITY_REFs.</p>
diff --git a/doc/html/libxml-xmlerror.html b/doc/html/libxml-xmlerror.html
index 5c3a104..2550ac0 100644
--- a/doc/html/libxml-xmlerror.html
+++ b/doc/html/libxml-xmlerror.html
@@ -832,14 +832,14 @@
 </pre><p>Save the original error to the new place.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>from</tt></i>:</span></td><td>a source error</td></tr><tr><td><span class="term"><i><tt>to</tt></i>:</span></td><td>a target error</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>0 in case of success and -1 in case of error.</td></tr></tbody></table></div><h3><a name="xmlCtxtGetLastError" id="xmlCtxtGetLastError"></a>Function: xmlCtxtGetLastError</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlCtxtGetLastError	(void * ctx)<br />
 </pre><p>Get the last parsing error registered.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occured or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlCtxtResetLastError" id="xmlCtxtResetLastError"></a>Function: xmlCtxtResetLastError</h3><pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlCtxtResetLastError" id="xmlCtxtResetLastError"></a>Function: xmlCtxtResetLastError</h3><pre class="programlisting">void	xmlCtxtResetLastError		(void * ctx)<br />
 </pre><p>Cleanup the last global error registered. For parsing error this does not change the well-formedness result.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr></tbody></table></div><h3><a name="xmlGenericErrorFunc" id="xmlGenericErrorFunc"></a>Function type: xmlGenericErrorFunc</h3><pre class="programlisting">Function type: xmlGenericErrorFunc
 void	xmlGenericErrorFunc		(void * ctx, <br />					 const char * msg, <br />					 ... ...)
 </pre><p>Signature of the function to use when there is an error and no parsing or validity context available .</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>a parsing context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>the extra arguments of the varags to format the message</td></tr></tbody></table></div><br />
 <h3><a name="xmlGetLastError" id="xmlGetLastError"></a>Function: xmlGetLastError</h3><pre class="programlisting"><a href="libxml-xmlerror.html#xmlErrorPtr">xmlErrorPtr</a>	xmlGetLastError		(void)<br />
 </pre><p>Get the last global error registered. This is per thread if compiled with thread support.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occured or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlParserError" id="xmlParserError"></a>Function: xmlParserError</h3><pre class="programlisting">void	xmlParserError			(void * ctx, <br />					 const char * msg, <br />					 ... ...)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>NULL if no error occurred or a pointer to the error</td></tr></tbody></table></div><h3><a name="xmlParserError" id="xmlParserError"></a>Function: xmlParserError</h3><pre class="programlisting">void	xmlParserError			(void * ctx, <br />					 const char * msg, <br />					 ... ...)<br />
 </pre><p>Display and format an error messages, gives file, line, position and extra parameters.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>an XML parser context</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message to display/transmit</td></tr><tr><td><span class="term"><i><tt>...</tt></i>:</span></td><td>extra parameters for the message display</td></tr></tbody></table></div><h3><a name="xmlParserPrintFileContext" id="xmlParserPrintFileContext"></a>Function: xmlParserPrintFileContext</h3><pre class="programlisting">void	xmlParserPrintFileContext	(<a href="libxml-tree.html#xmlParserInputPtr">xmlParserInputPtr</a> input)<br />
 </pre><p>Displays current context within the input content for error tracking</p>
diff --git a/doc/html/libxml-xmlreader.html b/doc/html/libxml-xmlreader.html
index f7e00fb..b9bd032 100644
--- a/doc/html/libxml-xmlreader.html
+++ b/doc/html/libxml-xmlreader.html
@@ -218,7 +218,7 @@
 </pre><p>The depth of the node in the tree.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the depth or -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderErrorFunc" id="xmlTextReaderErrorFunc"></a>Function type: xmlTextReaderErrorFunc</h3><pre class="programlisting">Function type: xmlTextReaderErrorFunc
 void	xmlTextReaderErrorFunc		(void * arg, <br />					 const char * msg, <br />					 <a href="libxml-xmlreader.html#xmlParserSeverities">xmlParserSeverities</a> severity, <br />					 <a href="libxml-xmlreader.html#xmlTextReaderLocatorPtr">xmlTextReaderLocatorPtr</a> locator)
-</pre><p>Signature of an error callback from a reader parser</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error occured</td></tr></tbody></table></div><br />
+</pre><p>Signature of an error callback from a reader parser</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>arg</tt></i>:</span></td><td>the user argument</td></tr><tr><td><span class="term"><i><tt>msg</tt></i>:</span></td><td>the message</td></tr><tr><td><span class="term"><i><tt>severity</tt></i>:</span></td><td>the severity of the error</td></tr><tr><td><span class="term"><i><tt>locator</tt></i>:</span></td><td>a locator indicating where the error occurred</td></tr></tbody></table></div><br />
 <h3><a name="xmlTextReaderExpand" id="xmlTextReaderExpand"></a>Function: xmlTextReaderExpand</h3><pre class="programlisting"><a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a>	xmlTextReaderExpand	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Reads the contents of the current node and the full subtree. It then makes the subtree available until the next xmlTextReaderRead() call</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a node pointer valid until the next xmlTextReaderRead() call or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderGetAttribute" id="xmlTextReaderGetAttribute"></a>Function: xmlTextReaderGetAttribute</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlTextReaderGetAttribute	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * name)<br />
@@ -287,7 +287,7 @@
 </pre><p>This tells the XML Reader to preserve the current node. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> or NULL in case of error.</td></tr></tbody></table></div><h3><a name="xmlTextReaderPreservePattern" id="xmlTextReaderPreservePattern"></a>Function: xmlTextReaderPreservePattern</h3><pre class="programlisting">int	xmlTextReaderPreservePattern	(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * pattern, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> ** namespaces)<br />
 </pre><p>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>an XPath subset pattern</td></tr><tr><td><span class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a positive number in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderQuoteChar" id="xmlTextReaderQuoteChar"></a>Function: xmlTextReaderQuoteChar</h3><pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>pattern</tt></i>:</span></td><td>an XPath subset pattern</td></tr><tr><td><span class="term"><i><tt>namespaces</tt></i>:</span></td><td>the prefix definitions, array of [URI, prefix] or NULL</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a non-negative number in case of success and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderQuoteChar" id="xmlTextReaderQuoteChar"></a>Function: xmlTextReaderQuoteChar</h3><pre class="programlisting">int	xmlTextReaderQuoteChar		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>The quotation mark character used to enclose the value of an attribute.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>reader</tt></i>:</span></td><td>the <a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> used</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>" or ' and -1 in case of error</td></tr></tbody></table></div><h3><a name="xmlTextReaderRead" id="xmlTextReaderRead"></a>Function: xmlTextReaderRead</h3><pre class="programlisting">int	xmlTextReaderRead		(<a href="libxml-xmlreader.html#xmlTextReaderPtr">xmlTextReaderPtr</a> reader)<br />
 </pre><p>Moves the position of the current instance to the next node in the stream, exposing its properties.</p>
diff --git a/doc/html/libxml-xmlstring.html b/doc/html/libxml-xmlstring.html
index 89e9809..dc8248c 100644
--- a/doc/html/libxml-xmlstring.html
+++ b/doc/html/libxml-xmlstring.html
@@ -67,7 +67,7 @@
 </pre><p>a case-ignoring strstr for xmlChar's</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array (haystack)</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to search (needle)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div><h3><a name="xmlStrcat" id="xmlStrcat"></a>Function: xmlStrcat</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrcat		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * add)<br />
 </pre><p>a strcat for array of xmlChar's. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of '0'.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string.</td></tr></tbody></table></div><h3><a name="xmlStrchr" id="xmlStrchr"></a>Function: xmlStrchr</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> val)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * containing the concatenated string. The original @cur is reallocated and should not be freed.</td></tr></tbody></table></div><h3><a name="xmlStrchr" id="xmlStrchr"></a>Function: xmlStrchr</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrchr		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> val)<br />
 </pre><p>a strchr for xmlChar's</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> to search</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * for the first occurrence or NULL.</td></tr></tbody></table></div><h3><a name="xmlStrcmp" id="xmlStrcmp"></a>Function: xmlStrcmp</h3><pre class="programlisting">int	xmlStrcmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2)<br />
 </pre><p>a strcmp for xmlChar's</p>
@@ -79,7 +79,7 @@
 </pre><p>a strncasecmp for xmlChar's</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>the first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>the second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the max comparison length</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the integer result of the comparison</td></tr></tbody></table></div><h3><a name="xmlStrncat" id="xmlStrncat"></a>Function: xmlStrncat</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncat		(<a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * cur, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * add, <br />					 int len)<br />
 </pre><p>a strncat for array of xmlChar's, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of @add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated if needed and should not be freed</td></tr></tbody></table></div><h3><a name="xmlStrncatNew" id="xmlStrncatNew"></a>Function: xmlStrncatNew</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)<br />
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>cur</tt></i>:</span></td><td>the original <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array</td></tr><tr><td><span class="term"><i><tt>add</tt></i>:</span></td><td>the <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * array added</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the length of @add</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *, the original @cur is reallocated and should not be freed.</td></tr></tbody></table></div><h3><a name="xmlStrncatNew" id="xmlStrncatNew"></a>Function: xmlStrncatNew</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlStrncatNew		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)<br />
 </pre><p>same as xmlStrncat, but creates a new string. The original two strings are not freed. If @len is &lt; 0 then the length will be calculated automatically.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str1</tt></i>:</span></td><td>first <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>str2</tt></i>:</span></td><td>second <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> string</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @str2 or &lt; 0</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * or NULL</td></tr></tbody></table></div><h3><a name="xmlStrncmp" id="xmlStrncmp"></a>Function: xmlStrncmp</h3><pre class="programlisting">int	xmlStrncmp			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str1, <br />					 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str2, <br />					 int len)<br />
 </pre><p>a strncmp for xmlChar's</p>
@@ -102,7 +102,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the len of @utf (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a new UTF8 * or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strpos" id="xmlUTF8Strpos"></a>Function: xmlUTF8Strpos</h3><pre class="programlisting">const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strpos		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int pos)<br />
 </pre><p>a function to provide the equivalent of fetching a character from a string array</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>the input UTF8 *</td></tr><tr><td><span class="term"><i><tt>pos</tt></i>:</span></td><td>the position of the desired UTF8 char (in chars)</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to the UTF8 character or NULL</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsize" id="xmlUTF8Strsize"></a>Function: xmlUTF8Strsize</h3><pre class="programlisting">int	xmlUTF8Strsize			(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int len)<br />
-</pre><p>storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8</p>
+</pre><p>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>the number of <a href="libxml-SAX.html#characters">characters</a> in the array</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the storage size of the first 'len' <a href="libxml-SAX.html#characters">characters</a> of ARRAY</td></tr></tbody></table></div><h3><a name="xmlUTF8Strsub" id="xmlUTF8Strsub"></a>Function: xmlUTF8Strsub</h3><pre class="programlisting"><a href="libxml-xmlstring.html#xmlChar">xmlChar</a> *	xmlUTF8Strsub		(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * utf, <br />					 int start, <br />					 int len)<br />
 </pre><p>Create a substring from a given UTF-8 string Note: positions are given in units of UTF-8 chars</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>utf</tt></i>:</span></td><td>a sequence of UTF-8 encoded bytes</td></tr><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>relative pos of first char</td></tr><tr><td><span class="term"><i><tt>len</tt></i>:</span></td><td>total number to copy</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>a pointer to a newly created string or NULL if any problem</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/html/libxml-xpath.html b/doc/html/libxml-xpath.html
index e47e600..482a983 100644
--- a/doc/html/libxml-xpath.html
+++ b/doc/html/libxml-xpath.html
@@ -270,7 +270,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath context</td></tr><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathCompExprPtr">xmlXPathCompExprPtr</a> resulting from the compilation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathEval" id="xmlXPathEval"></a>Function: xmlXPathEval</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEval	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />					 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
 </pre><p>Evaluate the XPath Location Path in the given context.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctx</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathEvalExpression" id="xmlXPathEvalExpression"></a>Function: xmlXPathEvalExpression</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathEvalExpression	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctxt)<br />
-</pre><p>Evaluate the XPath expression in the given context.</p>
+</pre><p>Alias for xmlXPathEval().</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>str</tt></i>:</span></td><td>the XPath expression</td></tr><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> resulting from the evaluation or NULL. the caller has to free the object.</td></tr></tbody></table></div><h3><a name="xmlXPathEvalFunc" id="xmlXPathEvalFunc"></a>Function type: xmlXPathEvalFunc</h3><pre class="programlisting">Function type: xmlXPathEvalFunc
 void	xmlXPathEvalFunc		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
 </pre><p>An XPath evaluation function, the parameters are on the XPath context stack.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>an XPath parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments passed to the function</td></tr></tbody></table></div><br />
@@ -293,11 +293,11 @@
 void	xmlXPathFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)
 </pre><p>An XPath function. The arguments (if any) are popped out from the context stack and the result is pushed on the stack.</p><div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath interprestation context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><br />
 <h3><a name="xmlXPathInit" id="xmlXPathInit"></a>Function: xmlXPathInit</h3><pre class="programlisting">void	xmlXPathInit			(void)<br />
-</pre><p>Initialize the XPath environment</p>
+</pre><p>Initialize the XPath environment Does nothing but must be kept as public function.</p>
 <h3><a name="xmlXPathIsInf" id="xmlXPathIsInf"></a>Function: xmlXPathIsInf</h3><pre class="programlisting">int	xmlXPathIsInf			(double val)<br />
-</pre><p>Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/</p>
-<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathIsNaN" id="xmlXPathIsNaN"></a>Function: xmlXPathIsNaN</h3><pre class="programlisting">int	xmlXPathIsNaN			(double val)<br />
-</pre><p>Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/</p>
+</pre><p></p>
+<div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is +Infinite, -1 if -Infinite, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathIsNaN" id="xmlXPathIsNaN"></a>Function: xmlXPathIsNaN</h3><pre class="programlisting">int	xmlXPathIsNaN			(double val)<br />
+</pre><p></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>a double value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>1 if the value is a NaN, 0 otherwise</td></tr></tbody></table></div><h3><a name="xmlXPathNewContext" id="xmlXPathNewContext"></a>Function: xmlXPathNewContext</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a>	xmlXPathNewContext	(<a href="libxml-tree.html#xmlDocPtr">xmlDocPtr</a> doc)<br />
 </pre><p>Create a new <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>doc</tt></i>:</span></td><td>the XML document</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the <a href="libxml-xpath.html#xmlXPathContext">xmlXPathContext</a> just allocated. The caller will need to free it.</td></tr></tbody></table></div><h3><a name="xmlXPathNodeEval" id="xmlXPathNodeEval"></a>Function: xmlXPathNodeEval</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPathNodeEval	(<a href="libxml-tree.html#xmlNodePtr">xmlNodePtr</a> node, <br />						 const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str, <br />						 <a href="libxml-xpath.html#xmlXPathContextPtr">xmlXPathContextPtr</a> ctx)<br />
diff --git a/doc/html/libxml-xpathInternals.html b/doc/html/libxml-xpathInternals.html
index f12d808..49546ab 100644
--- a/doc/html/libxml-xpathInternals.html
+++ b/doc/html/libxml-xpathInternals.html
@@ -348,7 +348,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath context</td></tr></tbody></table></div><h3><a name="xmlXPathRoot" id="xmlXPathRoot"></a>Function: xmlXPathRoot</h3><pre class="programlisting">void	xmlXPathRoot			(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt)<br />
 </pre><p>Initialize the context to the root of the document</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr></tbody></table></div><h3><a name="xmlXPathRoundFunction" id="xmlXPathRoundFunction"></a>Function: xmlXPathRoundFunction</h3><pre class="programlisting">void	xmlXPathRoundFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is even is returned.</p>
+</pre><p>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is closest to positive infinity is returned.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathStartsWithFunction" id="xmlXPathStartsWithFunction"></a>Function: xmlXPathStartsWithFunction</h3><pre class="programlisting">void	xmlXPathStartsWithFunction	(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
 </pre><p>Implement the starts-with() XPath function boolean starts-with(string, string) The starts-with function returns true if the first argument string starts with the second argument string, and otherwise returns false.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPath Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of arguments</td></tr></tbody></table></div><h3><a name="xmlXPathStringEvalNumber" id="xmlXPathStringEvalNumber"></a>Function: xmlXPathStringEvalNumber</h3><pre class="programlisting">double	xmlXPathStringEvalNumber	(const <a href="libxml-xmlstring.html#xmlChar">xmlChar</a> * str)<br />
diff --git a/doc/html/libxml-xpointer.html b/doc/html/libxml-xpointer.html
index 45526de..66eb80b 100644
--- a/doc/html/libxml-xpointer.html
+++ b/doc/html/libxml-xpointer.html
@@ -77,7 +77,7 @@
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending node</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrNewRangePoints" id="xmlXPtrNewRangePoints"></a>Function: xmlXPtrNewRangePoints</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrNewRangePoints	(<a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> start, <br />						 <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> end)<br />
 </pre><p>Create a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a> of type range using 2 Points</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>start</tt></i>:</span></td><td>the starting point</td></tr><tr><td><span class="term"><i><tt>end</tt></i>:</span></td><td>the ending point</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><h3><a name="xmlXPtrRangeToFunction" id="xmlXPtrRangeToFunction"></a>Function: xmlXPtrRangeToFunction</h3><pre class="programlisting">void	xmlXPtrRangeToFunction		(<a href="libxml-xpath.html#xmlXPathParserContextPtr">xmlXPathParserContextPtr</a> ctxt, <br />					 int nargs)<br />
-</pre><p>Implement the range-to() XPointer function</p>
+</pre><p>Implement the range-to() XPointer function Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>ctxt</tt></i>:</span></td><td>the XPointer Parser context</td></tr><tr><td><span class="term"><i><tt>nargs</tt></i>:</span></td><td>the number of args</td></tr></tbody></table></div><h3><a name="xmlXPtrWrapLocationSet" id="xmlXPtrWrapLocationSet"></a>Function: xmlXPtrWrapLocationSet</h3><pre class="programlisting"><a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a>	xmlXPtrWrapLocationSet	(<a href="libxml-xpointer.html#xmlLocationSetPtr">xmlLocationSetPtr</a> val)<br />
 </pre><p>Wrap the LocationSet @val in a new <a href="libxml-xpath.html#xmlXPathObjectPtr">xmlXPathObjectPtr</a></p>
 <div class="variablelist"><table border="0"><col align="left" /><tbody><tr><td><span class="term"><i><tt>val</tt></i>:</span></td><td>the LocationSet value</td></tr><tr><td><span class="term"><i><tt>Returns</tt></i>:</span></td><td>the newly created object.</td></tr></tbody></table></div><p><a href="../bugs.html">Daniel Veillard</a></p></td></tr></table></td></tr></table></td></tr></table></td></tr></table></td></tr></table></body></html>
diff --git a/doc/libxml2-api.xml b/doc/libxml2-api.xml
index a0a0117..9cf6c72 100644
--- a/doc/libxml2-api.xml
+++ b/doc/libxml2-api.xml
@@ -390,6 +390,7 @@
      <summary>interface for the encoding conversion functions</summary>
      <description>interface for the encoding conversion functions needed for XML basic encoding and iconv() support.  Related specs are rfc2044        (UTF-8 and UTF-16) F. Yergeau Alis Technologies [ISO-10646]    UTF-8 and UTF-16 in Annexes [ISO-8859-1]   ISO Latin-1 characters codes. [UNICODE]      The Unicode Consortium, &quot;The Unicode Standard -- Worldwide Character Encoding -- Version 1.0&quot;, Addison- Wesley, Volume 1, 1991, Volume 2, 1992.  UTF-8 is described in Unicode Technical Report #4. [US-ASCII]     Coded Character Set--7-bit American Standard Code for Information Interchange, ANSI X3.4-1986. </description>
      <author>Daniel Veillard </author>
+     <exports symbol='ICU_PIVOT_BUF_SIZE' type='macro'/>
      <exports symbol='XML_CHAR_ENCODING_UCS4LE' type='enum'/>
      <exports symbol='XML_CHAR_ENCODING_ERROR' type='enum'/>
      <exports symbol='XML_CHAR_ENCODING_8859_5' type='enum'/>
@@ -573,6 +574,7 @@
      <exports symbol='xmlHashCopy' type='function'/>
      <exports symbol='xmlHashScanFull3' type='function'/>
      <exports symbol='xmlHashUpdateEntry3' type='function'/>
+     <exports symbol='xmlHashDefaultDeallocator' type='function'/>
      <exports symbol='xmlHashLookup3' type='function'/>
      <exports symbol='xmlHashLookup2' type='function'/>
      <exports symbol='xmlHashRemoveEntry' type='function'/>
@@ -1127,7 +1129,7 @@
     </file>
     <file name='schemasInternals'>
      <summary>internal interfaces for XML Schemas</summary>
-     <description>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not garanteed to be API or ABI stable ! </description>
+     <description>internal interfaces for the XML Schemas handling and schema validity checking The Schemas development is a Work In Progress. Some of those interfaces are not guaranteed to be API or ABI stable ! </description>
      <author>Daniel Veillard </author>
      <exports symbol='XML_SCHEMAS_BLOCK_DEFAULT_RESTRICTION' type='macro'/>
      <exports symbol='XML_SCHEMAS_FINAL_DEFAULT_EXTENSION' type='macro'/>
@@ -3878,6 +3880,8 @@
     <macro name='HTML_TEXT_NODE' file='HTMLtree'>
       <info>Macro. A text node in a HTML document is really implemented the same way as a text node in an XML document.</info>
     </macro>
+    <macro name='ICU_PIVOT_BUF_SIZE' file='encoding'>
+    </macro>
     <macro name='INPUT_CHUNK' file='parserInternals'>
       <info>The parser tries to always have that amount of input ready. One of the point is providing context when reporting errors.</info>
     </macro>
@@ -5961,6 +5965,9 @@
     <struct name='uconv_t' file='encoding' type='struct _uconv_t'>
       <field name='uconv' type='UConverter *' info=' for conversion between an encoding and UTF-16'/>
       <field name='utf8' type='UConverter *' info=' for conversion between UTF-8 and UTF-16'/>
+      <field name='pivot_buf' type='UCharpivot_buf[ICU_PIVOT_BUF_SIZE]' info=''/>
+      <field name='pivot_source' type='UChar *' info=''/>
+      <field name='pivot_target' type='UChar *' info=''/>
     </struct>
     <typedef name='xlinkActuate' file='xlink' type='enum'/>
     <typedef name='xlinkHRef' file='xlink' type='xmlChar *'/>
@@ -7743,7 +7750,7 @@
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
       <info>parse an HTML in-memory document and build a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree'/>
-      <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
+      <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
       <arg name='encoding' type='const char *' info='a free form C string describing the HTML document encoding, or NULL'/>
     </function>
     <function name='htmlParseDocument' file='HTMLparser' module='HTMLparser'>
@@ -7823,7 +7830,7 @@
       <cond>defined(LIBXML_HTML_ENABLED)</cond>
       <info>Parse an HTML in-memory document. If sax is not NULL, use the SAX callbacks to handle parse events. If sax is NULL, fallback to the default DOM behavior and return a tree.</info>
       <return type='htmlDocPtr' info='the resulting document tree unless SAX is NULL or the document is not well formed.'/>
-      <arg name='cur' type='xmlChar *' info='a pointer to an array of xmlChar'/>
+      <arg name='cur' type='const xmlChar *' info='a pointer to an array of xmlChar'/>
       <arg name='encoding' type='const char *' info='a free form C string describing the HTML document encoding, or NULL'/>
       <arg name='sax' type='htmlSAXHandlerPtr' info='the SAX handler block'/>
       <arg name='userData' type='void *' info='if using SAX, this pointer will be provided on callbacks.'/>
@@ -9245,7 +9252,7 @@
     </function>
     <function name='xmlCtxtGetLastError' file='xmlerror' module='error'>
       <info>Get the last parsing error registered.</info>
-      <return type='xmlErrorPtr' info='NULL if no error occured or a pointer to the error'/>
+      <return type='xmlErrorPtr' info='NULL if no error occurred or a pointer to the error'/>
       <arg name='ctx' type='void *' info='an XML parser context'/>
     </function>
     <function name='xmlCtxtReadDoc' file='parser' module='parser'>
@@ -9504,11 +9511,11 @@
     </function>
     <function name='xmlDictCreate' file='dict' module='dict'>
       <info>Create a new dictionary</info>
-      <return type='xmlDictPtr' info='the newly created dictionary, or NULL if an error occured.'/>
+      <return type='xmlDictPtr' info='the newly created dictionary, or NULL if an error occurred.'/>
     </function>
     <function name='xmlDictCreateSub' file='dict' module='dict'>
       <info>Create a new dictionary, inheriting strings from the read-only dictionary @sub. On lookup, strings are first searched in the new dictionary, then in @sub, and if not found are created in the new dictionary.</info>
-      <return type='xmlDictPtr' info='the newly created dictionary, or NULL if an error occured.'/>
+      <return type='xmlDictPtr' info='the newly created dictionary, or NULL if an error occurred.'/>
       <arg name='sub' type='xmlDictPtr' info='an existing dictionary'/>
     </function>
     <function name='xmlDictExists' file='dict' module='dict'>
@@ -10233,7 +10240,7 @@
     </function>
     <function name='xmlGetLastError' file='xmlerror' module='error'>
       <info>Get the last global error registered. This is per thread if compiled with thread support.</info>
-      <return type='xmlErrorPtr' info='NULL if no error occured or a pointer to the error'/>
+      <return type='xmlErrorPtr' info='NULL if no error occurred or a pointer to the error'/>
     </function>
     <function name='xmlGetLineNo' file='tree' module='tree'>
       <info>Get line number of @node. Try to override the limitation of lines being store in 16 bits ints if XML_PARSE_BIG_LINES parser option was used</info>
@@ -10352,7 +10359,7 @@
       <info>Callback to copy data from a hash.</info>
       <return type='void *' info='a copy of the data or NULL in case of error.'/>
       <arg name='payload' type='void *' info='the data in the hash'/>
-      <arg name='name' type='xmlChar *' info='the name associated'/>
+      <arg name='name' type='const xmlChar *' info='the name associated'/>
     </functype>
     <function name='xmlHashCopy' file='hash' module='hash'>
       <info>Scan the hash @table and applied @f to each value.</info>
@@ -10362,12 +10369,12 @@
     </function>
     <function name='xmlHashCreate' file='hash' module='hash'>
       <info>Create a new xmlHashTablePtr.</info>
-      <return type='xmlHashTablePtr' info='the newly created object, or NULL if an error occured.'/>
+      <return type='xmlHashTablePtr' info='the newly created object, or NULL if an error occurred.'/>
       <arg name='size' type='int' info='the size of the hash table'/>
     </function>
     <function name='xmlHashCreateDict' file='hash' module='hash'>
       <info>Create a new xmlHashTablePtr which will use @dict as the internal dictionary</info>
-      <return type='xmlHashTablePtr' info='the newly created object, or NULL if an error occured.'/>
+      <return type='xmlHashTablePtr' info='the newly created object, or NULL if an error occurred.'/>
       <arg name='size' type='int' info='the size of the hash table'/>
       <arg name='dict' type='xmlDictPtr' info='a dictionary to use for the hash'/>
     </function>
@@ -10375,8 +10382,14 @@
       <info>Callback to free data from a hash.</info>
       <return type='void'/>
       <arg name='payload' type='void *' info='the data in the hash'/>
-      <arg name='name' type='xmlChar *' info='the name associated'/>
+      <arg name='name' type='const xmlChar *' info='the name associated'/>
     </functype>
+    <function name='xmlHashDefaultDeallocator' file='hash' module='hash'>
+      <info>Free a hash table entry with xmlFree.</info>
+      <return type='void'/>
+      <arg name='entry' type='void *' info='the hash table entry'/>
+      <arg name='name' type='const xmlChar *' info='the entry&apos;s name'/>
+    </function>
     <function name='xmlHashFree' file='hash' module='hash'>
       <info>Free the hash @table and its contents. The userdata is deallocated with @f if provided.</info>
       <return type='void'/>
@@ -10494,7 +10507,7 @@
       <return type='void'/>
       <arg name='payload' type='void *' info='the data in the hash'/>
       <arg name='data' type='void *' info='extra scannner data'/>
-      <arg name='name' type='xmlChar *' info='the name associated'/>
+      <arg name='name' type='const xmlChar *' info='the name associated'/>
     </functype>
     <functype name='xmlHashScannerFull' file='hash' module='hash'>
       <info>Callback when scanning data in a hash with the full scanner.</info>
@@ -10877,13 +10890,13 @@
     </function>
     <function name='xmlListRemoveFirst' file='list' module='list'>
       <info>Remove the first instance associated to data in the list</info>
-      <return type='int' info='1 if a deallocation occured, or 0 if not found'/>
+      <return type='int' info='1 if a deallocation occurred, or 0 if not found'/>
       <arg name='l' type='xmlListPtr' info='a list'/>
       <arg name='data' type='void *' info='list data'/>
     </function>
     <function name='xmlListRemoveLast' file='list' module='list'>
       <info>Remove the last instance associated to data in the list</info>
-      <return type='int' info='1 if a deallocation occured, or 0 if not found'/>
+      <return type='int' info='1 if a deallocation occurred, or 0 if not found'/>
       <arg name='l' type='xmlListPtr' info='a list'/>
       <arg name='data' type='void *' info='list data'/>
     </function>
@@ -10903,7 +10916,7 @@
       <return type='void'/>
       <arg name='l' type='xmlListPtr' info='a list'/>
       <arg name='walker' type='xmlListWalker' info='a processing function'/>
-      <arg name='user' type='const void *' info='a user parameter passed to the walker function'/>
+      <arg name='user' type='void *' info='a user parameter passed to the walker function'/>
     </function>
     <function name='xmlListSearch' file='list' module='list'>
       <info>Search the list for an existing value of @data</info>
@@ -10926,13 +10939,13 @@
       <return type='void'/>
       <arg name='l' type='xmlListPtr' info='a list'/>
       <arg name='walker' type='xmlListWalker' info='a processing function'/>
-      <arg name='user' type='const void *' info='a user parameter passed to the walker function'/>
+      <arg name='user' type='void *' info='a user parameter passed to the walker function'/>
     </function>
     <functype name='xmlListWalker' file='list' module='list'>
       <info>Callback function used when walking a list with xmlListWalk().</info>
       <return type='int' info='0 to stop walking the list, 1 otherwise.'/>
       <arg name='data' type='const void *' info='the data found in the list'/>
-      <arg name='user' type='const void *' info='extra user provided data to the walker'/>
+      <arg name='user' type='void *' info='extra user provided data to the walker'/>
     </functype>
     <function name='xmlLoadACatalog' file='catalog' module='catalog'>
       <cond>defined(LIBXML_CATALOG_ENABLED)</cond>
@@ -14453,7 +14466,7 @@
     </function>
     <function name='xmlSplitQName2' file='tree' module='tree'>
       <info>parse an XML qualified name string  [NS 5] QName ::= (Prefix &apos;:&apos;)? LocalPart  [NS 6] Prefix ::= NCName  [NS 7] LocalPart ::= NCName</info>
-      <return type='xmlChar *' info='NULL if not a QName, otherwise the local part, and prefix is updated to get the Prefix if any.'/>
+      <return type='xmlChar *' info='NULL if the name doesn&apos;t have a prefix. Otherwise, returns the local part, and prefix is updated to get the Prefix. Both the return value and the prefix must be freed by the caller.'/>
       <arg name='name' type='const xmlChar *' info='the full QName'/>
       <arg name='prefix' type='xmlChar **' info='a xmlChar **'/>
     </function>
@@ -14519,7 +14532,7 @@
     </function>
     <function name='xmlStrcat' file='xmlstring' module='xmlstring'>
       <info>a strcat for array of xmlChar&apos;s. Since they are supposed to be encoded in UTF-8 or an encoding with 8bit based chars, we assume a termination mark of &apos;0&apos;.</info>
-      <return type='xmlChar *' info='a new xmlChar * containing the concatenated string.'/>
+      <return type='xmlChar *' info='a new xmlChar * containing the concatenated string. The original @cur is reallocated and should not be freed.'/>
       <arg name='cur' type='xmlChar *' info='the original xmlChar * array'/>
       <arg name='add' type='const xmlChar *' info='the xmlChar * array added'/>
     </function>
@@ -14637,7 +14650,7 @@
     </function>
     <function name='xmlStrncat' file='xmlstring' module='xmlstring'>
       <info>a strncat for array of xmlChar&apos;s, it will extend @cur with the len first bytes of @add. Note that if @len &lt; 0 then this is an API error and NULL will be returned.</info>
-      <return type='xmlChar *' info='a new xmlChar *, the original @cur is reallocated if needed and should not be freed'/>
+      <return type='xmlChar *' info='a new xmlChar *, the original @cur is reallocated and should not be freed.'/>
       <arg name='cur' type='xmlChar *' info='the original xmlChar * array'/>
       <arg name='add' type='const xmlChar *' info='the xmlChar * array added'/>
       <arg name='len' type='int' info='the length of @add'/>
@@ -14828,7 +14841,7 @@
       <arg name='arg' type='void *' info='the user argument'/>
       <arg name='msg' type='const char *' info='the message'/>
       <arg name='severity' type='xmlParserSeverities' info='the severity of the error'/>
-      <arg name='locator' type='xmlTextReaderLocatorPtr' info='a locator indicating where the error occured'/>
+      <arg name='locator' type='xmlTextReaderLocatorPtr' info='a locator indicating where the error occurred'/>
     </functype>
     <function name='xmlTextReaderExpand' file='xmlreader' module='xmlreader'>
       <cond>defined(LIBXML_READER_ENABLED)</cond>
@@ -15043,7 +15056,7 @@
     <function name='xmlTextReaderPreservePattern' file='xmlreader' module='xmlreader'>
       <cond>defined(LIBXML_READER_ENABLED) &amp;&amp; defined(LIBXML_PATTERN_ENABLED)</cond>
       <info>This tells the XML Reader to preserve all nodes matched by the pattern. The caller must also use xmlTextReaderCurrentDoc() to keep an handle on the resulting document once parsing has finished</info>
-      <return type='int' info='a positive number in case of success and -1 in case of error'/>
+      <return type='int' info='a non-negative number in case of success and -1 in case of error'/>
       <arg name='reader' type='xmlTextReaderPtr' info='the xmlTextReaderPtr used'/>
       <arg name='pattern' type='const xmlChar *' info='an XPath subset pattern'/>
       <arg name='namespaces' type='const xmlChar **' info='the prefix definitions, array of [URI, prefix] or NULL'/>
@@ -16932,7 +16945,7 @@
       <arg name='pos' type='int' info='the position of the desired UTF8 char (in chars)'/>
     </function>
     <function name='xmlUTF8Strsize' file='xmlstring' module='xmlstring'>
-      <info>storage size of an UTF8 string the behaviour is not garanteed if the input string is not UTF-8</info>
+      <info>storage size of an UTF8 string the behaviour is not guaranteed if the input string is not UTF-8</info>
       <return type='int' info='the storage size of the first &apos;len&apos; characters of ARRAY'/>
       <arg name='utf' type='const xmlChar *' info='a sequence of UTF-8 encoded bytes'/>
       <arg name='len' type='int' info='the number of characters in the array'/>
@@ -17561,7 +17574,7 @@
     </function>
     <function name='xmlXPathEvalExpression' file='xpath' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED)</cond>
-      <info>Evaluate the XPath expression in the given context.</info>
+      <info>Alias for xmlXPathEval().</info>
       <return type='xmlXPathObjectPtr' info='the xmlXPathObjectPtr resulting from the evaluation or NULL. the caller has to free the object.'/>
       <arg name='str' type='const xmlChar *' info='the XPath expression'/>
       <arg name='ctxt' type='xmlXPathContextPtr' info='the XPath context'/>
@@ -17683,7 +17696,7 @@
     </function>
     <function name='xmlXPathInit' file='xpath' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Initialize the XPath environment</info>
+      <info>Initialize the XPath environment  Does nothing but must be kept as public function.</info>
       <return type='void'/>
     </function>
     <function name='xmlXPathIntersection' file='xpathInternals' module='xpath'>
@@ -17695,13 +17708,13 @@
     </function>
     <function name='xmlXPathIsInf' file='xpath' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Provides a portable isinf() function to detect whether a double is a +Infinite or -Infinite. Based on trio code http://sourceforge.net/projects/ctrio/</info>
-      <return type='int' info='1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise'/>
+      <info></info>
+      <return type='int' info='1 if the value is +Infinite, -1 if -Infinite, 0 otherwise'/>
       <arg name='val' type='double' info='a double value'/>
     </function>
     <function name='xmlXPathIsNaN' file='xpath' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)</cond>
-      <info>Provides a portable isnan() function to detect whether a double is a NotaNumber. Based on trio code http://sourceforge.net/projects/ctrio/</info>
+      <info></info>
       <return type='int' info='1 if the value is a NaN, 0 otherwise'/>
       <arg name='val' type='double' info='a double value'/>
     </function>
@@ -18200,7 +18213,7 @@
     </function>
     <function name='xmlXPathRoundFunction' file='xpathInternals' module='xpath'>
       <cond>defined(LIBXML_XPATH_ENABLED)</cond>
-      <info>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is even is returned.</info>
+      <info>Implement the round() XPath function number round(number) The round function returns the number that is closest to the argument and that is an integer. If there are two such numbers, then the one that is closest to positive infinity is returned.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPath Parser context'/>
       <arg name='nargs' type='int' info='the number of arguments'/>
@@ -18495,7 +18508,7 @@
     </function>
     <function name='xmlXPtrRangeToFunction' file='xpointer' module='xpointer'>
       <cond>defined(LIBXML_XPTR_ENABLED)</cond>
-      <info>Implement the range-to() XPointer function</info>
+      <info>Implement the range-to() XPointer function  Obsolete. range-to is not a real function but a special type of location step which is handled in xpath.c.</info>
       <return type='void'/>
       <arg name='ctxt' type='xmlXPathParserContextPtr' info='the XPointer Parser context'/>
       <arg name='nargs' type='int' info='the number of args'/>
diff --git a/doc/libxml2-refs.xml b/doc/libxml2-refs.xml
index 6dce37f..3fe0876 100644
--- a/doc/libxml2-refs.xml
+++ b/doc/libxml2-refs.xml
@@ -34,6 +34,7 @@
     <reference name='HTML_REQUIRED' href='html/libxml-HTMLparser.html#HTML_REQUIRED'/>
     <reference name='HTML_TEXT_NODE' href='html/libxml-HTMLtree.html#HTML_TEXT_NODE'/>
     <reference name='HTML_VALID' href='html/libxml-HTMLparser.html#HTML_VALID'/>
+    <reference name='ICU_PIVOT_BUF_SIZE' href='html/libxml-encoding.html#ICU_PIVOT_BUF_SIZE'/>
     <reference name='INPUT_CHUNK' href='html/libxml-parserInternals.html#INPUT_CHUNK'/>
     <reference name='INVALID_SOCKET' href='html/libxml-nanoftp.html#INVALID_SOCKET'/>
     <reference name='IS_ASCII_DIGIT' href='html/libxml-parserInternals.html#IS_ASCII_DIGIT'/>
@@ -2124,6 +2125,7 @@
     <reference name='xmlHashCreate' href='html/libxml-hash.html#xmlHashCreate'/>
     <reference name='xmlHashCreateDict' href='html/libxml-hash.html#xmlHashCreateDict'/>
     <reference name='xmlHashDeallocator' href='html/libxml-hash.html#xmlHashDeallocator'/>
+    <reference name='xmlHashDefaultDeallocator' href='html/libxml-hash.html#xmlHashDefaultDeallocator'/>
     <reference name='xmlHashFree' href='html/libxml-hash.html#xmlHashFree'/>
     <reference name='xmlHashLookup' href='html/libxml-hash.html#xmlHashLookup'/>
     <reference name='xmlHashLookup2' href='html/libxml-hash.html#xmlHashLookup2'/>
@@ -3624,6 +3626,7 @@
       <ref name='HTML_VALID'/>
     </letter>
     <letter name='I'>
+      <ref name='ICU_PIVOT_BUF_SIZE'/>
       <ref name='INPUT_CHUNK'/>
       <ref name='INVALID_SOCKET'/>
       <ref name='IS_ASCII_DIGIT'/>
@@ -5762,6 +5765,7 @@
       <ref name='xmlHashCreate'/>
       <ref name='xmlHashCreateDict'/>
       <ref name='xmlHashDeallocator'/>
+      <ref name='xmlHashDefaultDeallocator'/>
       <ref name='xmlHashFree'/>
       <ref name='xmlHashLookup'/>
       <ref name='xmlHashLookup2'/>
@@ -8113,8 +8117,6 @@
     </type>
     <type name='const void *'>
       <ref name='xmlListDataCompare'/>
-      <ref name='xmlListReverseWalk'/>
-      <ref name='xmlListWalk'/>
       <ref name='xmlListWalker'/>
     </type>
     <type name='const xlinkHRef'>
@@ -8185,7 +8187,9 @@
       <ref name='htmlIsScriptAttribute'/>
       <ref name='htmlNewDoc'/>
       <ref name='htmlNewDocNoDtD'/>
+      <ref name='htmlParseDoc'/>
       <ref name='htmlReadDoc'/>
+      <ref name='htmlSAXParseDoc'/>
       <ref name='htmlSetMetaEncoding'/>
       <ref name='htmlTagLookup'/>
       <ref name='ignorableWhitespace'/>
@@ -8285,6 +8289,9 @@
       <ref name='xmlHashAddEntry'/>
       <ref name='xmlHashAddEntry2'/>
       <ref name='xmlHashAddEntry3'/>
+      <ref name='xmlHashCopier'/>
+      <ref name='xmlHashDeallocator'/>
+      <ref name='xmlHashDefaultDeallocator'/>
       <ref name='xmlHashLookup'/>
       <ref name='xmlHashLookup2'/>
       <ref name='xmlHashLookup3'/>
@@ -8296,6 +8303,7 @@
       <ref name='xmlHashRemoveEntry3'/>
       <ref name='xmlHashScan3'/>
       <ref name='xmlHashScanFull3'/>
+      <ref name='xmlHashScanner'/>
       <ref name='xmlHashScannerFull'/>
       <ref name='xmlHashUpdateEntry'/>
       <ref name='xmlHashUpdateEntry2'/>
@@ -8860,6 +8868,7 @@
       <ref name='xmlHashAddEntry3'/>
       <ref name='xmlHashCopier'/>
       <ref name='xmlHashDeallocator'/>
+      <ref name='xmlHashDefaultDeallocator'/>
       <ref name='xmlHashScan'/>
       <ref name='xmlHashScan3'/>
       <ref name='xmlHashScanFull'/>
@@ -8883,7 +8892,10 @@
       <ref name='xmlListRemoveFirst'/>
       <ref name='xmlListRemoveLast'/>
       <ref name='xmlListReverseSearch'/>
+      <ref name='xmlListReverseWalk'/>
       <ref name='xmlListSearch'/>
+      <ref name='xmlListWalk'/>
+      <ref name='xmlListWalker'/>
       <ref name='xmlMemFree'/>
       <ref name='xmlMemRealloc'/>
       <ref name='xmlNanoFTPCheckResponse'/>
@@ -9171,14 +9183,9 @@
       <ref name='docbSAXParseDoc'/>
       <ref name='entityDecl'/>
       <ref name='entityDeclSAXFunc'/>
-      <ref name='htmlParseDoc'/>
-      <ref name='htmlSAXParseDoc'/>
       <ref name='xmlBuildQName'/>
       <ref name='xmlCopyChar'/>
       <ref name='xmlCopyCharMultiByte'/>
-      <ref name='xmlHashCopier'/>
-      <ref name='xmlHashDeallocator'/>
-      <ref name='xmlHashScanner'/>
       <ref name='xmlNewDocNodeEatName'/>
       <ref name='xmlNewNodeEatName'/>
       <ref name='xmlNewNsPropEatName'/>
@@ -11103,6 +11110,7 @@
       <ref name='xmlInitializeDict'/>
     </file>
     <file name='encoding'>
+      <ref name='ICU_PIVOT_BUF_SIZE'/>
       <ref name='UTF8Toisolat1'/>
       <ref name='XML_CHAR_ENCODING_2022_JP'/>
       <ref name='XML_CHAR_ENCODING_8859_1'/>
@@ -11262,6 +11270,7 @@
       <ref name='xmlHashCreate'/>
       <ref name='xmlHashCreateDict'/>
       <ref name='xmlHashDeallocator'/>
+      <ref name='xmlHashDefaultDeallocator'/>
       <ref name='xmlHashFree'/>
       <ref name='xmlHashLookup'/>
       <ref name='xmlHashLookup2'/>
@@ -14535,6 +14544,9 @@
         <word name='AegeanNumbers'>
           <ref name='xmlUCSIsAegeanNumbers'/>
         </word>
+        <word name='Alias'>
+          <ref name='xmlXPathEvalExpression'/>
+        </word>
         <word name='All'>
           <ref name='_xmlSchema'/>
           <ref name='_xmlSchemaType'/>
@@ -14726,8 +14738,6 @@
         </word>
         <word name='Based'>
           <ref name='xmlExpExpDerive'/>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
         </word>
         <word name='BasicLatin'>
           <ref name='xmlUCSIsBasicLatin'/>
@@ -14774,6 +14784,7 @@
         </word>
         <word name='Both'>
           <ref name='XML_SUBSTITUTE_BOTH'/>
+          <ref name='xmlSplitQName2'/>
           <ref name='xmlStreamPush'/>
           <ref name='xmlStreamPushAttr'/>
           <ref name='xmlStreamPushNode'/>
@@ -15502,6 +15513,7 @@
           <ref name='xmlValidNormalizeAttributeValue'/>
           <ref name='xmlValidateDocumentFinal'/>
           <ref name='xmlValidateDtdFinal'/>
+          <ref name='xmlXPathInit'/>
         </word>
         <word name='Douglas'>
           <ref name='xmlURIEscape'/>
@@ -15758,7 +15770,6 @@
         <word name='Evaluate'>
           <ref name='xmlXPathCompiledEval'/>
           <ref name='xmlXPathEval'/>
-          <ref name='xmlXPathEvalExpression'/>
           <ref name='xmlXPathEvalPredicate'/>
           <ref name='xmlXPathEvaluatePredicateResult'/>
           <ref name='xmlXPathNodeEval'/>
@@ -16865,9 +16876,6 @@
         <word name='Not'>
           <ref name='_xmlSchemaElement'/>
         </word>
-        <word name='NotaNumber'>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='Notation'>
           <ref name='_xmlNotation'/>
           <ref name='xmlParseEntityDecl'/>
@@ -16936,6 +16944,7 @@
           <ref name='_xmlSchemaElement'/>
           <ref name='_xmlSchemaFacet'/>
           <ref name='_xmlSchemaType'/>
+          <ref name='xmlXPtrRangeToFunction'/>
         </word>
         <word name='Obtain'>
           <ref name='xmlTextReaderLocatorBaseURI'/>
@@ -16976,6 +16985,7 @@
           <ref name='xmlXPathContextSetCache'/>
         </word>
         <word name='Otherwise'>
+          <ref name='xmlSplitQName2'/>
           <ref name='xmlStreamPush'/>
           <ref name='xmlStreamPushAttr'/>
         </word>
@@ -17229,8 +17239,6 @@
           <ref name='xmlTextReaderGetAttributeNo'/>
           <ref name='xmlTextReaderGetAttributeNs'/>
           <ref name='xmlTextReaderValue'/>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
         </word>
         <word name='Proxy'>
           <ref name='xmlNanoFTPScanProxy'/>
@@ -21299,10 +21307,6 @@
         <word name='cshema'>
           <ref name='XML_SCHEMAS_FINAL_DEFAULT_LIST'/>
         </word>
-        <word name='ctrio'>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='ctxt'>
           <ref name='xmlExpNewOr'/>
           <ref name='xmlExpNewRange'/>
@@ -21763,8 +21767,6 @@
           <ref name='xmlInputMatchCallback'/>
           <ref name='xmlKeepBlanksDefault'/>
           <ref name='xmlOutputMatchCallback'/>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
         </word>
         <word name='detected'>
           <ref name='CHECK_ERROR'/>
@@ -22023,6 +22025,7 @@
           <ref name='xmlNodeListGetRawString'/>
           <ref name='xmlPatternMatch'/>
           <ref name='xmlRemoveProp'/>
+          <ref name='xmlSplitQName2'/>
           <ref name='xmlUTF8Strlen'/>
           <ref name='xmlValidateRoot'/>
           <ref name='xmlXPathLeading'/>
@@ -22455,6 +22458,7 @@
           <ref name='xmlCatalogAdd'/>
           <ref name='xmlCatalogAddLocal'/>
           <ref name='xmlCatalogRemove'/>
+          <ref name='xmlHashDefaultDeallocator'/>
           <ref name='xmlHashUpdateEntry'/>
           <ref name='xmlHashUpdateEntry2'/>
           <ref name='xmlHashUpdateEntry3'/>
@@ -22607,7 +22611,6 @@
           <ref name='xmlNodeGetBase'/>
           <ref name='xmlParseBalancedChunkMemoryRecover'/>
           <ref name='xmlTextWriterFullEndElement'/>
-          <ref name='xmlXPathRoundFunction'/>
         </word>
         <word name='event'>
           <ref name='xmlSchemaSAXPlug'/>
@@ -23390,9 +23393,6 @@
         <word name='gYearMonth'>
           <ref name='xmlSchemaGetCanonValue'/>
         </word>
-        <word name='garanteed'>
-          <ref name='xmlUTF8Strsize'/>
-        </word>
         <word name='garbage'>
           <ref name='xmlGcMemGet'/>
           <ref name='xmlGcMemSetup'/>
@@ -23594,6 +23594,7 @@
         <word name='guaranteed'>
           <ref name='xmlModuleOpen'/>
           <ref name='xmlModuleSymbol'/>
+          <ref name='xmlUTF8Strsize'/>
         </word>
         <word name='guess'>
           <ref name='xmlCleanupParser'/>
@@ -23615,6 +23616,7 @@
           <ref name='xmlParseElementContentDecl'/>
           <ref name='xmlParsePEReference'/>
           <ref name='xmlParserHandlePEReference'/>
+          <ref name='xmlXPtrRangeToFunction'/>
         </word>
         <word name='handlers'>
           <ref name='xlinkSetDefaultHandler'/>
@@ -23844,8 +23846,6 @@
           <ref name='xmlSAX2GetSystemId'/>
           <ref name='xmlSchemaGetPredefinedType'/>
           <ref name='xmlTextReaderNodeType'/>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
         </word>
         <word name='human-readable'>
           <ref name='_xmlError'/>
@@ -24191,6 +24191,7 @@
         <word name='infinity'>
           <ref name='xmlXPathCeilingFunction'/>
           <ref name='xmlXPathFloorFunction'/>
+          <ref name='xmlXPathRoundFunction'/>
           <ref name='xmlXPathStringFunction'/>
         </word>
         <word name='info'>
@@ -24537,15 +24538,9 @@
         <word name='invited'>
           <ref name='xmlValidGetValidElements'/>
         </word>
-        <word name='isinf'>
-          <ref name='xmlXPathIsInf'/>
-        </word>
         <word name='isn'>
           <ref name='xmlRegisterCharEncodingHandler'/>
         </word>
-        <word name='isnan'>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='issue'>
           <ref name='xmlEncodeEntities'/>
         </word>
@@ -24642,6 +24637,7 @@
           <ref name='htmlIsAutoClosed'/>
           <ref name='htmlParseElement'/>
           <ref name='xmlKeepBlanksDefault'/>
+          <ref name='xmlXPathInit'/>
           <ref name='xmlXPathOrderDocElems'/>
         </word>
         <word name='keyword'>
@@ -25058,6 +25054,7 @@
           <ref name='xmlSetFeature'/>
           <ref name='xmlUTF8Strloc'/>
           <ref name='xmlXPtrLocationSetAdd'/>
+          <ref name='xmlXPtrRangeToFunction'/>
         </word>
         <word name='locations'>
           <ref name='_xmlLocationSet'/>
@@ -25733,7 +25730,6 @@
           <ref name='xmlSchemaSAXPlug'/>
           <ref name='xmlSetBufferAllocationScheme'/>
           <ref name='xmlShellPwd'/>
-          <ref name='xmlStrncat'/>
           <ref name='xmlTextReaderCurrentDoc'/>
           <ref name='xmlValidCtxtNormalizeAttributeValue'/>
           <ref name='xmlValidNormalizeAttributeValue'/>
@@ -25790,10 +25786,6 @@
           <ref name='xmlParseElementChildrenContentDecl'/>
           <ref name='xmlParseMarkupDecl'/>
         </word>
-        <word name='net'>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='network'>
           <ref name='htmlCtxtReadFile'/>
           <ref name='htmlReadFile'/>
@@ -25881,6 +25873,7 @@
         <word name='non-negative'>
           <ref name='xmlC14NDocSaveTo'/>
           <ref name='xmlC14NExecute'/>
+          <ref name='xmlTextReaderPreservePattern'/>
         </word>
         <word name='non-normative'>
           <ref name='xmlDetectCharEncoding'/>
@@ -25979,6 +25972,9 @@
           <ref name='xmlCheckUTF8'/>
           <ref name='xmlLoadExternalEntity'/>
         </word>
+        <word name='nothing'>
+          <ref name='xmlXPathInit'/>
+        </word>
         <word name='notice'>
           <ref name='xmlCleanupParser'/>
           <ref name='xmlCleanupThreads'/>
@@ -26088,7 +26084,13 @@
           <ref name='xmlParseComment'/>
           <ref name='xmlParseMarkupDecl'/>
         </word>
-        <word name='occured'>
+        <word name='occurences'>
+          <ref name='xmlAutomataNewCountTrans'/>
+          <ref name='xmlAutomataNewCountTrans2'/>
+          <ref name='xmlAutomataNewOnceTrans'/>
+          <ref name='xmlAutomataNewOnceTrans2'/>
+        </word>
+        <word name='occurred'>
           <ref name='xmlCtxtGetLastError'/>
           <ref name='xmlDictCreate'/>
           <ref name='xmlDictCreateSub'/>
@@ -26097,17 +26099,9 @@
           <ref name='xmlHashCreateDict'/>
           <ref name='xmlListRemoveFirst'/>
           <ref name='xmlListRemoveLast'/>
-          <ref name='xmlTextReaderErrorFunc'/>
-        </word>
-        <word name='occurences'>
-          <ref name='xmlAutomataNewCountTrans'/>
-          <ref name='xmlAutomataNewCountTrans2'/>
-          <ref name='xmlAutomataNewOnceTrans'/>
-          <ref name='xmlAutomataNewOnceTrans2'/>
-        </word>
-        <word name='occurred'>
           <ref name='xmlMemStrdupLoc'/>
           <ref name='xmlMemoryStrdup'/>
+          <ref name='xmlTextReaderErrorFunc'/>
         </word>
         <word name='occurrence'>
           <ref name='xmlStrcasestr'/>
@@ -26782,10 +26776,6 @@
           <ref name='xmlModuleOpen'/>
           <ref name='xmlModuleSymbol'/>
         </word>
-        <word name='portable'>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='pos'>
           <ref name='xmlUTF8Strsub'/>
         </word>
@@ -27169,10 +27159,6 @@
         <word name='prohibited'>
           <ref name='XML_SCHEMAS_ATTR_USE_PROHIBITED'/>
         </word>
-        <word name='projects'>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='prolog'>
           <ref name='xmlParseDocument'/>
         </word>
@@ -27467,6 +27453,9 @@
           <ref name='INPUT_CHUNK'/>
           <ref name='xmlAutomataCompile'/>
         </word>
+        <word name='real'>
+          <ref name='xmlXPtrRangeToFunction'/>
+        </word>
         <word name='realloc'>
           <ref name='_xmlBuffer'/>
           <ref name='xmlGcMemGet'/>
@@ -27479,6 +27468,7 @@
         </word>
         <word name='reallocated'>
           <ref name='xmlReallocFunc'/>
+          <ref name='xmlStrcat'/>
           <ref name='xmlStrncat'/>
         </word>
         <word name='really'>
@@ -28902,10 +28892,6 @@
           <ref name='xmlDOMWrapAdoptNode'/>
           <ref name='xmlDOMWrapCloneNode'/>
         </word>
-        <word name='sourceforge'>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
-        </word>
         <word name='spaces'>
           <ref name='_xmlParserCtxt'/>
           <ref name='htmlDocContentDumpFormatOutput'/>
@@ -28968,6 +28954,7 @@
           <ref name='xmlNodeSetContent'/>
           <ref name='xmlNodeSetContentLen'/>
           <ref name='xmlTextWriterWriteRawLen'/>
+          <ref name='xmlXPtrRangeToFunction'/>
         </word>
         <word name='specialized'>
           <ref name='_xmlDOMWrapCtxt'/>
@@ -29153,6 +29140,7 @@
           <ref name='xmlValidNormalizeAttributeValue'/>
           <ref name='xmlValidateDocumentFinal'/>
           <ref name='xmlValidateDtdFinal'/>
+          <ref name='xmlXPtrRangeToFunction'/>
         </word>
         <word name='steps'>
           <ref name='xmlNormalizeURIPath'/>
@@ -30070,8 +30058,6 @@
         <word name='trio'>
           <ref name='WITHOUT_TRIO'/>
           <ref name='WITH_TRIO'/>
-          <ref name='xmlXPathIsInf'/>
-          <ref name='xmlXPathIsNaN'/>
         </word>
         <word name='troubles'>
           <ref name='_xmlParserInput'/>
@@ -31310,6 +31296,7 @@
           <ref name='xmlGetNoNsProp'/>
           <ref name='xmlGetNsProp'/>
           <ref name='xmlGetProp'/>
+          <ref name='xmlHashDefaultDeallocator'/>
           <ref name='xmlNodeGetBase'/>
           <ref name='xmlNodeGetContent'/>
           <ref name='xmlNodeGetLang'/>
@@ -31941,6 +31928,9 @@
         <word name='xmlXPathError'>
           <ref name='err'/>
         </word>
+        <word name='xmlXPathEval'>
+          <ref name='xmlXPathEvalExpression'/>
+        </word>
         <word name='xmlXPathEvalPredicate'>
           <ref name='xmlXPtrEvalRangePredicate'/>
         </word>
@@ -32015,6 +32005,7 @@
         <word name='xpath'>
           <ref name='xmlShellPrintXPathError'/>
           <ref name='xmlShellPrintXPathResult'/>
+          <ref name='xmlXPtrRangeToFunction'/>
         </word>
         <word name='xpointer'>
           <ref name='XINCLUDE_PARSE_XPOINTER'/>
diff --git a/doc/libxml2.xsa b/doc/libxml2.xsa
index 0d4b8fe..33f3848 100644
--- a/doc/libxml2.xsa
+++ b/doc/libxml2.xsa
@@ -8,73 +8,45 @@
   </vendor>
   <product id="libxml2">
     <name>libxml2</name>
-    <version>v2.9.3</version>
-    <last-release> Nov 20 2015</last-release>
+    <version>2.9.7</version>
+    <last-release> Nov 02 2017</last-release>
     <info-url>http://xmlsoft.org/</info-url>
-    <changes>   - Security:
-  CVE-2015-8242 Buffer overead with HTML parser in push mode (Hugh Davenport),
-  CVE-2015-7500 Fix memory access error due to incorrect entities boundaries (Daniel Veillard),
-  CVE-2015-7499-2 Detect incoherency on GROW (Daniel Veillard),
-  CVE-2015-7499-1 Add xmlHaltParser() to stop the parser (Daniel Veillard),
-  CVE-2015-5312 Another entity expansion issue (David Drysdale),
-  CVE-2015-7497 Avoid an heap buffer overflow in xmlDictComputeFastQKey (David Drysdale),
-  CVE-2015-7498 Avoid processing entities after encoding conversion failures (Daniel Veillard),
-  CVE-2015-8035 Fix XZ compression support loop (Daniel Veillard),
-  CVE-2015-7942-2 Fix an error in previous Conditional section patch (Daniel Veillard),
-  CVE-2015-7942 Another variation of overflow in Conditional sections (Daniel Veillard),
-  CVE-2015-1819 Enforce the reader to run in constant memory (Daniel Veillard)
-  CVE-2015-7941_2 Cleanup conditional section error handling (Daniel Veillard),
-  CVE-2015-7941_1 Stop parsing on entities boundaries errors (Daniel Veillard),
-  
-   - Documentation:
-  Correct spelling of "calling" (Alex Henrie),
-  Fix a small error in xmllint --format description (Fabien Degomme),
-  Avoid XSS on the search of xmlsoft.org (Daniel Veillard)
+    <changes>   - Documentation:
+  xmlcatalog: refresh man page wrt. quering system catalog easily (Jan Pokorný)
   
    - Portability:
-  threads: use forward declarations only for glibc (Michael Heimpold),
-  Update Win32 configure.js to search for configure.ac (Daniel Veillard)
+  Fix deprecated Travis compiler flag (Nick Wellnhofer),
+  Add declaration for DllMain (J. Peter Mugaas),
+  Fix preprocessor conditional in threads.h (J. Peter Mugaas),
+  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),
+  Fix macro redefinition warning (J. Peter Mugaas),
+  Default to native threads on MinGW-w64 (Nick Wellnhofer),
+  Simplify Windows IO functions (Nick Wellnhofer),
+  Fix runtest on Windows (Nick Wellnhofer),
+  socklen_t is always int on Windows (Nick Wellnhofer),
+  Don't redefine socket error codes on Windows (Nick Wellnhofer),
+  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),
+  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)
   
    - Bug Fixes:
-  Bug on creating new stream from entity (Daniel Veillard),
-  Fix some loop issues embedding NEXT (Daniel Veillard),
-  Do not print error context when there is none (Daniel Veillard),
-  Avoid extra processing of MarkupDecl when EOF (Hugh Davenport),
-  Fix parsing short unclosed comment uninitialized access (Daniel Veillard),
-  Add missing Null check in xmlParseExternalEntityPrivate (Gaurav Gupta),
-  Fix a bug in CData error handling in the push parser (Daniel Veillard),
-  Fix a bug on name parsing at the end of current input buffer (Daniel Veillard),
-  Fix the spurious ID already defined error (Daniel Veillard),
-  Fix previous change to node sort order (Nick Wellnhofer),
-  Fix a self assignment issue raised by clang (Scott Graham),
-  Fail parsing early on if encoding conversion failed (Daniel Veillard),
-  Do not process encoding values if the declaration if broken (Daniel Veillard),
-  Silence clang's -Wunknown-attribute (Michael Catanzaro),
-  xmlMemUsed is not thread-safe (Martin von Gagern),
-  Fix support for except in nameclasses (Daniel Veillard),
-  Fix order of root nodes (Nick Wellnhofer),
-  Allow attributes on descendant-or-self axis (Nick Wellnhofer),
-  Fix the fix to Windows locking (Steve Nairn),
-  Fix timsort invariant loop re: Envisage article (Christopher Swenson),
-  Don't add IDs in xmlSetTreeDoc (Nick Wellnhofer),
-  Account for ID attributes in xmlSetTreeDoc (Nick Wellnhofer),
-  Remove various unused value assignments (Philip Withnall),
-  Fix missing entities after CVE-2014-3660 fix (Daniel Veillard),
-  Revert "Missing initialization for the catalog module" (Daniel Veillard)
+  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),
+  Fix comparison of nodesets to strings (Nick Wellnhofer)
   
    - Improvements:
-  Reuse xmlHaltParser() where it makes sense (Daniel Veillard),
-  xmlStopParser reset errNo (Daniel Veillard),
-  Reenable xz support by default (Daniel Veillard),
-  Recover unescaped less-than character in HTML recovery parsing (Daniel Veillard),
-  Allow HTML serializer to output HTML5 DOCTYPE (Shaun McCance),
-  Regression test for bug #695699 (Nick Wellnhofer),
-  Add a couple of XPath tests (Nick Wellnhofer),
-  Add Python 3 rpm subpackage (Tomas Radej),
-  libxml2-config.cmake.in: update include directories (Samuel Martin),
-  Adding example from bugs 738805 to regression tests (Daniel Veillard)
-  
-   - Cleanups:
+  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),
+  Fix mixed decls and code in timsort.h (Nick Wellnhofer),
+  Rework handling of return values in thread tests (Nick Wellnhofer),
+  Fix unused variable warnings in testrecurse (Nick Wellnhofer),
+  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),
+  Upgrade timsort.h to latest revision (Nick Wellnhofer),
+  Increase warning level to /W3 under MSVC (Nick Wellnhofer),
+  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),
+  Update .gitignore for Windows (Nick Wellnhofer),
+  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),
+  Fix the Windows header mess (Nick Wellnhofer),
+  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),
+  Remove generated file python/setup.py from version control (Nick Wellnhofer),
+  Use __linux__ macro in generated code (Nick Wellnhofer)
   
 
 </changes>
diff --git a/doc/news.html b/doc/news.html
index 0c692c8..65839ad 100644
--- a/doc/news.html
+++ b/doc/news.html
@@ -8,7 +8,237 @@
 H3 {font-family: Verdana,Arial,Helvetica}
 A:link, A:visited, A:active { text-decoration: underline }
 </style><title>Releases</title></head><body bgcolor="#8b7765" text="#000000" link="#a06060" vlink="#000000"><table border="0" width="100%" cellpadding="5" cellspacing="0" align="center"><tr><td width="120"><a href="http://swpat.ffii.org/"><img src="epatents.png" alt="Action against software patents" /></a></td><td width="180"><a href="http://www.gnome.org/"><img src="gnome2.png" alt="Gnome2 Logo" /></a><a href="http://www.w3.org/Status"><img src="w3c.png" alt="W3C Logo" /></a><a href="http://www.redhat.com/"><img src="redhat.gif" alt="Red Hat Logo" /></a><div align="left"><a href="http://xmlsoft.org/"><img src="Libxml2-Logo-180x168.gif" alt="Made with Libxml2 Logo" /></a></div></td><td><table border="0" width="90%" cellpadding="2" cellspacing="0" align="center" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3" bgcolor="#fffacd"><tr><td align="center"><h1>The XML C parser and toolkit of Gnome</h1><h2>Releases</h2></td></tr></table></td></tr></table></td></tr></table><table border="0" cellpadding="4" cellspacing="0" width="100%" align="center"><tr><td bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="2" width="100%"><tr><td valign="top" width="200" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Main Menu</b></center></td></tr><tr><td bgcolor="#fffacd"><form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><input name="query" type="text" size="20" value="" /><input name="submit" type="submit" value="Search ..." /></form><ul><li><a href="index.html">Home</a></li><li><a href="html/index.html">Reference Manual</a></li><li><a href="intro.html">Introduction</a></li><li><a href="FAQ.html">FAQ</a></li><li><a href="docs.html" style="font-weight:bold">Developer Menu</a></li><li><a href="bugs.html">Reporting bugs and getting help</a></li><li><a href="help.html">How to help</a></li><li><a href="downloads.html">Downloads</a></li><li><a href="news.html">Releases</a></li><li><a href="XMLinfo.html">XML</a></li><li><a href="XSLT.html">XSLT</a></li><li><a href="xmldtd.html">Validation &amp; DTDs</a></li><li><a href="encoding.html">Encodings support</a></li><li><a href="catalog.html">Catalog support</a></li><li><a href="namespaces.html">Namespaces</a></li><li><a href="contribs.html">Contributions</a></li><li><a href="examples/index.html" style="font-weight:bold">Code Examples</a></li><li><a href="html/index.html" style="font-weight:bold">API Menu</a></li><li><a href="guidelines.html">XML Guidelines</a></li><li><a href="ChangeLog.html">Recent Changes</a></li></ul></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td colspan="1" bgcolor="#eecfa1" align="center"><center><b>Related links</b></center></td></tr><tr><td bgcolor="#fffacd"><ul><li><a href="http://mail.gnome.org/archives/xml/">Mail archive</a></li><li><a href="http://xmlsoft.org/XSLT/">XSLT libxslt</a></li><li><a href="http://phd.cs.unibo.it/gdome2/">DOM gdome2</a></li><li><a href="http://www.aleksey.com/xmlsec/">XML-DSig xmlsec</a></li><li><a href="ftp://xmlsoft.org/">FTP</a></li><li><a href="http://www.zlatkovic.com/projects/libxml/">Windows binaries</a></li><li><a href="http://opencsw.org/packages/libxml2">Solaris binaries</a></li><li><a href="http://www.explain.com.au/oss/libxml2xslt.html">MacOsX binaries</a></li><li><a href="http://lxml.de/">lxml Python bindings</a></li><li><a href="http://cpan.uwinnipeg.ca/dist/XML-LibXML">Perl bindings</a></li><li><a href="http://libxmlplusplus.sourceforge.net/">C++ bindings</a></li><li><a href="http://www.zend.com/php5/articles/php5-xmlphp.php#Heading4">PHP bindings</a></li><li><a href="http://sourceforge.net/projects/libxml2-pas/">Pascal bindings</a></li><li><a href="http://libxml.rubyforge.org/">Ruby bindings</a></li><li><a href="http://tclxml.sourceforge.net/">Tcl bindings</a></li><li><a href="http://bugzilla.gnome.org/buglist.cgi?product=libxml2">Bug Tracker</a></li></ul></td></tr></table></td></tr></table></td><td valign="top" bgcolor="#8b7765"><table border="0" cellspacing="0" cellpadding="1" width="100%"><tr><td><table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#000000"><tr><td><table border="0" cellpadding="3" cellspacing="1" width="100%"><tr><td bgcolor="#fffacd"><p>The <a href="ChangeLog.html">change log</a> describes the recents commits
-to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p><p>Here is the list of public releases:</p><h3>2.9.4: May 23 2016</h3><ul>
+to the <a href="http://git.gnome.org/browse/libxml2/">GIT</a> code base.</p><p>Here is the list of public releases:</p><h3>v2.9.8: Mar 05 2018</h3><ul>
+  <li>Portability:<br />
+  python: remove single use of _PyVerify_fd (Patrick Welche),<br />
+  Build more test executables on Windows/MSVC (Nick Wellnhofer),<br />
+  Stop including ansidecl.h (Nick Wellnhofer),<br />
+  Fix libz and liblzma detection (Nick Wellnhofer),<br />
+  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Bug Fixes:<br />
+  Fix xmlParserEntityCheck (Nick Wellnhofer),<br />
+  Halt parser in case of encoding error (Nick Wellnhofer),<br />
+  Clear entity content in case of errors (Nick Wellnhofer),<br />
+  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),<br />
+  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),<br />
+  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),<br />
+  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),<br />
+  Fix -Wenum-compare warnings (Nick Wellnhofer),<br />
+  Fix callback signature in testapi.c (Nick Wellnhofer),<br />
+  Fix unused parameter warning without ICU (Nick Wellnhofer),<br />
+  Fix IO callback signatures (Nick Wellnhofer),<br />
+  Fix misc callback signatures (Nick Wellnhofer),<br />
+  Fix list callback signatures (Nick Wellnhofer),<br />
+  Fix hash callback signatures (Nick Wellnhofer),<br />
+  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),<br />
+  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),<br />
+  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Improvements:<br />
+  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),<br />
+  Improve handling of context input_id (Daniel Veillard),<br />
+  Add resource file to Windows DLL (ccpaging),<br />
+  Run Travis tests with -Werror (Nick Wellnhofer),<br />
+  Build with "-Wall -Wextra" (Nick Wellnhofer),<br />
+  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),<br />
+  Remove unused AC_CHECKs (Nick Wellnhofer),<br />
+  Update information about contributing (Nick Wellnhofer),<br />
+  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),<br />
+  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),<br />
+  Ignore function pointer cast warnings (Nick Wellnhofer),<br />
+  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),<br />
+  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),<br />
+  Add test for ICU flush and pivot buffer (Nick Wellnhofer),<br />
+  Compile testapi with -Wno-unused-function (Nick Wellnhofer)<br />
+  </li>
+</ul><h3>2.9.7: Nov 02 2017</h3><ul>
+  <li>Documentation:<br />
+  xmlcatalog: refresh man page wrt. quering system catalog easily (Jan Pokorný)<br />
+  </li>
+
+  <li>Portability:<br />
+  Fix deprecated Travis compiler flag (Nick Wellnhofer),<br />
+  Add declaration for DllMain (J. Peter Mugaas),<br />
+  Fix preprocessor conditional in threads.h (J. Peter Mugaas),<br />
+  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),<br />
+  Fix macro redefinition warning (J. Peter Mugaas),<br />
+  Default to native threads on MinGW-w64 (Nick Wellnhofer),<br />
+  Simplify Windows IO functions (Nick Wellnhofer),<br />
+  Fix runtest on Windows (Nick Wellnhofer),<br />
+  socklen_t is always int on Windows (Nick Wellnhofer),<br />
+  Don't redefine socket error codes on Windows (Nick Wellnhofer),<br />
+  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),<br />
+  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Bug Fixes:<br />
+  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),<br />
+  Fix comparison of nodesets to strings (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Improvements:<br />
+  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),<br />
+  Fix mixed decls and code in timsort.h (Nick Wellnhofer),<br />
+  Rework handling of return values in thread tests (Nick Wellnhofer),<br />
+  Fix unused variable warnings in testrecurse (Nick Wellnhofer),<br />
+  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),<br />
+  Upgrade timsort.h to latest revision (Nick Wellnhofer),<br />
+  Increase warning level to /W3 under MSVC (Nick Wellnhofer),<br />
+  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),<br />
+  Update .gitignore for Windows (Nick Wellnhofer),<br />
+  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),<br />
+  Fix the Windows header mess (Nick Wellnhofer),<br />
+  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),<br />
+  Remove generated file python/setup.py from version control (Nick Wellnhofer),<br />
+  Use __linux__ macro in generated code (Nick Wellnhofer)<br />
+  </li>
+
+</ul><h3>v2.9.6: Oct 06 2017</h3><ul>
+  <li>Portability:<br />
+  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Bug Fixes:<br />
+  Fix XPath stack frame logic (Nick Wellnhofer),<br />
+  Report undefined XPath variable error message (Nick Wellnhofer),<br />
+  Fix regression with librsvg (Nick Wellnhofer),<br />
+  Handle more invalid entity values in recovery mode (Nick Wellnhofer),<br />
+  Fix structured validation errors (Nick Wellnhofer),<br />
+  Fix memory leak in LZMA decompressor (Nick Wellnhofer),<br />
+  Set memory limit for LZMA decompression (Nick Wellnhofer),<br />
+  Handle illegal entity values in recovery mode (Nick Wellnhofer),<br />
+  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),<br />
+  Fix memory leak in nanoftp (Nick Wellnhofer),<br />
+  Fix memory leaks in SAX1 parser (Nick Wellnhofer)<br />
+  </li>
+</ul><h3>v2.9.5: Sep 04 2017</h3><ul>
+
+  <li>Security:<br />
+  Detect infinite recursion in parameter entities (Nick Wellnhofer),<br />
+  Fix handling of parameter-entity references (Nick Wellnhofer),<br />
+  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),<br />
+  Fix XPointer paths beginning with range-to (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Documentation:<br />
+  Documentation fixes (Nick Wellnhofer),<br />
+  Spelling and grammar fixes (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Portability:<br />
+  Adding README.zOS to list of extra files for the release (Daniel Veillard),<br />
+  Description of work needed to compile on zOS (Stéphane Michaut),<br />
+  Porting libxml2 on zOS encoding of code (Stéphane Michaut),<br />
+  small changes for OS/400 (Patrick Monnerat),<br />
+  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)<br />
+  </li>
+
+  <li>Bug Fixes:<br />
+  Problem resolving relative URIs (Daniel Veillard),<br />
+  Fix unwanted warnings when switching encodings (Nick Wellnhofer),<br />
+  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),<br />
+  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),<br />
+  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),<br />
+  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),<br />
+  Send xmllint usage error to stderr (Nick Wellnhofer),<br />
+  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),<br />
+  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),<br />
+  Fix xmlHaltParser (Nick Wellnhofer),<br />
+  Fix pathological performance when outputting charrefs (Nick Wellnhofer),<br />
+  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),<br />
+  Fix duplicate SAX callbacks for entity content (David Kilzer),<br />
+  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),<br />
+  Fix copy-paste errors in error messages (Nick Wellnhofer),<br />
+  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),<br />
+  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),<br />
+  Reset parser input pointers on encoding failure (Nick Wellnhofer),<br />
+  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),<br />
+  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),<br />
+  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),<br />
+  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),<br />
+  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),<br />
+  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),<br />
+  Stop parser on unsupported encodings (Nick Wellnhofer),<br />
+  Check for integer overflow in memory debug code (Nick Wellnhofer),<br />
+  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),<br />
+  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),<br />
+  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),<br />
+  Check XPath exponents for overflow (Nick Wellnhofer),<br />
+  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),<br />
+  Fix spurious error message (Nick Wellnhofer),<br />
+  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),<br />
+  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),<br />
+  Fix memory leak in pattern error path (Nick Wellnhofer),<br />
+  Fix memory leak in parser error path (Nick Wellnhofer),<br />
+  Fix memory leaks in XPointer error paths (Nick Wellnhofer),<br />
+  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),<br />
+  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),<br />
+  Fix memory leaks in XPath error paths (Nick Wellnhofer),<br />
+  Do not leak the new CData node if adding fails (David Tardon),<br />
+  Prevent unwanted external entity reference (Neel Mehta),<br />
+  Increase buffer space for port in HTTP redirect support (Daniel Veillard),<br />
+  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),<br />
+  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),<br />
+  Fix format string warnings (Nick Wellnhofer),<br />
+  Disallow namespace nodes in XPointer points (Nick Wellnhofer),<br />
+  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),<br />
+  Fix attribute decoding during XML schema validation (Alex Henrie),<br />
+  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Improvements:<br />
+  Updating the spec file to reflect Fedora 24 (Daniel Veillard),<br />
+  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),<br />
+  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),<br />
+  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),<br />
+  Simplify handling of parameter entity references (Nick Wellnhofer),<br />
+  Deduplicate code in encoding.c (Nick Wellnhofer),<br />
+  Make HTML parser functions take const pointers (Nick Wellnhofer),<br />
+  Build test programs only when needed (Nick Wellnhofer),<br />
+  Fix doc/examples/index.py (Nick Wellnhofer),<br />
+  Fix compiler warnings in threads.c (Nick Wellnhofer),<br />
+  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),<br />
+  Fix cast-align warnings (Nick Wellnhofer),<br />
+  Fix unused-parameter warnings (Nick Wellnhofer),<br />
+  Rework entity boundary checks (Nick Wellnhofer),<br />
+  Don't switch encoding for internal parameter entities (Nick Wellnhofer),<br />
+  Merge duplicate code paths handling PE references (Nick Wellnhofer),<br />
+  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),<br />
+  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),<br />
+  Misc fixes for 'make tests' (Nick Wellnhofer),<br />
+  Initialize keepBlanks in HTML parser (Nick Wellnhofer),<br />
+  Add test cases for bug 758518 (David Kilzer),<br />
+  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),<br />
+  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),<br />
+  Allow zero sized memory input buffers (Nick Wellnhofer),<br />
+  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),<br />
+  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),<br />
+  Make Travis print UBSan stacktraces (Nick Wellnhofer),<br />
+  Add .travis.yml (Nick Wellnhofer),<br />
+  Fix expected error output in Python tests (Nick Wellnhofer),<br />
+  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),<br />
+  Disable LeakSanitizer when running API tests (Nick Wellnhofer),<br />
+  Avoid out-of-bound array access in API tests (Nick Wellnhofer),<br />
+  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),<br />
+  Parse small XPath numbers more accurately (Nick Wellnhofer),<br />
+  Rework XPath rounding functions (Nick Wellnhofer),<br />
+  Fix white space in test output (Nick Wellnhofer),<br />
+  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),<br />
+  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),<br />
+  Rework final handling of XPath results (Nick Wellnhofer),<br />
+  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),<br />
+  Remove unused variables (Nick Wellnhofer),<br />
+  Don't print generic error messages in XPath tests (Nick Wellnhofer)<br />
+  </li>
+
+  <li>Cleanups:<br />
+  Fix a couple of misleading indentation errors (Daniel Veillard),<br />
+  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)<br />
+  </li>
+</ul><h3>2.9.4: May 23 2016</h3><ul>
   <li>Security:<br />
   More format string warnings with possible format string vulnerability (David Kilzer),<br />
   Avoid building recursive entities (Daniel Veillard),<br />
@@ -1368,7 +1598,7 @@
     Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
     (Rob Richards), Schemas decimal type fixes (William Brack),
     xmlByteConsumed static buffer (Ben Maurer).</li>
-  <li>improvement: speedup parsing comments and DTDs, dictionnary support for
+  <li>improvement: speedup parsing comments and DTDs, dictionary support for
     hash tables, Schemas Identity constraints (Kasimier), streaming XPath
     subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
     values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
@@ -1558,7 +1788,7 @@
     URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
     XInclude and XPointer fixes for entities (William), XML parser bug
     reported by Holger Rauch, nanohttp fd leak (William),  regexps char
-    groups '-' handling (William), dictionnary reference counting problems,
+    groups '-' handling (William), dictionary reference counting problems,
     do not close stderr.</li>
   <li>performance patches from Petr Pajas</li>
   <li>Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)</li>
@@ -1613,14 +1843,14 @@
     Fleck), doc (Sven Zimmerman), I/O example.</li>
   <li>Python bindings: fixes (William), enum support (Stéphane Bidoul),
     structured error reporting (Stéphane Bidoul)</li>
-  <li>XInclude: various fixes for conformance, problem related to dictionnary
+  <li>XInclude: various fixes for conformance, problem related to dictionary
     references (William &amp; me), recursion (William)</li>
   <li>xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
     Mickautsch),</li>
   <li>xmlSchemas: normalizedString datatype (John Belmonte)</li>
   <li>code cleanup for strings functions (William)</li>
   <li>Windows: compiler patches (Mark Vakoc)</li>
-  <li>Parser optimizations, a few new XPath and dictionnary APIs for future
+  <li>Parser optimizations, a few new XPath and dictionary APIs for future
     XSLT optimizations.</li>
 </ul><h3>2.6.4: Dec 24 2003</h3><ul>
   <li>Windows build fixes (Igor Zlatkovic)</li>
@@ -1705,8 +1935,8 @@
     of change</li>
   <li>Increased the library modularity, far more options can be stripped out,
     a --with-minimum configuration will weight around 160KBytes</li>
-  <li>Use per parser and per document dictionnary, allocate names and small
-    text nodes from the dictionnary</li>
+  <li>Use per parser and per document dictionary, allocate names and small
+    text nodes from the dictionary</li>
   <li>Switch to a SAX2 like parser rewrote most of the XML parser core,
     provides namespace resolution and defaulted attributes, minimize memory
     allocations and copies, namespace checking and specific error handling,
@@ -1753,7 +1983,7 @@
     (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
     error handling.</li>
   <li>xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
-    testing,  --nodict for building without tree dictionnary, --nocdata to
+    testing,  --nodict for building without tree dictionary, --nocdata to
     replace CDATA by text, --nsclean to remove surperfluous  namespace
     declarations</li>
   <li>added xml2-config --libtool-libs option from Kevin P. Fleming</li>
diff --git a/doc/symbols.xml b/doc/symbols.xml
index ec275e7..99aea71 100644
--- a/doc/symbols.xml
+++ b/doc/symbols.xml
@@ -1765,4 +1765,7 @@
     <symbol file="xpath">xmlXPathNodeEval</symbol>
     <symbol file="xpath">xmlXPathSetContextNode</symbol>
   </release>
+  <release version="2.9.8">
+    <symbol file="hash">xmlHashDefaultDeallocator</symbol>
+  </release>
 </symbols>
diff --git a/doc/xml.html b/doc/xml.html
index d035934..4059fb7 100644
--- a/doc/xml.html
+++ b/doc/xml.html
@@ -532,7 +532,7 @@
 is still open. Be sure to specify that the bug is for the package libxml2.</p>
 
 <p>For small problems you can try to get help on IRC, the #xml channel on
-irc.gnome.org (port 6667) usually have a few person subscribed which may help
+irc.gnome.org (port 6667) usually has a few people subscribed which may help
 (but there is no guarantee and if a real issue is raised it should go on the
 mailing-list for archival).</p>
 
@@ -709,6 +709,244 @@
 
 <p>Here is the list of public releases:</p>
 
+<h3>v2.9.8: Mar 05 2018</h3>
+<ul>
+  <li>Portability:<br/>
+  python: remove single use of _PyVerify_fd (Patrick Welche),<br/>
+  Build more test executables on Windows/MSVC (Nick Wellnhofer),<br/>
+  Stop including ansidecl.h (Nick Wellnhofer),<br/>
+  Fix libz and liblzma detection (Nick Wellnhofer),<br/>
+  Revert "Compile testapi with -Wno-unused-function" (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  Fix xmlParserEntityCheck (Nick Wellnhofer),<br/>
+  Halt parser in case of encoding error (Nick Wellnhofer),<br/>
+  Clear entity content in case of errors (Nick Wellnhofer),<br/>
+  Change calls to xmlCharEncInput to set flush false when not final call. Having flush incorrectly set to true causes errors for ICU. (Joel Hockey),<br/>
+  Fix buffer over-read in xmlParseNCNameComplex (Nick Wellnhofer),<br/>
+  Fix ICU library filenames on Windows/MSVC (Nick Wellnhofer),<br/>
+  Fix xmlXPathIsNaN broken by recent commit (Nick Wellnhofer),<br/>
+  Fix -Wenum-compare warnings (Nick Wellnhofer),<br/>
+  Fix callback signature in testapi.c (Nick Wellnhofer),<br/>
+  Fix unused parameter warning without ICU (Nick Wellnhofer),<br/>
+  Fix IO callback signatures (Nick Wellnhofer),<br/>
+  Fix misc callback signatures (Nick Wellnhofer),<br/>
+  Fix list callback signatures (Nick Wellnhofer),<br/>
+  Fix hash callback signatures (Nick Wellnhofer),<br/>
+  Refactor name and type signature for xmlNop (Vlad Tsyrklevich),<br/>
+  Fixed ICU to set flush correctly and provide pivot buffer. (Joel Hockey),<br/>
+  Skip EBCDIC tests if EBCDIC isn't supported (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Improvements:<br/>
+  Disable pointer-overflow UBSan checks under Travis (Nick Wellnhofer),<br/>
+  Improve handling of context input_id (Daniel Veillard),<br/>
+  Add resource file to Windows DLL (ccpaging),<br/>
+  Run Travis tests with -Werror (Nick Wellnhofer),<br/>
+  Build with "-Wall -Wextra" (Nick Wellnhofer),<br/>
+  Fix -Wtautological-pointer-compare warnings (Nick Wellnhofer),<br/>
+  Remove unused AC_CHECKs (Nick Wellnhofer),<br/>
+  Update information about contributing (Nick Wellnhofer),<br/>
+  Fix -Wmisleading-indentation warnings (Nick Wellnhofer),<br/>
+  Don't touch CFLAGS in configure.ac (Nick Wellnhofer),<br/>
+  Ignore function pointer cast warnings (Nick Wellnhofer),<br/>
+  Simplify XPath NaN, inf and -0 handling (Nick Wellnhofer),<br/>
+  Introduce xmlPosixStrdup and update xmlMemStrdup (Nick Wellnhofer),<br/>
+  Add test for ICU flush and pivot buffer (Nick Wellnhofer),<br/>
+  Compile testapi with -Wno-unused-function (Nick Wellnhofer)<br/>
+  </li>
+</ul>
+<h3>2.9.7: Nov 02 2017</h3>
+<ul>
+  <li>Documentation:<br/>
+  xmlcatalog: refresh man page wrt. quering system catalog easily (Jan Pokorný)<br/>
+  </li>
+
+  <li>Portability:<br/>
+  Fix deprecated Travis compiler flag (Nick Wellnhofer),<br/>
+  Add declaration for DllMain (J. Peter Mugaas),<br/>
+  Fix preprocessor conditional in threads.h (J. Peter Mugaas),<br/>
+  Fix pointer comparison warnings on 64-bit Windows (J. Peter Mugaas),<br/>
+  Fix macro redefinition warning (J. Peter Mugaas),<br/>
+  Default to native threads on MinGW-w64 (Nick Wellnhofer),<br/>
+  Simplify Windows IO functions (Nick Wellnhofer),<br/>
+  Fix runtest on Windows (Nick Wellnhofer),<br/>
+  socklen_t is always int on Windows (Nick Wellnhofer),<br/>
+  Don't redefine socket error codes on Windows (Nick Wellnhofer),<br/>
+  Fix pointer/int cast warnings on 64-bit Windows (Nick Wellnhofer),<br/>
+  Fix Windows compiler warnings in xmlCanonicPath (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  xmlcatalog: restore ability to query system catalog easily (Jan Pokorný),<br/>
+  Fix comparison of nodesets to strings (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Improvements:<br/>
+  Add Makefile rules to rebuild HTML man pages (Nick Wellnhofer),<br/>
+  Fix mixed decls and code in timsort.h (Nick Wellnhofer),<br/>
+  Rework handling of return values in thread tests (Nick Wellnhofer),<br/>
+  Fix unused variable warnings in testrecurse (Nick Wellnhofer),<br/>
+  Fix -Wimplicit-fallthrough warnings (J. Peter Mugaas),<br/>
+  Upgrade timsort.h to latest revision (Nick Wellnhofer),<br/>
+  Increase warning level to /W3 under MSVC (Nick Wellnhofer),<br/>
+  Fix a couple of warnings in dict.c and threads.c (Nick Wellnhofer),<br/>
+  Update .gitignore for Windows (Nick Wellnhofer),<br/>
+  Fix unused variable warnings in nanohttp.c (Nick Wellnhofer),<br/>
+  Fix the Windows header mess (Nick Wellnhofer),<br/>
+  Don't include winsock2.h in xmllint.c (Nick Wellnhofer),<br/>
+  Remove generated file python/setup.py from version control (Nick Wellnhofer),<br/>
+  Use __linux__ macro in generated code (Nick Wellnhofer)<br/>
+  </li>
+
+</ul>
+<h3>v2.9.6: Oct 06 2017</h3>
+<ul>
+  <li>Portability:<br/>
+  Change preprocessor OS tests to __linux__ (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  Fix XPath stack frame logic (Nick Wellnhofer),<br/>
+  Report undefined XPath variable error message (Nick Wellnhofer),<br/>
+  Fix regression with librsvg (Nick Wellnhofer),<br/>
+  Handle more invalid entity values in recovery mode (Nick Wellnhofer),<br/>
+  Fix structured validation errors (Nick Wellnhofer),<br/>
+  Fix memory leak in LZMA decompressor (Nick Wellnhofer),<br/>
+  Set memory limit for LZMA decompression (Nick Wellnhofer),<br/>
+  Handle illegal entity values in recovery mode (Nick Wellnhofer),<br/>
+  Fix debug dump of streaming XPath expressions (Nick Wellnhofer),<br/>
+  Fix memory leak in nanoftp (Nick Wellnhofer),<br/>
+  Fix memory leaks in SAX1 parser (Nick Wellnhofer)<br/>
+  </li>
+</ul>
+<h3>v2.9.5: Sep 04 2017</h3>
+<ul>
+
+  <li>Security:<br/>
+  Detect infinite recursion in parameter entities (Nick Wellnhofer),<br/>
+  Fix handling of parameter-entity references (Nick Wellnhofer),<br/>
+  Disallow namespace nodes in XPointer ranges (Nick Wellnhofer),<br/>
+  Fix XPointer paths beginning with range-to (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Documentation:<br/>
+  Documentation fixes (Nick Wellnhofer),<br/>
+  Spelling and grammar fixes (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Portability:<br/>
+  Adding README.zOS to list of extra files for the release (Daniel Veillard),<br/>
+  Description of work needed to compile on zOS (Stéphane Michaut),<br/>
+  Porting libxml2 on zOS encoding of code (Stéphane Michaut),<br/>
+  small changes for OS/400 (Patrick Monnerat),<br/>
+  relaxng.c, xmlschemas.c: Fix build on pre-C99 compilers (Chun-wei Fan)<br/>
+  </li>
+
+  <li>Bug Fixes:<br/>
+  Problem resolving relative URIs (Daniel Veillard),<br/>
+  Fix unwanted warnings when switching encodings (Nick Wellnhofer),<br/>
+  Fix signature of xmlSchemaAugmentImportedIDC (Daniel Veillard),<br/>
+  Heap-buffer-overflow read of size 1 in xmlFAParsePosCharGroup (David Kilzer),<br/>
+  Fix NULL pointer deref in xmlFAParseCharClassEsc (Nick Wellnhofer),<br/>
+  Fix infinite loops with push parser in recovery mode (Nick Wellnhofer),<br/>
+  Send xmllint usage error to stderr (Nick Wellnhofer),<br/>
+  Fix NULL deref in xmlParseExternalEntityPrivate (Nick Wellnhofer),<br/>
+  Make sure not to call IS_BLANK_CH when parsing the DTD (Nick Wellnhofer),<br/>
+  Fix xmlHaltParser (Nick Wellnhofer),<br/>
+  Fix pathological performance when outputting charrefs (Nick Wellnhofer),<br/>
+  Fix invalid-source-encoding warnings in testWriter.c (Nick Wellnhofer),<br/>
+  Fix duplicate SAX callbacks for entity content (David Kilzer),<br/>
+  Treat URIs with scheme as absolute in C14N (Nick Wellnhofer),<br/>
+  Fix copy-paste errors in error messages (Nick Wellnhofer),<br/>
+  Fix sanity check in htmlParseNameComplex (Nick Wellnhofer),<br/>
+  Fix potential infinite loop in xmlStringLenDecodeEntities (Nick Wellnhofer),<br/>
+  Reset parser input pointers on encoding failure (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlParseEntityDecl error path (Nick Wellnhofer),<br/>
+  Fix xmlBuildRelativeURI for URIs starting with './' (Nick Wellnhofer),<br/>
+  Fix type confusion in xmlValidateOneNamespace (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlStringLenGetNodeList (Nick Wellnhofer),<br/>
+  Fix NULL pointer deref in xmlDumpElementContent (Daniel Veillard),<br/>
+  Fix memory leak in xmlBufAttrSerializeTxtContent (Nick Wellnhofer),<br/>
+  Stop parser on unsupported encodings (Nick Wellnhofer),<br/>
+  Check for integer overflow in memory debug code (Nick Wellnhofer),<br/>
+  Fix buffer size checks in xmlSnprintfElementContent (Nick Wellnhofer),<br/>
+  Avoid reparsing in xmlParseStartTag2 (Nick Wellnhofer),<br/>
+  Fix undefined behavior in xmlRegExecPushStringInternal (Nick Wellnhofer),<br/>
+  Check XPath exponents for overflow (Nick Wellnhofer),<br/>
+  Check for overflow in xmlXPathIsPositionalPredicate (Nick Wellnhofer),<br/>
+  Fix spurious error message (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlCanonicPath (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlXPathCompareNodeSetValue (Nick Wellnhofer),<br/>
+  Fix memory leak in pattern error path (Nick Wellnhofer),<br/>
+  Fix memory leak in parser error path (Nick Wellnhofer),<br/>
+  Fix memory leaks in XPointer error paths (Nick Wellnhofer),<br/>
+  Fix memory leak in xmlXPathNodeSetMergeAndClear (Nick Wellnhofer),<br/>
+  Fix memory leak in XPath filter optimizations (Nick Wellnhofer),<br/>
+  Fix memory leaks in XPath error paths (Nick Wellnhofer),<br/>
+  Do not leak the new CData node if adding fails (David Tardon),<br/>
+  Prevent unwanted external entity reference (Neel Mehta),<br/>
+  Increase buffer space for port in HTTP redirect support (Daniel Veillard),<br/>
+  Fix more NULL pointer derefs in xpointer.c (Nick Wellnhofer),<br/>
+  Avoid function/data pointer conversion in xpath.c (Nick Wellnhofer),<br/>
+  Fix format string warnings (Nick Wellnhofer),<br/>
+  Disallow namespace nodes in XPointer points (Nick Wellnhofer),<br/>
+  Fix comparison with root node in xmlXPathCmpNodes (Nick Wellnhofer),<br/>
+  Fix attribute decoding during XML schema validation (Alex Henrie),<br/>
+  Fix NULL pointer deref in XPointer range-to (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Improvements:<br/>
+  Updating the spec file to reflect Fedora 24 (Daniel Veillard),<br/>
+  Add const in five places to move 1 KiB to .rdata (Bruce Dawson),<br/>
+  Fix missing part of comment for function xmlXPathEvalExpression() (Daniel Veillard),<br/>
+  Get rid of "blanks wrapper" for parameter entities (Nick Wellnhofer),<br/>
+  Simplify handling of parameter entity references (Nick Wellnhofer),<br/>
+  Deduplicate code in encoding.c (Nick Wellnhofer),<br/>
+  Make HTML parser functions take const pointers (Nick Wellnhofer),<br/>
+  Build test programs only when needed (Nick Wellnhofer),<br/>
+  Fix doc/examples/index.py (Nick Wellnhofer),<br/>
+  Fix compiler warnings in threads.c (Nick Wellnhofer),<br/>
+  Fix empty-body warning in nanohttp.c (Nick Wellnhofer),<br/>
+  Fix cast-align warnings (Nick Wellnhofer),<br/>
+  Fix unused-parameter warnings (Nick Wellnhofer),<br/>
+  Rework entity boundary checks (Nick Wellnhofer),<br/>
+  Don't switch encoding for internal parameter entities (Nick Wellnhofer),<br/>
+  Merge duplicate code paths handling PE references (Nick Wellnhofer),<br/>
+  Test SAX2 callbacks with entity substitution (Nick Wellnhofer),<br/>
+  Support catalog and threads tests under --without-sax1 (Nick Wellnhofer),<br/>
+  Misc fixes for 'make tests' (Nick Wellnhofer),<br/>
+  Initialize keepBlanks in HTML parser (Nick Wellnhofer),<br/>
+  Add test cases for bug 758518 (David Kilzer),<br/>
+  Fix compiler warning in htmlParseElementInternal (Nick Wellnhofer),<br/>
+  Remove useless check in xmlParseAttributeListDecl (Nick Wellnhofer),<br/>
+  Allow zero sized memory input buffers (Nick Wellnhofer),<br/>
+  Add TODO comment in xmlSwitchEncoding (Nick Wellnhofer),<br/>
+  Check for integer overflow in xmlXPathFormatNumber (Nick Wellnhofer),<br/>
+  Make Travis print UBSan stacktraces (Nick Wellnhofer),<br/>
+  Add .travis.yml (Nick Wellnhofer),<br/>
+  Fix expected error output in Python tests (Nick Wellnhofer),<br/>
+  Simplify control flow in xmlParseStartTag2 (Nick Wellnhofer),<br/>
+  Disable LeakSanitizer when running API tests (Nick Wellnhofer),<br/>
+  Avoid out-of-bound array access in API tests (Nick Wellnhofer),<br/>
+  Avoid spurious UBSan errors in parser.c (Nick Wellnhofer),<br/>
+  Parse small XPath numbers more accurately (Nick Wellnhofer),<br/>
+  Rework XPath rounding functions (Nick Wellnhofer),<br/>
+  Fix white space in test output (Nick Wellnhofer),<br/>
+  Fix axis traversal from attribute and namespace nodes (Nick Wellnhofer),<br/>
+  Check for trailing characters in XPath expressions earlier (Nick Wellnhofer),<br/>
+  Rework final handling of XPath results (Nick Wellnhofer),<br/>
+  Make xmlXPathEvalExpression call xmlXPathEval (Nick Wellnhofer),<br/>
+  Remove unused variables (Nick Wellnhofer),<br/>
+  Don't print generic error messages in XPath tests (Nick Wellnhofer)<br/>
+  </li>
+
+  <li>Cleanups:<br/>
+  Fix a couple of misleading indentation errors (Daniel Veillard),<br/>
+  Remove unnecessary calls to xmlPopInput (Nick Wellnhofer)<br/>
+  </li>
+</ul>
 <h3>2.9.4: May 23 2016</h3>
 <ul>
   <li>Security:<br/>
@@ -2141,7 +2379,7 @@
     Hendricks), aliasing bug exposed by gcc4 on s390, xmlTextReaderNext bug
     (Rob Richards), Schemas decimal type fixes (William Brack),
     xmlByteConsumed static buffer (Ben Maurer).</li>
-  <li>improvement: speedup parsing comments and DTDs, dictionnary support for
+  <li>improvement: speedup parsing comments and DTDs, dictionary support for
     hash tables, Schemas Identity constraints (Kasimier), streaming XPath
     subset, xmlTextReaderReadString added (Bjorn Reese), Schemas canonical
     values handling (Kasimier), add xmlTextReaderByteConsumed (Aron
@@ -2361,7 +2599,7 @@
     URI on SYSTEM lookup failure, XInclude parse flags inheritance (William),
     XInclude and XPointer fixes for entities (William), XML parser bug
     reported by Holger Rauch, nanohttp fd leak (William),  regexps char
-    groups '-' handling (William), dictionnary reference counting problems,
+    groups '-' handling (William), dictionary reference counting problems,
     do not close stderr.</li>
   <li>performance patches from Petr Pajas</li>
   <li>Documentation fixes: XML_CATALOG_FILES in man pages (Mike Hommey)</li>
@@ -2425,14 +2663,14 @@
     Fleck), doc (Sven Zimmerman), I/O example.</li>
   <li>Python bindings: fixes (William), enum support (Stéphane Bidoul),
     structured error reporting (Stéphane Bidoul)</li>
-  <li>XInclude: various fixes for conformance, problem related to dictionnary
+  <li>XInclude: various fixes for conformance, problem related to dictionary
     references (William &amp; me), recursion (William)</li>
   <li>xmlWriter: indentation (Lucas Brasilino), memory leaks (Alfred
     Mickautsch),</li>
   <li>xmlSchemas: normalizedString datatype (John Belmonte)</li>
   <li>code cleanup for strings functions (William)</li>
   <li>Windows: compiler patches (Mark Vakoc)</li>
-  <li>Parser optimizations, a few new XPath and dictionnary APIs for future
+  <li>Parser optimizations, a few new XPath and dictionary APIs for future
     XSLT optimizations.</li>
 </ul>
 
@@ -2532,8 +2770,8 @@
     of change</li>
   <li>Increased the library modularity, far more options can be stripped out,
     a --with-minimum configuration will weight around 160KBytes</li>
-  <li>Use per parser and per document dictionnary, allocate names and small
-    text nodes from the dictionnary</li>
+  <li>Use per parser and per document dictionary, allocate names and small
+    text nodes from the dictionary</li>
   <li>Switch to a SAX2 like parser rewrote most of the XML parser core,
     provides namespace resolution and defaulted attributes, minimize memory
     allocations and copies, namespace checking and specific error handling,
@@ -2580,7 +2818,7 @@
     (William), xmlCleanupParser (Marc Liyanage), CDATA output (William), HTTP
     error handling.</li>
   <li>xmllint options: --dtdvalidfpi for Tobias Reif, --sax1 for compat
-    testing,  --nodict for building without tree dictionnary, --nocdata to
+    testing,  --nodict for building without tree dictionary, --nocdata to
     replace CDATA by text, --nsclean to remove surperfluous  namespace
     declarations</li>
   <li>added xml2-config --libtool-libs option from Kevin P. Fleming</li>
diff --git a/doc/xmlcatalog.1 b/doc/xmlcatalog.1
index b4a6b22..2fbfaf2 100644
--- a/doc/xmlcatalog.1
+++ b/doc/xmlcatalog.1
@@ -1,7 +1,7 @@
 '\" t
 .\"     Title: xmlcatalog
 .\"    Author: John Fleck <jfleck@inkstain.net>
-.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
+.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
 .\"      Date: $Date$
 .\"    Manual: xmlcatalog Manual
 .\"    Source: libxml2
@@ -34,7 +34,6 @@
 \fBxmlcatalog\fR [\fB\-\-sgml\fR | \fB\-\-shell\fR | \fB\-\-create\fR | \fB\-\-del\ \fR\fB\fIVALUE(S)\fR\fR | [\ \fB\-\-add\ \fR\fB\fITYPE\fR\fR\fB\ \fR\fB\fIORIG\fR\fR\fB\ \fR\fB\fIREPLACE\fR\fR\fB\ \fR\ |\ \fB\-\-add\ \fR\fB\fIFILENAME\fR\fR] | \fB\-\-noout\fR | \fB\-\-no\-super\-update\fR | [\fB\-v\fR\ |\ \fB\-\-verbose\fR]] {\fICATALOGFILE\fR} {\fIENTITIES\fR...}
 .SH "DESCRIPTION"
 .PP
-
 \fBxmlcatalog\fR
 is a command line application allowing users to monitor and manipulate
 XML
@@ -50,7 +49,6 @@
 files\&.
 .SH "OPTIONS"
 .PP
-
 \fBxmlcatalog\fR
 accepts the following options (in alphabetical order):
 .PP
@@ -155,6 +153,19 @@
 .RS 4
 Output debugging information\&.
 .RE
+.PP
+Invoking
+\fBxmlcatalog\fR
+non\-interactively without a designated action (imposed with options like
+\fB\-\-add\fR) will result in a lookup of the catalog entry for
+\fIENTITIES\fR
+in the catalog denoted with
+\fICATALOGFILE\fR\&. The corresponding entries will be output to the command line\&. This mode of operation, together with
+\fB\-\-shell\fR
+mode and non\-modifying (i\&.e\&. without
+\fB\-\-noout\fR) direct actions, allows for a special shortcut of the void
+\fICATALOGFILE\fR
+specification (possibly expressed as "" in the shell environment) appointing the default system catalog\&. That simplifies the handling when its exact location is irrelevant but the respective built\-in still needs to be consulted\&.
 .SH "SHELL COMMANDS"
 .PP
 Invoking
@@ -213,7 +224,7 @@
 .PP
 \fBpublic \fR\fB\fIPUBLIC\-ID\fR\fR
 .RS 4
-Execute a Formal Public Identifier look\-up of the catalog entry for
+Execute a Formal Public Identifier lookup of the catalog entry for
 \fIPUBLIC\-ID\fR\&. The corresponding entry will be output to the command line\&.
 .RE
 .PP
@@ -224,7 +235,7 @@
 .PP
 \fBsystem \fR\fB\fISYSTEM\-ID\fR\fR
 .RS 4
-Execute a Formal Public Identifier look\-up of the catalog entry for
+Execute a Formal Public Identifier lookup of the catalog entry for
 \fISYSTEM\-ID\fR\&. The corresponding entry will be output to the command line\&.
 .RE
 .SH "ENVIRONMENT"
@@ -240,7 +251,6 @@
 .RE
 .SH "DIAGNOSTICS"
 .PP
-
 \fBxmlcatalog\fR
 return codes provide information that can be used when calling it from scripts\&.
 .PP
diff --git a/doc/xmlcatalog_man.html b/doc/xmlcatalog_man.html
index d7b02ba..f72cd47 100644
--- a/doc/xmlcatalog_man.html
+++ b/doc/xmlcatalog_man.html
@@ -1,101 +1,140 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="id2431614"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212; Command line tool to parse and manipulate <span class="acronym">XML</span> or
-      <span class="acronym">SGML</span> catalog files.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">xmlcatalog</tt>  [[--shell] |  [--create] |  [--add <i class="replaceable"><tt>type</tt></i>
-	  <i class="replaceable"><tt>orig</tt></i> <i class="replaceable"><tt>replace</tt></i>] |  [--del <i class="replaceable"><tt>values</tt></i>] |  [--noout] |  [--verbose]] [<tt class="option"><i class="replaceable"><tt>catalogfile</tt></i></tt>] [<tt class="option"><i class="replaceable"><tt>entities</tt></i></tt>]</p></div></div><div class="refsect1" lang="en"><a name="introduction"></a><h2>Introduction</h2><p>
-      <span class="application">xmlcatalog</span> is a command line application
-      allowing users to monitor and manipulate <span class="acronym">XML</span> and
-      <span class="acronym">SGML</span> catalogs. It is included in
-      <span class="application">libxml2</span>.
-    </p><p>
-      Its functions can be invoked from a single command from the command line,
-      or it can perform multiple functions in interactive mode. It can operate
-      on both <span class="acronym">XML</span> and <span class="acronym">SGML</span> files.
-    </p></div><div class="refsect1" lang="en"><a name="cloptions"></a><h2>Command Line Options</h2><div class="variablelist"><dl><dt><span class="term"><tt class="option">--shell</tt> <i class="replaceable"><tt>filename</tt></i></span></dt><dd>
-	    Run a shell
-	    allowing interactive queries on catalog file
-	    <i class="replaceable"><tt>filename</tt></i>.
-	  </dd><dt><span class="term"><tt class="option">--create</tt> <i class="replaceable"><tt>filename</tt></i></span></dt><dd>
-	    Create a new
-	    <span class="acronym">XML</span> catalog. Outputs to stdout, ignoring
-	    <i class="replaceable"><tt>filename</tt></i> unless <tt class="option">--noout</tt> is
-	    used, in which case it creates a new catalog file
-	    <i class="replaceable"><tt>filename</tt></i>.
-	  </dd><dt><span class="term"><tt class="option">--add</tt> <i class="replaceable"><tt>'type'</tt></i> <i class="replaceable"><tt>'orig'</tt></i> <i class="replaceable"><tt>'replace'</tt></i> <i class="replaceable"><tt>filename</tt></i></span></dt><dd><p>
-	    Add an entry to catalog file
-	    <tt class="filename">filename</tt>. <i class="replaceable"><tt>type</tt></i>
-	    indicates the type of entry. Possible types are 'public', 'system', 'uri',
-	    'rewriteSystem', 'rewriteURI', 'delegatePublic', 'delegateSystem',
-	    'delegateURI' and 'nextCatalog'. <i class="replaceable"><tt>'orig'</tt></i> is the original
-	    reference to be replaced, and <i class="replaceable"><tt>'replace'</tt></i>
-	    is the <span class="acronym">URI</span> of the replacement entity to be
-	    used. The <tt class="option">--add</tt> option will not overwrite
-	    <i class="replaceable"><tt>filename</tt></i>, outputing to stdout, unless
-	    <tt class="option">--noout</tt> is used. The <tt class="option">--add</tt> will
-	    always take three parameters even if some of the
-	    <span class="acronym">XML</span> catalog constructs will have only a single
-	    argument.
-
-	  </p><p>
-	    If the <tt class="option">--add</tt> option is used following the
-	    <tt class="option">--sgml</tt> option, only a single argument, a
-	    <i class="replaceable"><tt>filename</tt></i>, is used. This is used to add
-	    the name of a catalog file to an <span class="acronym">SGML</span>
-	    supercatalog, a file that contains references to other included
-	    <span class="acronym">SGML</span> catalog files.
-	  </p></dd><dt><span class="term"><tt class="option">--del</tt> <i class="replaceable"><tt>'values'</tt></i> <i class="replaceable"><tt>filename</tt></i></span></dt><dd>
-	    Remove entries from the catalog file
-	    <i class="replaceable"><tt>filename</tt></i> matching
-	    <i class="replaceable"><tt>'values'</tt></i>. The <tt class="option">--del</tt> option
-	    will not overwrite <i class="replaceable"><tt>filename</tt></i>, outputing to
-	    stdout, unless <tt class="option">--noout</tt> is used.
-	  </dd><dt><span class="term"><tt class="option">--noout</tt></span></dt><dd>
-	    Save output to the named file rather than
-	    outputing to stdout.
-	  </dd><dt><span class="term"><tt class="option">--sgml</tt></span></dt><dd>
-	    Uses SGML Super catalogs for --add and --del options
-	  </dd><dt><span class="term"><tt class="option">-v</tt> or <tt class="option">--verbose</tt></span></dt><dd>
-	    output debugging
-	    information.
-	  </dd></dl></div></div><div class="refsect1" lang="en"><a name="shell"></a><h2>Shell Commands</h2><p>Invoking <span class="application">xmlcatalog</span> with the
-      <tt class="option">--shell</tt> <i class="replaceable"><tt>filename</tt></i> option opens
-    a command line shell allowing interactive access to the catalog file
-      identified by <i class="replaceable"><tt>filename</tt></i>. Invoking the shell
-    provides a command line prompt after which commands can be entered.
-    </p><div class="variablelist"><dl><dt><span class="term"><tt class="option">public</tt> <i class="replaceable"><tt>'PublicID'</tt></i></span></dt><dd>
-	    Execute a
-	    public identifier lookup of the catalog entry for
-	    <i class="replaceable"><tt>'PublicID'</tt></i>. The corresponding entry will be
-	    output to the command line.
-	  </dd><dt><span class="term"><tt class="option">system</tt> <i class="replaceable"><tt>'SystemID'</tt></i></span></dt><dd>
-	    Execute a
-	    public identifier lookup of the catalog entry for
-	    <i class="replaceable"><tt>'SystemID'</tt></i>. The corresponding entry will be
-	    output to the command line.
-	  </dd><dt><span class="term"><tt class="option">add </tt> <i class="replaceable"><tt>'type'</tt></i> <i class="replaceable"><tt>'orig'</tt></i> <i class="replaceable"><tt>'replace'</tt></i></span></dt><dd>
-	    Add an entry to the catalog
-	    file. <i class="replaceable"><tt>type</tt></i> indicates the type of
-	    entry. Possible types are 'public', 'system', 'uri', 'rewriteSystem', 'rewriteURI',
-	    'delegatePublic', 'delegateSystem', 'delegateURI' and 'nextCatalog'. <i class="replaceable"><tt>'orig'</tt></i>
-	    is the original reference to  be replaced, and
-	    <i class="replaceable"><tt>'replace'</tt></i> is the <span class="acronym">URI</span> of the
-	    replacement entity to be used.
-	  </dd><dt><span class="term"><tt class="option">del</tt> <i class="replaceable"><tt>'values'</tt></i></span></dt><dd>
-	    Remove the
-	    catalog entry corresponding to <i class="replaceable"><tt>'values'</tt></i>.
-	  </dd><dt><span class="term"><tt class="option">dump</tt></span></dt><dd>
-	    Print the current catalog.
-	  </dd><dt><span class="term"><tt class="option">debug</tt></span></dt><dd>
-	    Print debugging statements showing the steps
-	    <span class="application">xmlcatalog</span> is executing.
-	  </dd><dt><span class="term"><tt class="option">quiet</tt></span></dt><dd>
-	    Stop printing debugging statements.
-	  </dd><dt><span class="term"><tt class="option">exit</tt></span></dt><dd>
-	    Quit the shell.
-	  </dd></dl></div></div><div class="refsect1" lang="en"><a name="return"></a><h2>Return values</h2><p><span class="application">xmlcatalog</span>'s return codes provide
-    information that can be used when calling it from scripts.</p><p>0: normal</p><p>1: Failed to remove an entry from the catalog</p><p>2: Failed to save to the catalog, check file permissions</p><p>3: Failed to add an entry to the catalog</p><p>4: Failed to lookup and entry in the catalog</p></div><div class="refsect1" lang="en"><h2>Catalogs</h2><p>Catalog behavior can be changed by redirecting
-     queries to the user's own set of catalogs. This can be done by setting the
-     <tt class="varname">XML_CATALOG_FILES</tt> environment variable to a list of
-     catalogs. An empty one should deactivate loading the default
-      <tt class="filename">/etc/xml/catalog</tt> default catalog.</p></div><div class="refsect1" lang="en"><h2>References</h2><p><a href="http://www.xmlsoft.org/" target="_top">libxml web page</a></p><p><a href="http://www.xmlsoft.org/catalog.html" target="_top"><span class="application">libxml</span>
-    catalog support web page:</a></p><p><a href="http://www.jclark.com/sp/catalog.htm" target="_top">James Clark's
-    <span class="acronym">SGML</span> catalog page:</a></p><p><a href="http://www.oasis-open.org/committees/entity/spec.html" target="_top"><span class="acronym">OASIS</span>
-    <span class="acronym">XML</span> catalog specification: </a></p></div></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmlcatalog</title><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm45940765506544"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmlcatalog &#8212; 
+		Command line tool to parse and manipulate <acronym class="acronym">XML</acronym>
+		or <acronym class="acronym">SGML</acronym> catalog files.
+	</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmlcatalog</code>  [ <code class="option">--sgml</code>  |   <code class="option">--shell</code>  |   <code class="option">--create</code>  |   <code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code>  |   
+			[ 
+					<code class="option">--add
+					 <em class="replaceable"><code>TYPE</code></em>
+					 <em class="replaceable"><code>ORIG</code></em>
+					 <em class="replaceable"><code>REPLACE</code></em>
+					</code>
+				  |   <code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code> ]		
+		  |   <code class="option">--noout</code>  |   <code class="option">--no-super-update</code>  |   
+			[ <code class="option">-v</code>  |   <code class="option">--verbose</code> ]
+		 ] {<em class="replaceable"><code>CATALOGFILE</code></em>} {<em class="replaceable"><code>ENTITIES</code></em>...}</p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
+		<span class="command"><strong>xmlcatalog</strong></span> is a command line application allowing users to monitor and
+		manipulate <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> catalogs. It
+		is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.
+	</p><p>
+		Its functions can be invoked from a single command from the command line,
+		or it can perform multiple functions in interactive mode. It can operate
+		on both <acronym class="acronym">XML</acronym> and <acronym class="acronym">SGML</acronym> files.
+	</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
+		<span class="command"><strong>xmlcatalog</strong></span> accepts the following options (in alphabetical order):
+	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+		<code class="option">--add
+		 <em class="replaceable"><code>TYPE</code></em>
+		 <em class="replaceable"><code>ORIG</code></em>
+		 <em class="replaceable"><code>REPLACE</code></em>
+		</code>
+	</span></dt><dd><p>
+			Add an entry to <code class="filename">CATALOGFILE</code>. <em class="replaceable"><code>TYPE</code></em>
+			indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
+			reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
+			is the <acronym class="acronym">URI</acronym> of the replacement entity to be
+			used. The <code class="option">--add</code> option will not overwrite
+			<code class="filename">CATALOGFILE</code>, outputting
+			to <code class="filename">stdout</code>, unless
+			<code class="option">--noout</code> is used. The <code class="option">--add</code> will
+			always take three parameters even if some of the <acronym class="acronym">XML</acronym>
+			catalog constructs will have only a single argument.
+		</p></dd><dt><span class="term"><code class="option">--add <em class="replaceable"><code>FILENAME</code></em></code></span></dt><dd><p>
+			If the <code class="option">--add</code> option is used following
+			the <code class="option">--sgml</code> option, only a single argument,
+			a <em class="replaceable"><code>FILENAME</code></em>, is used. This is used to add
+			the name of a catalog file to an <acronym class="acronym">SGML</acronym> supercatalog,
+			a file that contains references to other included <acronym class="acronym">SGML</acronym>
+			catalog files.
+		</p></dd><dt><span class="term"><code class="option">--create</code></span></dt><dd><p>
+			Create a new <acronym class="acronym">XML</acronym> catalog. Outputs
+			to <code class="filename">stdout</code>,
+			ignoring <em class="replaceable"><code>filename</code></em> unless <code class="option">--noout</code> is
+			used, in which case it creates a new catalog
+			file <em class="replaceable"><code>filename</code></em>.
+		</p></dd><dt><span class="term"><code class="option">--del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
+			Remove entries from <em class="replaceable"><code>CATALOGFILE</code></em>
+			matching <em class="replaceable"><code>VALUE(S)</code></em>. The <code class="option">--del</code>
+			option will not overwrite <em class="replaceable"><code>CATALOGFILE</code></em>,
+			outputting to <code class="filename">stdout</code>,
+			unless <code class="option">--noout</code> is used.
+		</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
+			Save output to the named file rather than outputting
+			to <code class="filename">stdout</code>.
+		</p></dd><dt><span class="term"><code class="option">--no-super-update</code></span></dt><dd><p>
+			Do not update the <acronym class="acronym">SGML</acronym> super catalog.
+		</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
+			Run a shell allowing interactive queries on catalog
+			file <em class="replaceable"><code>CATALOGFILE</code></em>. For the set of available
+			commands see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>.
+		</p></dd><dt><span class="term"><code class="option">--sgml</code></span></dt><dd><p>
+			Uses <acronym class="acronym">SGML</acronym> super catalogs for <code class="option">--add</code>
+			and <code class="option">--del</code> options.
+		</p></dd><dt><span class="term"><code class="option">-v</code>, </span><span class="term"><code class="option">--verbose</code></span></dt><dd><p>Output debugging information.</p></dd></dl></div><p>
+		Invoking <span class="command"><strong>xmlcatalog</strong></span> non-interactively without a designated action
+		(imposed with options like <code class="option">--add</code>) will result in a lookup
+		of the catalog entry for <em class="replaceable"><code>ENTITIES</code></em> in the
+		catalog denoted with <em class="replaceable"><code>CATALOGFILE</code></em>. The
+		corresponding entries will be output to the command line. This mode of
+		operation, together with <code class="option">--shell</code> mode and non-modifying
+		(i.e. without <code class="option">--noout</code>) direct actions, allows for
+		a special shortcut of the void <em class="replaceable"><code>CATALOGFILE</code></em>
+		specification (possibly expressed as "" in the shell
+		environment) appointing the default system catalog. That simplifies the
+		handling when its exact location is irrelevant but the respective built-in
+		still needs to be consulted.
+	</p></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
+		Invoking <span class="command"><strong>xmlcatalog</strong></span> with
+		the <code class="option">--shell <em class="replaceable"><code>CATALOGFILE</code></em></code> option opens
+		a command line shell allowing interactive access to the catalog file
+		identified by <em class="replaceable"><code>CATALOGFILE</code></em>. Invoking the shell
+		provides a command line prompt after which the following commands (described in
+		alphabetical order) can be entered.
+	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+		<code class="option">add
+		 <em class="replaceable"><code>TYPE</code></em>
+		 <em class="replaceable"><code>ORIG</code></em>
+		 <em class="replaceable"><code>REPLACE</code></em>
+		</code>
+	</span></dt><dd><p>
+			Add an entry to the catalog file. <em class="replaceable"><code>TYPE</code></em>
+			indicates the type of entry. Possible types are: <span class="simplelist"><em class="parameter"><code>public</code></em>, <em class="parameter"><code>system</code></em>, <em class="parameter"><code>uri</code></em>, <em class="parameter"><code>rewriteSystem</code></em>, <em class="parameter"><code>rewriteURI</code></em>, <em class="parameter"><code>delegatePublic</code></em>, <em class="parameter"><code>delegateSystem</code></em>, <em class="parameter"><code>delegateURI</code></em>, <em class="parameter"><code>nextCatalog</code></em></span>. <em class="replaceable"><code>ORIG</code></em> is the original
+			reference to be replaced, and <em class="replaceable"><code>REPLACE</code></em>
+			is the <acronym class="acronym">URI</acronym> of the replacement entity to be
+			used. The <code class="option">--add</code> option will not overwrite
+			<code class="filename">CATALOGFILE</code>, outputting
+			to <code class="filename">stdout</code>, unless
+			<code class="option">--noout</code> is used. The <code class="option">--add</code> will
+			always take three parameters even if some of the <acronym class="acronym">XML</acronym>
+			catalog constructs will have only a single argument.
+		</p></dd><dt><span class="term"><code class="option">debug</code></span></dt><dd><p>
+			Print debugging statements showing the steps <span class="command"><strong>xmlcatalog</strong></span> is executing.
+		</p></dd><dt><span class="term"><code class="option">del <em class="replaceable"><code>VALUE(S)</code></em></code></span></dt><dd><p>
+			Remove the catalog entry corresponding to <em class="replaceable"><code>VALUE(S)</code></em>.
+		</p></dd><dt><span class="term"><code class="option">dump</code></span></dt><dd><p>Print the current catalog.</p></dd><dt><span class="term"><code class="option">exit</code></span></dt><dd><p>Quit the shell.</p></dd><dt><span class="term"><code class="option">public <em class="replaceable"><code>PUBLIC-ID</code></em></code></span></dt><dd><p>
+			Execute a Formal Public Identifier lookup of the catalog entry
+			for <em class="replaceable"><code>PUBLIC-ID</code></em>. The corresponding entry will be
+			output to the command line.
+		</p></dd><dt><span class="term"><code class="option">quiet</code></span></dt><dd><p>Stop printing debugging statements.</p></dd><dt><span class="term"><code class="option">system <em class="replaceable"><code>SYSTEM-ID</code></em></code></span></dt><dd><p>
+			Execute a Formal Public Identifier lookup of the catalog entry
+			for <em class="replaceable"><code>SYSTEM-ID</code></em>. The corresponding entry will be
+			output to the command line.
+		</p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
+			queries to the user's own set of catalogs. This can be done by setting
+			the <code class="envar">XML_CATALOG_FILES</code> environment variable to a list
+			of catalogs. An empty one should deactivate loading the
+			default <code class="filename">/etc/xml/catalog</code> catalog.
+		</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
+		<span class="command"><strong>xmlcatalog</strong></span> return codes provide information that can be used when
+		calling it from scripts.
+	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Failed to remove an entry from the catalog</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Failed to save to the catalog, check file permissions</p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Failed to add an entry to the catalog</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Failed to look up an entry in the catalog</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
+	</p><p>
+		More information can be found at
+		</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="http://www.xmlsoft.org/" target="_top">http://www.xmlsoft.org/</a>
+				</p></li><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> catalog support web page
+					at <a class="ulink" href="http://www.xmlsoft.org/catalog.html" target="_top">http://www.xmlsoft.org/catalog.html</a>
+				</p></li><li class="listitem"><p>James Clark's <acronym class="acronym">SGML</acronym> catalog
+					page <a class="ulink" href="http://www.jclark.com/sp/catalog.htm" target="_top">http://www.jclark.com/sp/catalog.htm</a>
+				</p></li><li class="listitem"><p><acronym class="acronym">OASIS</acronym> <acronym class="acronym">XML</acronym> catalog specification
+					<a class="ulink" href="http://www.oasis-open.org/committees/entity/spec.html" target="_top">http://www.oasis-open.org/committees/entity/spec.html</a>
+				</p></li></ul></div><p>
+	</p></div></div></body></html>
diff --git a/doc/xmlcatalog_man.xml b/doc/xmlcatalog_man.xml
index 049ed8f..b3ce8b2 100644
--- a/doc/xmlcatalog_man.xml
+++ b/doc/xmlcatalog_man.xml
@@ -230,6 +230,21 @@
 		</varlistentry>
 	
 	</variablelist>
+
+	<para>
+		Invoking &xmlcatalog; non-interactively without a designated action
+		(imposed with options like <option>--add</option>) will result in a lookup
+		of the catalog entry for <replaceable>ENTITIES</replaceable> in the
+		catalog denoted with <replaceable>CATALOGFILE</replaceable>. The
+		corresponding entries will be output to the command line. This mode of
+		operation, together with <option>--shell</option> mode and non-modifying
+		(i.e. without <option>--noout</option>) direct actions, allows for
+		a special shortcut of the void <replaceable>CATALOGFILE</replaceable>
+		specification (possibly expressed as &quot;&quot; in the shell
+		environment) appointing the default system catalog. That simplifies the
+		handling when its exact location is irrelevant but the respective built-in
+		still needs to be consulted.
+	</para>
 </refsect1>
 
 <refsect1 id="shell">
@@ -315,7 +330,7 @@
 	<term><option>public <replaceable>PUBLIC-ID</replaceable></option></term>
 	<listitem>
 		<para>
-			Execute a Formal Public Identifier look-up of the catalog entry
+			Execute a Formal Public Identifier lookup of the catalog entry
 			for <replaceable>PUBLIC-ID</replaceable>. The corresponding entry will be
 			output to the command line.
 		</para>
@@ -333,7 +348,7 @@
 	<term><option>system <replaceable>SYSTEM-ID</replaceable></option></term>
 	<listitem>
 		<para>
-			Execute a Formal Public Identifier look-up of the catalog entry
+			Execute a Formal Public Identifier lookup of the catalog entry
 			for <replaceable>SYSTEM-ID</replaceable>. The corresponding entry will be
 			output to the command line.
 		</para>
diff --git a/doc/xmllint.html b/doc/xmllint.html
index 0a55877..5fc52c5 100644
--- a/doc/xmllint.html
+++ b/doc/xmllint.html
@@ -1,175 +1,162 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets V1.61.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en"><a name="id2876302"></a><div class="titlepage"><div></div><div></div></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <span class="acronym">XML</span> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><tt class="command">xmllint</tt>  [[--version] |  [--debug] |  [--shell] |  [--debugent] |  [--copy] |  [--recover] |  [--noent] |  [--noout] |  [--nonet] |  [--htmlout] |  [--nowrap] |  [--valid] |  [--postvalid] |  [--dtdvalid <i class="replaceable"><tt>URL</tt></i>] |  [--dtdvalidfpi <i class="replaceable"><tt>FPI</tt></i>] |  [--timing] |  [--output <i class="replaceable"><tt>file</tt></i>] |  [--repeat] |  [--insert] |  [--compress] |  [--html] |  [--xmlout] |  [--push] |  [--memory] |  [--maxmem <i class="replaceable"><tt>nbbytes</tt></i>] |  [--nowarning] |  [--noblanks] |  [--nocdata] |  [--format] |  [--encode <i class="replaceable"><tt>encoding</tt></i>] |  [--dropdtd] |  [--nsclean] |  [--testIO] |  [--catalogs] |  [--nocatalogs] |  [--auto] |  [--xinclude] |  [--noxincludenode] |  [--loaddtd] |  [--dtdattr] |  [--stream] |  [--walker] |  [--pattern <i class="replaceable"><tt>patternvalue</tt></i>] |  [--chkregister] |  [--relaxng] |  [--schema] |  [--c14n]] [<tt class="option"><i class="replaceable"><tt>xmlfile</tt></i></tt>]</p></div></div><div class="refsect1" lang="en"><a name="introduction"></a><h2>Introduction</h2><p>
-      The xmllint program parses one or more XML files, specified on the
-      command line as <i class="replaceable"><tt>xmlfile</tt></i>. It prints various
-      types of output, depending upon the options selected. It is useful for
-      detecting errors both in <span class="acronym">XML</span> code and in the
-      <span class="acronym">XML</span> parser itself.
-    </p><p>
-      It is included in <span class="application">libxml2</span>.
-    </p></div><div class="refsect1" lang="en"><a name="options"></a><h2>Options</h2><div class="variablelist"><dl><dt><span class="term"><tt class="option">--version</tt></span></dt><dd>
-	    Display the version of
-	    <span class="application">libxml2</span> used.
-	  </dd><dt><span class="term"><tt class="option">--debug</tt></span></dt><dd>
-	    Parse a file and output an annotated tree of the
-	    in-memory version of the document.
-	  </dd><dt><span class="term"><tt class="option">--shell</tt></span></dt><dd>
-	    Run a navigating shell. Details on available commands in shell mode
-	    are below.
-	  </dd><dt><span class="term"><tt class="option">--debugent</tt></span></dt><dd>
-	    Debug the entities defined in the document.
-	  </dd><dt><span class="term"><tt class="option">--copy</tt> </span></dt><dd>
-	    Test the internal copy implementation.
-	  </dd><dt><span class="term"><tt class="option">--recover</tt></span></dt><dd>
-	    Output any parsable portions of an invalid
-	    document.
-	  </dd><dt><span class="term"><tt class="option">--noent</tt></span></dt><dd>
-	    Substitute entity values for entity
-	    references. By default, <span class="application">xmllint</span> leaves entity
-	    references in place.
-	  </dd><dt><span class="term"><tt class="option">--nocdata</tt></span></dt><dd>
-	    Substitute CDATA section by equivalent text nodes.
-	  </dd><dt><span class="term"><tt class="option">--nsclean</tt></span></dt><dd>
-	    Remove redundant namespace declarations.
-	  </dd><dt><span class="term"><tt class="option">--noout</tt></span></dt><dd>
-	    Suppress output. By default,
-	    <span class="application">xmllint</span> outputs the result tree.
-	  </dd><dt><span class="term"><tt class="option">--htmlout</tt></span></dt><dd>
-	    Output results as an <span class="acronym">HTML</span>
-	    file. This causes <span class="application">xmllint</span> to output
-	    the necessary <span class="acronym">HTML</span> tags surrounding the result tree
-	    output so the results can be displayed in a browser. 
-	  </dd><dt><span class="term"><tt class="option">--nowrap </tt></span></dt><dd>
-	    Do not output HTML doc wrapper.
-	  </dd><dt><span class="term"><tt class="option">--valid </tt></span></dt><dd>
-	    Determine if the document is a valid instance
-	    of the included Document Type Definition (<span class="acronym">DTD</span>). A
-	    <span class="acronym">DTD</span> to be validated against also can be specified at
-	    the command line using the <tt class="option">--dtdvalid</tt> option. By default,
-	    <span class="application">xmllint</span> also checks to determine if the
-	    document is well-formed.
-	  </dd><dt><span class="term"><tt class="option">--postvalid</tt></span></dt><dd>
-	    Validate after parsing is completed.
-	  </dd><dt><span class="term"> <tt class="option">--dtdvalid</tt> <i class="replaceable"><tt>URL</tt></i></span></dt><dd>
-	    Use the
-      <span class="acronym">DTD</span> specified by <i class="replaceable"><tt>URL</tt></i> for
-      validation.
-	  </dd><dt><span class="term"> <tt class="option">--dtdvalidfpi</tt> <i class="replaceable"><tt>FPI</tt></i></span></dt><dd>
-	    Use the
-      <span class="acronym">DTD</span> specified by the Public Identifier
-      <i class="replaceable"><tt>FPI</tt></i> for validation, note that this
-      will require a Catalog exporting that Public Identifier to work.
-	  </dd><dt><span class="term"><tt class="option">--timing</tt></span></dt><dd>
-	    Output information about the time it takes
-	    <span class="application">xmllint</span> to perform the various steps.
-	  </dd><dt><span class="term"><tt class="option">--output</tt> <i class="replaceable"><tt>file</tt></i></span></dt><dd>Define a file path where xmllint will save the result of
-	  parsing. Usually the programs build a tree and save it on stdout, with
-	  this option the result XML instance will be saved onto a file.</dd><dt><span class="term"><tt class="option">--repeat</tt></span></dt><dd>
-	    Repeat 100 times, for timing or profiling.
-	  </dd><dt><span class="term"><tt class="option">--insert</tt></span></dt><dd>
-	    Test for valid insertions.
-	  </dd><dt><span class="term"><tt class="option">--compress</tt></span></dt><dd>
-	    Turn on gzip compression of output.
-	  </dd><dt><span class="term"><tt class="option">--html</tt></span></dt><dd>
-	    Use the <span class="acronym">HTML</span> parser.
-	  </dd><dt><span class="term"><tt class="option">--xmlout</tt></span></dt><dd>Used in conjunction with <tt class="option">--html</tt>. Usually
-  when HTML is parsed the document is saved with the HTML serializer, but with
-  this option the resulting document is saved with the XML serializer. This is
-  primarily used to generate XHTML from HTML input.</dd><dt><span class="term"><tt class="option">--push</tt></span></dt><dd>
-	    Use the push mode of the parser.
-	  </dd><dt><span class="term"><tt class="option">--memory</tt></span></dt><dd>
-	   Parse from memory.
-	  </dd><dt><span class="term"><tt class="option">--maxmem</tt> <i class="replaceable"><tt>nnbytes</tt></i></span></dt><dd>Test the parser memory
-  support. <i class="replaceable"><tt>nnbytes</tt></i> is the maximum number of bytes the
-  library is allowed to allocate. This can also be used to make sure batch
-  processing of XML files will not exhaust the virtual memory of the server
-  running them.</dd><dt><span class="term"><tt class="option">--nowarning</tt></span></dt><dd>
-	   Do not emit warnings from the parser and/or validator.
-	  </dd><dt><span class="term"><tt class="option">--noblanks</tt></span></dt><dd>
-	   Drop ignorable blank spaces.
-	  </dd><dt><span class="term"><tt class="option">--format</tt></span></dt><dd>
-	   Reformat and reindent the output. The $XMLLINT_INDENT
-	   environment variable controls the indentation (default 
-	   value is two spaces "  ").
-	  </dd><dt><span class="term"><tt class="option">--testIO</tt></span></dt><dd>
-	   Test user input/output support.
-	  </dd><dt><span class="term"><tt class="option">--encode</tt> <i class="replaceable"><tt>encoding</tt></i></span></dt><dd>
-	   Output in the given encoding.
-	  </dd><dt><span class="term"><tt class="option">--catalogs</tt></span></dt><dd>
-	   Use the catalogs from $SGML_CATALOG_FILES. Otherwise /etc/xml/catalog
-	   is used by default.
-	  </dd><dt><span class="term"><tt class="option">--nocatalogs</tt></span></dt><dd>
-	   Do not use any catalogs.
-	  </dd><dt><span class="term"><tt class="option">--auto</tt></span></dt><dd>
-	   Generate a small document for testing purposes.
-	  </dd><dt><span class="term"><tt class="option">--xinclude</tt></span></dt><dd>
-	   Do XInclude processing.
-	  </dd><dt><span class="term"><tt class="option">--noxincludenode</tt></span></dt><dd>
-	   Do XInclude processing but do not generate XInclude start and end
-	   nodes.
-	  </dd><dt><span class="term"><tt class="option">--loaddtd</tt></span></dt><dd>
-	   Fetch external DTD.
-	  </dd><dt><span class="term"><tt class="option">--dtdattr</tt></span></dt><dd>
-	   Fetch external DTD and populate the tree with inherited attributes.
-	  </dd><dt><span class="term"><tt class="option">--dropdtd</tt></span></dt><dd>
-	    Remove <span class="acronym">DTD</span> from output.
-	  </dd><dt><span class="term"><tt class="option">--stream</tt></span></dt><dd>Use streaming API - useful when  used  in combination with
-              --relaxng or --valid options for validation of files that are
-	    too large to be held in memory.</dd><dt><span class="term"><tt class="option">--walker</tt></span></dt><dd>Test the walker module, which is a reader interface but for a
-  document tree, instead of using the reader API on an unparsed document it
-  works on a existing in-memory tree. Used in debugging.</dd><dt><span class="term"><tt class="option">--chkregister</tt></span></dt><dd>Turn on node registration. Useful for developers testing
-	  libxml2 node tracking code.</dd><dt><span class="term"><tt class="option">--pattern</tt> <i class="replaceable"><tt>patternvalue</tt></i></span></dt><dd>Used to exercise the pattern recognition engine, which can be
-	  used with the reader interface to the parser. It allows to select some
-	  nodes in the document based on an XPath (subset) expression. Used for
-	  debugging.</dd><dt><span class="term"><tt class="option">--relaxng</tt> <i class="replaceable"><tt>schema</tt></i></span></dt><dd>Use RelaxNG file named <i class="replaceable"><tt>schema</tt></i> for
-	  validation.</dd><dt><span class="term"><tt class="option">--schema</tt> <i class="replaceable"><tt>schema</tt></i></span></dt><dd>Use a W3C XML Schema file named <i class="replaceable"><tt>schema</tt></i> for validation.</dd><dt><span class="term">
-      <tt class="option">--c14n</tt></span></dt><dd>Use the W3C XML Canonicalisation (C14N) to
-serialize the result of parsing to stdout. It keeps comments in
-the result.</dd></dl></div></div><div class="refsect1" lang="en"><a name="shell"></a><h2>Shell</h2><p>
-      <span class="application">xmllint</span> offers an interactive shell mode
-      invoked with the <tt class="option">--shell</tt> command. Available commands in
-      shell mode include:
-    </p><div class="variablelist"><dl><dt><span class="term"><tt class="option">base</tt></span></dt><dd>
-	    display XML base of the node
-	  </dd><dt><span class="term"><tt class="option">bye</tt></span></dt><dd>
-	    leave shell
-	  </dd><dt><span class="term"><tt class="option">cat <i class="replaceable"><tt>node</tt></i></tt></span></dt><dd>
-	    Display node if given or current node.
-	  </dd><dt><span class="term"><tt class="option">cd <i class="replaceable"><tt>path</tt></i></tt></span></dt><dd>
-	    Change the current node to <i class="replaceable"><tt>path</tt></i> (if given
-	    and unique) or root if no argument given.
-	  </dd><dt><span class="term"><tt class="option">dir <i class="replaceable"><tt>path</tt></i></tt></span></dt><dd>
-	    Dumps information about the node (namespace, attributes, content).
-	  </dd><dt><span class="term"><tt class="option">du <i class="replaceable"><tt>path</tt></i></tt></span></dt><dd>
-	    Show the structure of the subtree under path or the current node.
-	  </dd><dt><span class="term"><tt class="option">exit</tt></span></dt><dd>
-	    Leave the shell.
-	  </dd><dt><span class="term"><tt class="option">help</tt></span></dt><dd>
-	    Show this help.
-	  </dd><dt><span class="term"><tt class="option">free</tt></span></dt><dd>
-	    Display memory usage.
-	  </dd><dt><span class="term"><tt class="option">load <i class="replaceable"><tt>name</tt></i></tt></span></dt><dd>
-	    Load a new document with the given name.
-	  </dd><dt><span class="term"><tt class="option">ls <i class="replaceable"><tt>path</tt></i></tt></span></dt><dd>
-	    List contents of <i class="replaceable"><tt>path</tt></i> (if given) or the
-	    current directory.
-	  </dd><dt><span class="term"><tt class="option">pwd</tt></span></dt><dd>
-	    Display the path to the current node.
-	  </dd><dt><span class="term"><tt class="option">quit</tt></span></dt><dd>
-	    Leave the shell.
-	  </dd><dt><span class="term"><tt class="option">save <i class="replaceable"><tt>name</tt></i></tt></span></dt><dd>
-	    Saves the current document to <i class="replaceable"><tt>name</tt></i> if
-	    given or to the original name.
-	  </dd><dt><span class="term"><tt class="option">validate</tt></span></dt><dd>
-	    Check the document for error.
-	  </dd><dt><span class="term"><tt class="option">write <i class="replaceable"><tt>name</tt></i></tt></span></dt><dd>
-	    Write the current node to the given filename.
-	  </dd></dl></div></div><div class="refsect1" lang="en"><h2>Catalogs</h2><p>Catalog behavior can be changed by redirecting
-     queries to the user's own set of catalogs. This can be done by setting the
-     <tt class="varname">XML_CATALOG_FILES</tt> environment variable to a list of
-     catalogs. An empty one should deactivate loading the default
-      <tt class="filename">/etc/xml/catalog</tt> default catalog.</p></div><div class="refsect1" lang="en"><h2>Debugging Catalogs</h2><p>Setting the environment variable <tt class="varname">XML_DEBUG_CATALOG</tt>
-    using the command <b class="command">"export XML_DEBUG_CATALOG="</b>
-    outputs debugging information related to catalog operations.</p></div><div class="refsect1" lang="en"><h2>Error Return Codes</h2><p>On the completion of execution, <span class="application">Xmllint</span>
-    returns the following error codes:</p><div class="variablelist"><dl><dt><span class="term">0</span></dt><dd>No error</dd><dt><span class="term">1</span></dt><dd>Unclassified</dd><dt><span class="term">2</span></dt><dd>Error in DTD</dd><dt><span class="term">3</span></dt><dd>Validation error</dd><dt><span class="term">4</span></dt><dd>Validation error</dd><dt><span class="term">5</span></dt><dd>Error in schema compilation</dd><dt><span class="term">6</span></dt><dd>Error writing output</dd><dt><span class="term">7</span></dt><dd>Error in pattern (generated when
-	  [<span class="optional">--pattern</span>] option is used)</dd><dt><span class="term">8</span></dt><dd>Error in Reader registration (generated when
-	  [<span class="optional">--chkregister</span>] option is used)</dd><dt><span class="term">9</span></dt><dd>Out of memory error</dd></dl></div></div></div></body></html>
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>xmllint</title><meta name="generator" content="DocBook XSL Stylesheets V1.79.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry"><a name="idm1"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>xmllint &#8212; command line <acronym class="acronym">XML</acronym> tool</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">xmllint</code>  [ <code class="option">--version</code>  |   <code class="option">--debug</code>  |   <code class="option">--shell</code>  |   <code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code>  |   <code class="option">--debugent</code>  |   <code class="option">--copy</code>  |   <code class="option">--recover</code>  |   <code class="option">--noent</code>  |   <code class="option">--noout</code>  |   <code class="option">--nonet</code>  |   <code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code>  |   <code class="option">--load-trace</code>  |   <code class="option">--htmlout</code>  |   <code class="option">--nowrap</code>  |   <code class="option">--valid</code>  |   <code class="option">--postvalid</code>  |   <code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code>  |   <code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code>  |   <code class="option">--timing</code>  |   <code class="option">--output <em class="replaceable"><code>FILE</code></em></code>  |   <code class="option">--repeat</code>  |   <code class="option">--insert</code>  |   <code class="option">--compress</code>  |   <code class="option">--html</code>  |   <code class="option">--xmlout</code>  |   <code class="option">--push</code>  |   <code class="option">--memory</code>  |   <code class="option">--maxmem <em class="replaceable"><code>NBBYTES</code></em></code>  |   <code class="option">--nowarning</code>  |   <code class="option">--noblanks</code>  |   <code class="option">--nocdata</code>  |   <code class="option">--format</code>  |   <code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code>  |   <code class="option">--dropdtd</code>  |   <code class="option">--nsclean</code>  |   <code class="option">--testIO</code>  |   <code class="option">--catalogs</code>  |   <code class="option">--nocatalogs</code>  |   <code class="option">--auto</code>  |   <code class="option">--xinclude</code>  |   <code class="option">--noxincludenode</code>  |   <code class="option">--loaddtd</code>  |   <code class="option">--dtdattr</code>  |   <code class="option">--stream</code>  |   <code class="option">--walker</code>  |   <code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code>  |   <code class="option">--chkregister</code>  |   <code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code>  |   <code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code>  |   <code class="option">--c14n</code> ] { <em class="replaceable"><code>XML-FILE(S)</code></em>...  |   - }</p></div><div class="cmdsynopsis"><p><code class="command">xmllint</code>   <code class="option">--help</code> </p></div></div><div class="refsect1"><a name="description"></a><h2>DESCRIPTION</h2><p>
+		The <span class="command"><strong>xmllint</strong></span> program parses one or more <acronym class="acronym">XML</acronym> files,
+		specified on the command line as <em class="replaceable"><code>XML-FILE</code></em>
+		(or the standard input if the filename provided
+		is <span class="bold"><strong>-</strong></span> ). It prints various types of
+		output, depending upon the options selected. It is useful for detecting
+		errors both in <acronym class="acronym">XML</acronym> code and in
+		the <acronym class="acronym">XML</acronym> parser itself.
+	</p><p><span class="command"><strong>xmllint</strong></span> is included in <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>.</p></div><div class="refsect1"><a name="options"></a><h2>OPTIONS</h2><p>
+		<span class="command"><strong>xmllint</strong></span> accepts the following options (in alphabetical order):
+	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="option">--auto</code></span></dt><dd><p>Generate a small document for testing purposes.</p></dd><dt><span class="term"><code class="option">--catalogs</code></span></dt><dd><p>
+			Use the <acronym class="acronym">SGML</acronym> catalog(s) from <code class="envar">SGML_CATALOG_FILES</code>.
+			Otherwise <acronym class="acronym">XML</acronym> catalogs starting
+			from <code class="filename">/etc/xml/catalog</code> are used by default.
+		</p></dd><dt><span class="term"><code class="option">--chkregister</code></span></dt><dd><p>
+			Turn on node registration. Useful for developers testing <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> node tracking code.
+		</p></dd><dt><span class="term"><code class="option">--compress</code></span></dt><dd><p>
+			Turn on <span class="citerefentry"><span class="refentrytitle">gzip</span>(1)</span> compression of output.
+		</p></dd><dt><span class="term"><code class="option">--copy</code></span></dt><dd><p>Test the internal copy implementation.</p></dd><dt><span class="term"><code class="option">--c14n</code></span></dt><dd><p>
+			Use the W3C <acronym class="acronym">XML</acronym> Canonicalisation (<acronym class="acronym">C14N</acronym>) to
+			serialize the result of parsing to <code class="filename">stdout</code>.
+			It keeps comments in the result.
+		</p></dd><dt><span class="term"><code class="option">--dtdvalid <em class="replaceable"><code>URL</code></em></code></span></dt><dd><p>
+			Use the <acronym class="acronym">DTD</acronym> specified by
+			an <em class="replaceable"><code>URL</code></em> for validation.
+		</p></dd><dt><span class="term"><code class="option">--dtdvalidfpi <em class="replaceable"><code>FPI</code></em></code></span></dt><dd><p>
+			Use the <acronym class="acronym">DTD</acronym> specified by a Formal Public
+			Identifier <em class="replaceable"><code>FPI</code></em> for validation, note that this
+			will require a catalog exporting that Formal Public Identifier to work.
+		</p></dd><dt><span class="term"><code class="option">--debug</code></span></dt><dd><p>
+			Parse a file and output an annotated tree of the
+			in-memory version of the document.
+		</p></dd><dt><span class="term"><code class="option">--debugent</code></span></dt><dd><p>Debug the entities defined in the document.</p></dd><dt><span class="term"><code class="option">--dropdtd</code></span></dt><dd><p>Remove <acronym class="acronym">DTD</acronym> from output.</p></dd><dt><span class="term"><code class="option">--dtdattr</code></span></dt><dd><p>
+			Fetch external <acronym class="acronym">DTD</acronym> and populate the tree with
+			inherited attributes.
+		</p></dd><dt><span class="term"><code class="option">--encode <em class="replaceable"><code>ENCODING</code></em></code></span></dt><dd><p>Output in the given encoding. Note that this works for full document not fragments or result from XPath queries.</p></dd><dt><span class="term"><code class="option">--format</code></span></dt><dd><p>
+			Reformat and reindent the output. The <code class="envar">XMLLINT_INDENT</code>
+			environment variable controls the indentation. The default value is two
+			spaces "  ").
+		</p></dd><dt><span class="term"><code class="option">--help</code></span></dt><dd><p>Print out a short usage summary for <span class="command"><strong>xmllint</strong></span>.</p></dd><dt><span class="term"><code class="option">--html</code></span></dt><dd><p>Use the <acronym class="acronym">HTML</acronym> parser.</p></dd><dt><span class="term"><code class="option">--htmlout</code></span></dt><dd><p>
+			Output results as an <acronym class="acronym">HTML</acronym> file. This
+			causes <span class="command"><strong>xmllint</strong></span> to output the necessary <acronym class="acronym">HTML</acronym>
+			tags surrounding the result tree output so the results can be
+			displayed/viewed in a browser.
+		</p></dd><dt><span class="term"><code class="option">--insert</code></span></dt><dd><p>Test for valid insertions.</p></dd><dt><span class="term"><code class="option">--loaddtd</code></span></dt><dd><p>Fetch an external <acronym class="acronym">DTD</acronym>.</p></dd><dt><span class="term"><code class="option">--load-trace</code></span></dt><dd><p>
+			Display all the documents loaded during the processing
+			to <code class="filename">stderr</code>.
+		</p></dd><dt><span class="term"><code class="option">--maxmem <em class="replaceable"><code>NNBYTES</code></em></code></span></dt><dd><p>
+			Test the parser memory support. <em class="replaceable"><code>NNBYTES</code></em>
+			is the maximum number of bytes the library is allowed to allocate.
+			This can also be used to make sure batch processing
+			of <acronym class="acronym">XML</acronym> files will not exhaust the virtual memory
+			of the server running them.
+		</p></dd><dt><span class="term"><code class="option">--memory</code></span></dt><dd><p>Parse from memory.</p></dd><dt><span class="term"><code class="option">--noblanks</code></span></dt><dd><p>Drop ignorable blank spaces.</p></dd><dt><span class="term"><code class="option">--nocatalogs</code></span></dt><dd><p>Do not use any catalogs.</p></dd><dt><span class="term"><code class="option">--nocdata</code></span></dt><dd><p>Substitute CDATA section by equivalent text nodes.</p></dd><dt><span class="term"><code class="option">--noent</code></span></dt><dd><p>
+			Substitute entity values for entity references. By default, <span class="command"><strong>xmllint</strong></span>
+			leaves entity references in place.
+		</p></dd><dt><span class="term"><code class="option">--nonet</code></span></dt><dd><p>
+			Do not use the Internet to fetch <acronym class="acronym">DTD</acronym>s or entities.
+		</p></dd><dt><span class="term"><code class="option">--noout</code></span></dt><dd><p>
+			Suppress output. By default, <span class="command"><strong>xmllint</strong></span> outputs the result tree.
+		</p></dd><dt><span class="term"><code class="option">--nowarning</code></span></dt><dd><p>Do not emit warnings from the parser and/or validator.</p></dd><dt><span class="term"><code class="option">--nowrap</code></span></dt><dd><p>Do not output <acronym class="acronym">HTML</acronym> doc wrapper.</p></dd><dt><span class="term"><code class="option">--noxincludenode</code></span></dt><dd><p>
+			Do XInclude processing but do not generate XInclude start and end nodes.
+		</p></dd><dt><span class="term"><code class="option">--nsclean</code></span></dt><dd><p>Remove redundant namespace declarations.</p></dd><dt><span class="term"><code class="option">--output <em class="replaceable"><code>FILE</code></em></code></span></dt><dd><p>
+			Define a file path where <span class="command"><strong>xmllint</strong></span> will save the result of parsing.
+			Usually the programs build a tree and save it
+			on <code class="filename">stdout</code>, with this option
+			the result <acronym class="acronym">XML</acronym> instance will be saved onto a file.
+		</p></dd><dt><span class="term"><code class="option">--path "<em class="replaceable"><code>PATH(S)</code></em>"</code></span></dt><dd><p>
+			Use the (space- or colon-separated) list of filesystem paths specified
+			by <em class="replaceable"><code>PATHS</code></em> to load <acronym class="acronym">DTD</acronym>s or
+			entities. Enclose space-separated lists by quotation marks.
+		</p></dd><dt><span class="term"><code class="option">--pattern <em class="replaceable"><code>PATTERNVALUE</code></em></code></span></dt><dd><p>
+			Used to exercise the pattern recognition engine, which can be used
+			with the reader interface to the parser. It allows to select some
+			nodes in the document based on an XPath (subset) expression. Used
+			for debugging.
+		</p></dd><dt><span class="term"><code class="option">--postvalid</code></span></dt><dd><p>Validate after parsing has completed.</p></dd><dt><span class="term"><code class="option">--push</code></span></dt><dd><p>Use the push mode of the parser.</p></dd><dt><span class="term"><code class="option">--recover</code></span></dt><dd><p>Output any parsable portions of an invalid document.</p></dd><dt><span class="term"><code class="option">--relaxng <em class="replaceable"><code>SCHEMA</code></em></code></span></dt><dd><p>
+			Use RelaxNG file named <em class="replaceable"><code>SCHEMA</code></em>
+			for validation.
+		</p></dd><dt><span class="term"><code class="option">--repeat</code></span></dt><dd><p>Repeat 100 times, for timing or profiling.</p></dd><dt><span class="term"><code class="option">--schema <em class="replaceable"><code>SCHEMA</code></em></code></span></dt><dd><p>
+			Use a W3C <acronym class="acronym">XML</acronym> Schema file
+			named <em class="replaceable"><code>SCHEMA</code></em> for validation.
+		</p></dd><dt><span class="term"><code class="option">--shell</code></span></dt><dd><p>
+			Run a navigating shell. Details on available commands in shell mode
+			are below (see <a class="xref" href="#shell" title="SHELL COMMANDS">the section called &#8220;SHELL COMMANDS&#8221;</a>).
+		</p></dd><dt><span class="term"><code class="option">--xpath "<em class="replaceable"><code>XPath_expression</code></em>"</code></span></dt><dd><p>
+			Run an XPath expression given as argument and print the
+			result. In case of a nodeset result, each node in the
+			node set is serialized in full in the output. In case
+			of an empty node set the "XPath set is empty" result
+			will be shown and an error exit code will be returned.
+		</p></dd><dt><span class="term"><code class="option">--stream</code></span></dt><dd><p>
+			Use streaming <acronym class="acronym">API</acronym> - useful when used in combination
+			with <code class="option">--relaxng</code> or <code class="option">--valid</code> options
+			for validation of files that are too large to be held in memory.
+		</p></dd><dt><span class="term"><code class="option">--testIO</code></span></dt><dd><p>Test user input/output support.</p></dd><dt><span class="term"><code class="option">--timing</code></span></dt><dd><p>
+			Output information about the time it takes <span class="command"><strong>xmllint</strong></span> to perform the
+			various steps.
+		</p></dd><dt><span class="term"><code class="option">--valid</code></span></dt><dd><p>
+			Determine if the document is a valid instance of the included
+			Document Type Definition (<acronym class="acronym">DTD</acronym>).
+			A <acronym class="acronym">DTD</acronym> to be validated against also can be
+			specified at the command line using the <code class="option">--dtdvalid</code>
+			option. By default, <span class="command"><strong>xmllint</strong></span> also checks to determine if the
+			document is well-formed.
+		</p></dd><dt><span class="term"><code class="option">--version</code></span></dt><dd><p>
+			Display the version of <span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> used.
+		</p></dd><dt><span class="term"><code class="option">--walker</code></span></dt><dd><p>
+			Test the walker module, which is a reader interface but for a
+			document tree, instead of using the reader <acronym class="acronym">API</acronym> on
+			an unparsed document it works on an existing in-memory tree. Used for
+			debugging.
+		</p></dd><dt><span class="term"><code class="option">--xinclude</code></span></dt><dd><p>Do XInclude processing.</p></dd><dt><span class="term"><code class="option">--xmlout</code></span></dt><dd><p>
+			Used in conjunction with <code class="option">--html</code>. Usually
+			when <acronym class="acronym">HTML</acronym> is parsed the document is saved with
+			the <acronym class="acronym">HTML</acronym> serializer. But with this option the
+			resulting document is saved with the <acronym class="acronym">XML</acronym>
+			serializer. This is primarily used to
+			generate <acronym class="acronym">XHTML</acronym> from <acronym class="acronym">HTML</acronym> input.
+		</p></dd></dl></div></div><div class="refsect1"><a name="shell"></a><h2>SHELL COMMANDS</h2><p>
+		<span class="command"><strong>xmllint</strong></span> offers an interactive shell mode invoked with
+		the <code class="option">--shell</code> command. Available commands in shell mode
+		include (in alphabetical order):
+	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="command"><strong>base</strong></span></span></dt><dd><p>Display <acronym class="acronym">XML</acronym> base of the node.</p></dd><dt><span class="term"><span class="command"><strong>bye</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>cat <em class="replaceable"><code>NODE</code></em></strong></span></span></dt><dd><p>Display the given node or the current one.</p></dd><dt><span class="term"><span class="command"><strong>cd <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
+			Change the current node to the given path (if unique) or root if no
+			argument is given.
+		</p></dd><dt><span class="term"><span class="command"><strong>dir <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
+			Dumps information about the node (namespace, attributes, content).
+		</p></dd><dt><span class="term"><span class="command"><strong>du <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>
+			Show the structure of the subtree under the given path or the current node.
+		</p></dd><dt><span class="term"><span class="command"><strong>exit</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>help</strong></span></span></dt><dd><p>Show this help.</p></dd><dt><span class="term"><span class="command"><strong>free</strong></span></span></dt><dd><p>Display memory usage.</p></dd><dt><span class="term"><span class="command"><strong>load <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>Load a new document with the given filename.</p></dd><dt><span class="term"><span class="command"><strong>ls <em class="replaceable"><code>PATH</code></em></strong></span></span></dt><dd><p>List contents of the given path or the current directory.</p></dd><dt><span class="term"><span class="command"><strong>pwd</strong></span></span></dt><dd><p>Display the path to the current node.</p></dd><dt><span class="term"><span class="command"><strong>quit</strong></span></span></dt><dd><p>Leave the shell.</p></dd><dt><span class="term"><span class="command"><strong>save <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>
+			Save the current document to the given filename or to the original name.
+		</p></dd><dt><span class="term"><code class="option">validate</code></span></dt><dd><p>Check the document for errors.</p></dd><dt><span class="term"><span class="command"><strong>write <em class="replaceable"><code>FILENAME</code></em></strong></span></span></dt><dd><p>Write the current node to the given filename.</p></dd></dl></div></div><div class="refsect1"><a name="environment"></a><h2>ENVIRONMENT</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><code class="envar">SGML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">SGML</acronym> catalog behavior can be changed by redirecting
+			queries to the user's own set of catalogs. This can be done by setting
+			the <code class="envar">SGML_CATALOG_FILES</code> environment variable to a list
+			of catalogs. An empty one should deactivate loading the
+			default <code class="filename">/etc/sgml/catalog</code> catalog.
+		</p></dd><dt><span class="term"><code class="envar">XML_CATALOG_FILES</code></span></dt><dd><p><acronym class="acronym">XML</acronym> catalog behavior can be changed by redirecting
+			queries to the user's own set of catalogs. This can be done by setting
+			the <code class="envar">XML_CATALOG_FILES</code> environment variable to a list
+			of catalogs. An empty one should deactivate loading the
+			default <code class="filename">/etc/xml/catalog</code> catalog.
+		</p></dd><dt><span class="term"><code class="envar">XML_DEBUG_CATALOG</code></span></dt><dd><p>Setting the environment variable <code class="envar">XML_DEBUG_CATALOG</code>
+			to <em class="parameter"><code>non-zero</code></em> using the <span class="command"><strong>export</strong></span>
+			command outputs debugging information related to catalog operations.
+		</p></dd><dt><span class="term"><code class="envar">XMLLINT_INDENT</code></span></dt><dd><p>Setting the environment variable <code class="envar">XMLLINT_INDENT</code>
+			controls the indentation. The default value is two spaces "  ".
+		</p></dd></dl></div></div><div class="refsect1"><a name="diagnostics"></a><h2>DIAGNOSTICS</h2><p>
+		<span class="command"><strong>xmllint</strong></span> return codes provide information that can be used when
+		calling it from scripts.
+	</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><span class="errorcode">0</span></span></dt><dd><p>No error</p></dd><dt><span class="term"><span class="errorcode">1</span></span></dt><dd><p>Unclassified</p></dd><dt><span class="term"><span class="errorcode">2</span></span></dt><dd><p>Error in <acronym class="acronym">DTD</acronym></p></dd><dt><span class="term"><span class="errorcode">3</span></span></dt><dd><p>Validation error</p></dd><dt><span class="term"><span class="errorcode">4</span></span></dt><dd><p>Validation error</p></dd><dt><span class="term"><span class="errorcode">5</span></span></dt><dd><p>Error in schema compilation</p></dd><dt><span class="term"><span class="errorcode">6</span></span></dt><dd><p>Error writing output</p></dd><dt><span class="term"><span class="errorcode">7</span></span></dt><dd><p>
+			Error in pattern (generated when <code class="option">--pattern</code> option is used)
+		</p></dd><dt><span class="term"><span class="errorcode">8</span></span></dt><dd><p>
+			Error in Reader registration (generated
+			when <code class="option">--chkregister</code> option is used)
+		</p></dd><dt><span class="term"><span class="errorcode">9</span></span></dt><dd><p>Out of memory error</p></dd></dl></div></div><div class="refsect1"><a name="seealso"></a><h2>SEE ALSO</h2><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span>
+	</p><p>
+		More information can be found at
+		</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span class="citerefentry"><span class="refentrytitle">libxml</span>(3)</span> web page <a class="ulink" href="http://www.xmlsoft.org/" target="_top">http://www.xmlsoft.org/</a>
+				</p></li><li class="listitem"><p>W3C <acronym class="acronym">XSLT</acronym> page <a class="ulink" href="http://www.w3.org/TR/xslt" target="_top">http://www.w3.org/TR/xslt</a>
+				</p></li></ul></div><p>
+	</p></div></div></body></html>
diff --git a/elfgcchack.h b/elfgcchack.h
index 8c52884..5ac93bf 100644
--- a/elfgcchack.h
+++ b/elfgcchack.h
@@ -11,7 +11,7 @@
 #ifdef IN_LIBXML
 #ifdef __GNUC__
 #ifdef PIC
-#ifdef linux
+#ifdef __linux__
 #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
 
 #include "libxml/c14n.h"
diff --git a/encoding.c b/encoding.c
index e49c7f8..de7b511 100644
--- a/encoding.c
+++ b/encoding.c
@@ -110,6 +110,9 @@
   if (conv == NULL)
     return NULL;
 
+  conv->pivot_source = conv->pivot_buf;
+  conv->pivot_target = conv->pivot_buf;
+
   conv->uconv = ucnv_open(name, &status);
   if (U_FAILURE(status))
     goto error;
@@ -354,8 +357,14 @@
 {
     int len;
 
-    if ((out == NULL) || (inb == NULL) || (outlen == NULL) || (inlenb == NULL))
+    if ((out == NULL) || (outlen == NULL) || (inlenb == NULL))
 	return(-1);
+    if (inb == NULL) {
+        /* inb == NULL means output is initialized. */
+        *outlen = 0;
+        *inlenb = 0;
+        return(0);
+    }
     if (*outlen > *inlenb) {
 	len = *inlenb;
     } else {
@@ -1844,6 +1853,7 @@
  * @outlen:  the length of @out
  * @in:  a pointer to an array of ISO Latin 1 chars
  * @inlen:  the length of @in
+ * @flush: if true, indicates end of input
  *
  * Returns 0 if success, or
  *     -1 by lack of space, or
@@ -1857,7 +1867,7 @@
  */
 static int
 xmlUconvWrapper(uconv_t *cd, int toUnicode, unsigned char *out, int *outlen,
-                const unsigned char *in, int *inlen) {
+                const unsigned char *in, int *inlen, int flush) {
     const char *ucv_in = (const char *) in;
     char *ucv_out = (char *) out;
     UErrorCode err = U_ZERO_ERROR;
@@ -1867,33 +1877,31 @@
         return(-1);
     }
 
-    /*
-     * TODO(jungshik)
-     * 1. is ucnv_convert(To|From)Algorithmic better?
-     * 2. had we better use an explicit pivot buffer?
-     * 3. error returned comes from 'fromUnicode' only even
-     *    when toUnicode is true !
-     */
     if (toUnicode) {
         /* encoding => UTF-16 => UTF-8 */
         ucnv_convertEx(cd->utf8, cd->uconv, &ucv_out, ucv_out + *outlen,
-                       &ucv_in, ucv_in + *inlen, NULL, NULL, NULL, NULL,
-                       0, TRUE, &err);
+                       &ucv_in, ucv_in + *inlen, cd->pivot_buf,
+                       &cd->pivot_source, &cd->pivot_target,
+                       cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0, flush, &err);
     } else {
         /* UTF-8 => UTF-16 => encoding */
         ucnv_convertEx(cd->uconv, cd->utf8, &ucv_out, ucv_out + *outlen,
-                       &ucv_in, ucv_in + *inlen, NULL, NULL, NULL, NULL,
-                       0, TRUE, &err);
+                       &ucv_in, ucv_in + *inlen, cd->pivot_buf,
+                       &cd->pivot_source, &cd->pivot_target,
+                       cd->pivot_buf + ICU_PIVOT_BUF_SIZE, 0, flush, &err);
     }
     *inlen = ucv_in - (const char*) in;
     *outlen = ucv_out - (char *) out;
-    if (U_SUCCESS(err))
+    if (U_SUCCESS(err)) {
+        /* reset pivot buf if this is the last call for input (flush==TRUE) */
+        if (flush)
+            cd->pivot_source = cd->pivot_target = cd->pivot_buf;
         return 0;
+    }
     if (err == U_BUFFER_OVERFLOW_ERROR)
         return -1;
     if (err == U_INVALID_CHAR_FOUND || err == U_ILLEGAL_CHAR_FOUND)
         return -2;
-    /* if (err == U_TRUNCATED_CHAR_FOUND) */
     return -3;
 }
 #endif /* LIBXML_ICU_ENABLED */
@@ -1904,6 +1912,64 @@
  *									*
  ************************************************************************/
 
+static int
+xmlEncInputChunk(xmlCharEncodingHandler *handler, unsigned char *out,
+                 int *outlen, const unsigned char *in, int *inlen, int flush) {
+    int ret;
+    (void)flush;
+
+    if (handler->input != NULL) {
+        ret = handler->input(out, outlen, in, inlen);
+    }
+#ifdef LIBXML_ICONV_ENABLED
+    else if (handler->iconv_in != NULL) {
+        ret = xmlIconvWrapper(handler->iconv_in, out, outlen, in, inlen);
+    }
+#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+    else if (handler->uconv_in != NULL) {
+        ret = xmlUconvWrapper(handler->uconv_in, 1, out, outlen, in, inlen,
+                              flush);
+    }
+#endif /* LIBXML_ICU_ENABLED */
+    else {
+        *outlen = 0;
+        *inlen = 0;
+        ret = -2;
+    }
+
+    return(ret);
+}
+
+/* Returns -4 if no output function was found. */
+static int
+xmlEncOutputChunk(xmlCharEncodingHandler *handler, unsigned char *out,
+                  int *outlen, const unsigned char *in, int *inlen) {
+    int ret;
+
+    if (handler->output != NULL) {
+        ret = handler->output(out, outlen, in, inlen);
+    }
+#ifdef LIBXML_ICONV_ENABLED
+    else if (handler->iconv_out != NULL) {
+        ret = xmlIconvWrapper(handler->iconv_out, out, outlen, in, inlen);
+    }
+#endif /* LIBXML_ICONV_ENABLED */
+#ifdef LIBXML_ICU_ENABLED
+    else if (handler->uconv_out != NULL) {
+        ret = xmlUconvWrapper(handler->uconv_out, 0, out, outlen, in, inlen,
+                              TRUE);
+    }
+#endif /* LIBXML_ICU_ENABLED */
+    else {
+        *outlen = 0;
+        *inlen = 0;
+        ret = -4;
+    }
+
+    return(ret);
+}
+
 /**
  * xmlCharEncFirstLineInt:
  * @handler:	char enconding transformation data structure
@@ -1922,7 +1988,7 @@
 int
 xmlCharEncFirstLineInt(xmlCharEncodingHandler *handler, xmlBufferPtr out,
                        xmlBufferPtr in, int len) {
-    int ret = -2;
+    int ret;
     int written;
     int toconv;
 
@@ -1953,33 +2019,13 @@
 	written = out->size - out->use - 1;
     }
 
-    if (handler->input != NULL) {
-	ret = handler->input(&out->content[out->use], &written,
-	                     in->content, &toconv);
-	xmlBufferShrink(in, toconv);
-	out->use += written;
-	out->content[out->use] = 0;
-    }
-#ifdef LIBXML_ICONV_ENABLED
-    else if (handler->iconv_in != NULL) {
-	ret = xmlIconvWrapper(handler->iconv_in, &out->content[out->use],
-	                      &written, in->content, &toconv);
-	xmlBufferShrink(in, toconv);
-	out->use += written;
-	out->content[out->use] = 0;
-	if (ret == -1) ret = -3;
-    }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-    else if (handler->uconv_in != NULL) {
-	ret = xmlUconvWrapper(handler->uconv_in, 1, &out->content[out->use],
-	                      &written, in->content, &toconv);
-	xmlBufferShrink(in, toconv);
-	out->use += written;
-	out->content[out->use] = 0;
-	if (ret == -1) ret = -3;
-    }
-#endif /* LIBXML_ICU_ENABLED */
+    ret = xmlEncInputChunk(handler, &out->content[out->use], &written,
+                           in->content, &toconv, 0);
+    xmlBufferShrink(in, toconv);
+    out->use += written;
+    out->content[out->use] = 0;
+    if (ret == -1) ret = -3;
+
 #ifdef DEBUG_ENCODING
     switch (ret) {
         case 0:
@@ -2049,7 +2095,7 @@
 int
 xmlCharEncFirstLineInput(xmlParserInputBufferPtr input, int len)
 {
-    int ret = -2;
+    int ret;
     size_t written;
     size_t toconv;
     int c_in;
@@ -2091,32 +2137,13 @@
 
     c_in = toconv;
     c_out = written;
-    if (input->encoder->input != NULL) {
-        ret = input->encoder->input(xmlBufEnd(out), &c_out,
-                                    xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-    }
-#ifdef LIBXML_ICONV_ENABLED
-    else if (input->encoder->iconv_in != NULL) {
-        ret = xmlIconvWrapper(input->encoder->iconv_in, xmlBufEnd(out),
-                              &c_out, xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-        if (ret == -1)
-            ret = -3;
-    }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-    else if (input->encoder->uconv_in != NULL) {
-        ret = xmlUconvWrapper(input->encoder->uconv_in, 1, xmlBufEnd(out),
-                              &c_out, xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-        if (ret == -1)
-            ret = -3;
-    }
-#endif /* LIBXML_ICU_ENABLED */
+    ret = xmlEncInputChunk(input->encoder, xmlBufEnd(out), &c_out,
+                           xmlBufContent(in), &c_in, 0);
+    xmlBufShrink(in, c_in);
+    xmlBufAddLen(out, c_out);
+    if (ret == -1)
+        ret = -3;
+
     switch (ret) {
         case 0:
 #ifdef DEBUG_ENCODING
@@ -2175,7 +2202,7 @@
 int
 xmlCharEncInput(xmlParserInputBufferPtr input, int flush)
 {
-    int ret = -2;
+    int ret;
     size_t written;
     size_t toconv;
     int c_in;
@@ -2208,32 +2235,13 @@
 
     c_in = toconv;
     c_out = written;
-    if (input->encoder->input != NULL) {
-        ret = input->encoder->input(xmlBufEnd(out), &c_out,
-                                    xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-    }
-#ifdef LIBXML_ICONV_ENABLED
-    else if (input->encoder->iconv_in != NULL) {
-        ret = xmlIconvWrapper(input->encoder->iconv_in, xmlBufEnd(out),
-                              &c_out, xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-        if (ret == -1)
-            ret = -3;
-    }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-    else if (input->encoder->uconv_in != NULL) {
-        ret = xmlUconvWrapper(input->encoder->uconv_in, 1, xmlBufEnd(out),
-                              &c_out, xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-        if (ret == -1)
-            ret = -3;
-    }
-#endif /* LIBXML_ICU_ENABLED */
+    ret = xmlEncInputChunk(input->encoder, xmlBufEnd(out), &c_out,
+                           xmlBufContent(in), &c_in, flush);
+    xmlBufShrink(in, c_in);
+    xmlBufAddLen(out, c_out);
+    if (ret == -1)
+        ret = -3;
+
     switch (ret) {
         case 0:
 #ifdef DEBUG_ENCODING
@@ -2294,7 +2302,7 @@
 xmlCharEncInFunc(xmlCharEncodingHandler * handler, xmlBufferPtr out,
                  xmlBufferPtr in)
 {
-    int ret = -2;
+    int ret;
     int written;
     int toconv;
 
@@ -2313,35 +2321,14 @@
         xmlBufferGrow(out, out->size + toconv * 2);
         written = out->size - out->use - 1;
     }
-    if (handler->input != NULL) {
-        ret = handler->input(&out->content[out->use], &written,
-                             in->content, &toconv);
-        xmlBufferShrink(in, toconv);
-        out->use += written;
-        out->content[out->use] = 0;
-    }
-#ifdef LIBXML_ICONV_ENABLED
-    else if (handler->iconv_in != NULL) {
-        ret = xmlIconvWrapper(handler->iconv_in, &out->content[out->use],
-                              &written, in->content, &toconv);
-        xmlBufferShrink(in, toconv);
-        out->use += written;
-        out->content[out->use] = 0;
-        if (ret == -1)
-            ret = -3;
-    }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-    else if (handler->uconv_in != NULL) {
-        ret = xmlUconvWrapper(handler->uconv_in, 1, &out->content[out->use],
-                              &written, in->content, &toconv);
-        xmlBufferShrink(in, toconv);
-        out->use += written;
-        out->content[out->use] = 0;
-        if (ret == -1)
-            ret = -3;
-    }
-#endif /* LIBXML_ICU_ENABLED */
+    ret = xmlEncInputChunk(handler, &out->content[out->use], &written,
+                           in->content, &toconv, 1);
+    xmlBufferShrink(in, toconv);
+    out->use += written;
+    out->content[out->use] = 0;
+    if (ret == -1)
+        ret = -3;
+
     switch (ret) {
         case 0:
 #ifdef DEBUG_ENCODING
@@ -2405,7 +2392,7 @@
 int
 xmlCharEncOutput(xmlOutputBufferPtr output, int init)
 {
-    int ret = -2;
+    int ret;
     size_t written;
     size_t writtentot = 0;
     size_t toconv;
@@ -2413,7 +2400,6 @@
     int c_out;
     xmlBufPtr in;
     xmlBufPtr out;
-    int charref_len = 0;
 
     if ((output == NULL) || (output->encoder == NULL) ||
         (output->buffer == NULL) || (output->conv == NULL))
@@ -2433,26 +2419,10 @@
     if (init) {
         c_in = 0;
         c_out = written;
-        if (output->encoder->output != NULL) {
-            ret = output->encoder->output(xmlBufEnd(out), &c_out,
-                                          NULL, &c_in);
-            if (ret > 0) /* Gennady: check return value */
-                xmlBufAddLen(out, c_out);
-        }
-#ifdef LIBXML_ICONV_ENABLED
-        else if (output->encoder->iconv_out != NULL) {
-            ret = xmlIconvWrapper(output->encoder->iconv_out, xmlBufEnd(out),
-                                  &c_out, NULL, &c_in);
-            xmlBufAddLen(out, c_out);
-        }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-        else if (output->encoder->uconv_out != NULL) {
-            ret = xmlUconvWrapper(output->encoder->uconv_out, 0, xmlBufEnd(out),
-                                  &c_out, NULL, &c_in);
-            xmlBufAddLen(out, c_out);
-        }
-#endif /* LIBXML_ICU_ENABLED */
+        /* TODO: Check return value. */
+        xmlEncOutputChunk(output->encoder, xmlBufEnd(out), &c_out,
+                          NULL, &c_in);
+        xmlBufAddLen(out, c_out);
 #ifdef DEBUG_ENCODING
 	xmlGenericError(xmlGenericErrorContext,
 		"initialized encoder\n");
@@ -2477,57 +2447,17 @@
 
     c_in = toconv;
     c_out = written;
-    if (output->encoder->output != NULL) {
-        ret = output->encoder->output(xmlBufEnd(out), &c_out,
-                                      xmlBufContent(in), &c_in);
+    ret = xmlEncOutputChunk(output->encoder, xmlBufEnd(out), &c_out,
+                            xmlBufContent(in), &c_in);
+    xmlBufShrink(in, c_in);
+    xmlBufAddLen(out, c_out);
+    writtentot += c_out;
+    if (ret == -1) {
         if (c_out > 0) {
-            xmlBufShrink(in, c_in);
-            xmlBufAddLen(out, c_out);
-            writtentot += c_out;
+            /* Can be a limitation of iconv or uconv */
+            goto retry;
         }
-    }
-#ifdef LIBXML_ICONV_ENABLED
-    else if (output->encoder->iconv_out != NULL) {
-        ret = xmlIconvWrapper(output->encoder->iconv_out, xmlBufEnd(out),
-                              &c_out, xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-        writtentot += c_out;
-        if (ret == -1) {
-            if (c_out > 0) {
-                /*
-                 * Can be a limitation of iconv
-                 */
-                charref_len = 0;
-                goto retry;
-            }
-            ret = -3;
-        }
-    }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-    else if (output->encoder->uconv_out != NULL) {
-        ret = xmlUconvWrapper(output->encoder->uconv_out, 0, xmlBufEnd(out),
-                              &c_out, xmlBufContent(in), &c_in);
-        xmlBufShrink(in, c_in);
-        xmlBufAddLen(out, c_out);
-        writtentot += c_out;
-        if (ret == -1) {
-            if (c_out > 0) {
-                /*
-                 * Can be a limitation of uconv
-                 */
-                charref_len = 0;
-                goto retry;
-            }
-            ret = -3;
-        }
-    }
-#endif /* LIBXML_ICU_ENABLED */
-    else {
-        xmlEncodingErr(XML_I18N_NO_OUTPUT,
-                       "xmlCharEncOutFunc: no output function !\n", NULL);
-        return(-1);
+        ret = -3;
     }
 
     if (ret >= 0) output += ret;
@@ -2555,47 +2485,44 @@
 	            c_in, c_out, (int) xmlBufUse(in));
 #endif
 	    break;
+        case -4:
+            xmlEncodingErr(XML_I18N_NO_OUTPUT,
+                           "xmlCharEncOutFunc: no output function !\n", NULL);
+            ret = -1;
+            break;
         case -2: {
+	    xmlChar charref[20];
 	    int len = (int) xmlBufUse(in);
             xmlChar *content = xmlBufContent(in);
-	    int cur;
+	    int cur, charrefLen;
 
 	    cur = xmlGetUTF8Char(content, &len);
-	    if ((charref_len != 0) && (c_out < charref_len)) {
-		/*
-		 * We attempted to insert a character reference and failed.
-		 * Undo what was written and skip the remaining charref.
-		 */
-                xmlBufErase(out, c_out);
-		writtentot -= c_out;
-		xmlBufShrink(in, charref_len - c_out);
-		charref_len = 0;
-
-		ret = -1;
+	    if (cur <= 0)
                 break;
-	    } else if (cur > 0) {
-		xmlChar charref[20];
 
 #ifdef DEBUG_ENCODING
-		xmlGenericError(xmlGenericErrorContext,
-			"handling output conversion error\n");
-		xmlGenericError(xmlGenericErrorContext,
-			"Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
-			content[0], content[1],
-			content[2], content[3]);
+            xmlGenericError(xmlGenericErrorContext,
+                    "handling output conversion error\n");
+            xmlGenericError(xmlGenericErrorContext,
+                    "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+                    content[0], content[1],
+                    content[2], content[3]);
 #endif
-		/*
-		 * Removes the UTF8 sequence, and replace it by a charref
-		 * and continue the transcoding phase, hoping the error
-		 * did not mangle the encoder state.
-		 */
-		charref_len = snprintf((char *) &charref[0], sizeof(charref),
-				 "&#%d;", cur);
-		xmlBufShrink(in, len);
-		xmlBufAddHead(in, charref, -1);
+            /*
+             * Removes the UTF8 sequence, and replace it by a charref
+             * and continue the transcoding phase, hoping the error
+             * did not mangle the encoder state.
+             */
+            charrefLen = snprintf((char *) &charref[0], sizeof(charref),
+                             "&#%d;", cur);
+            xmlBufShrink(in, len);
+            xmlBufGrow(out, charrefLen * 4);
+            c_out = xmlBufAvail(out) - 1;
+            c_in = charrefLen;
+            ret = xmlEncOutputChunk(output->encoder, xmlBufEnd(out), &c_out,
+                                    charref, &c_in);
 
-		goto retry;
-	    } else {
+	    if ((ret < 0) || (c_in != charrefLen)) {
 		char buf[50];
 
 		snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
@@ -2607,8 +2534,12 @@
 			       buf);
 		if (xmlBufGetAllocationScheme(in) != XML_BUFFER_ALLOC_IMMUTABLE)
 		    content[0] = ' ';
+                break;
 	    }
-	    break;
+
+            xmlBufAddLen(out, c_out);
+            writtentot += c_out;
+            goto retry;
 	}
     }
     return(ret);
@@ -2636,12 +2567,11 @@
 int
 xmlCharEncOutFunc(xmlCharEncodingHandler *handler, xmlBufferPtr out,
                   xmlBufferPtr in) {
-    int ret = -2;
+    int ret;
     int written;
     int writtentot = 0;
     int toconv;
     int output = 0;
-    int charref_len = 0;
 
     if (handler == NULL) return(-1);
     if (out == NULL) return(-1);
@@ -2658,31 +2588,11 @@
      */
     if (in == NULL) {
         toconv = 0;
-	if (handler->output != NULL) {
-	    ret = handler->output(&out->content[out->use], &written,
-				  NULL, &toconv);
-	    if (ret >= 0) { /* Gennady: check return value */
-		out->use += written;
-		out->content[out->use] = 0;
-	    }
-	}
-#ifdef LIBXML_ICONV_ENABLED
-	else if (handler->iconv_out != NULL) {
-	    ret = xmlIconvWrapper(handler->iconv_out, &out->content[out->use],
-				  &written, NULL, &toconv);
-	    out->use += written;
-	    out->content[out->use] = 0;
-	}
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-	else if (handler->uconv_out != NULL) {
-	    ret = xmlUconvWrapper(handler->uconv_out, 0,
-                              &out->content[out->use],
-				              &written, NULL, &toconv);
-	    out->use += written;
-	    out->content[out->use] = 0;
-	}
-#endif /* LIBXML_ICU_ENABLED */
+        /* TODO: Check return value. */
+        xmlEncOutputChunk(handler, &out->content[out->use], &written,
+                          NULL, &toconv);
+        out->use += written;
+        out->content[out->use] = 0;
 #ifdef DEBUG_ENCODING
 	xmlGenericError(xmlGenericErrorContext,
 		"initialized encoder\n");
@@ -2700,61 +2610,18 @@
         xmlBufferGrow(out, toconv * 4);
 	written = out->size - out->use - 1;
     }
-    if (handler->output != NULL) {
-	ret = handler->output(&out->content[out->use], &written,
-	                      in->content, &toconv);
-	if (written > 0) {
-	    xmlBufferShrink(in, toconv);
-	    out->use += written;
-	    writtentot += written;
-	}
-	out->content[out->use] = 0;
-    }
-#ifdef LIBXML_ICONV_ENABLED
-    else if (handler->iconv_out != NULL) {
-	ret = xmlIconvWrapper(handler->iconv_out, &out->content[out->use],
-	                      &written, in->content, &toconv);
-	xmlBufferShrink(in, toconv);
-	out->use += written;
-	writtentot += written;
-	out->content[out->use] = 0;
-	if (ret == -1) {
-	    if (written > 0) {
-		/*
-		 * Can be a limitation of iconv
-		 */
-                charref_len = 0;
-		goto retry;
-	    }
-	    ret = -3;
-	}
-    }
-#endif /* LIBXML_ICONV_ENABLED */
-#ifdef LIBXML_ICU_ENABLED
-    else if (handler->uconv_out != NULL) {
-	ret = xmlUconvWrapper(handler->uconv_out, 0,
-                              &out->content[out->use],
-	                      &written, in->content, &toconv);
-	xmlBufferShrink(in, toconv);
-	out->use += written;
-	writtentot += written;
-	out->content[out->use] = 0;
-	if (ret == -1) {
-	    if (written > 0) {
-		/*
-		 * Can be a limitation of iconv
-		 */
-                charref_len = 0;
-		goto retry;
-	    }
-	    ret = -3;
-	}
-    }
-#endif /* LIBXML_ICU_ENABLED */
-    else {
-	xmlEncodingErr(XML_I18N_NO_OUTPUT,
-		       "xmlCharEncOutFunc: no output function !\n", NULL);
-	return(-1);
+    ret = xmlEncOutputChunk(handler, &out->content[out->use], &written,
+                            in->content, &toconv);
+    xmlBufferShrink(in, toconv);
+    out->use += written;
+    writtentot += written;
+    out->content[out->use] = 0;
+    if (ret == -1) {
+        if (written > 0) {
+            /* Can be a limitation of iconv or uconv */
+            goto retry;
+        }
+        ret = -3;
     }
 
     if (ret >= 0) output += ret;
@@ -2782,47 +2649,44 @@
 	            toconv, written, in->use);
 #endif
 	    break;
+        case -4:
+	    xmlEncodingErr(XML_I18N_NO_OUTPUT,
+		           "xmlCharEncOutFunc: no output function !\n", NULL);
+	    ret = -1;
+            break;
         case -2: {
+	    xmlChar charref[20];
 	    int len = in->use;
 	    const xmlChar *utf = (const xmlChar *) in->content;
-	    int cur;
+	    int cur, charrefLen;
 
 	    cur = xmlGetUTF8Char(utf, &len);
-	    if ((charref_len != 0) && (written < charref_len)) {
-		/*
-		 * We attempted to insert a character reference and failed.
-		 * Undo what was written and skip the remaining charref.
-		 */
-		out->use -= written;
-		writtentot -= written;
-		xmlBufferShrink(in, charref_len - written);
-		charref_len = 0;
-
-		ret = -1;
+	    if (cur <= 0)
                 break;
-	    } else if (cur > 0) {
-		xmlChar charref[20];
 
 #ifdef DEBUG_ENCODING
-		xmlGenericError(xmlGenericErrorContext,
-			"handling output conversion error\n");
-		xmlGenericError(xmlGenericErrorContext,
-			"Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
-			in->content[0], in->content[1],
-			in->content[2], in->content[3]);
+            xmlGenericError(xmlGenericErrorContext,
+                    "handling output conversion error\n");
+            xmlGenericError(xmlGenericErrorContext,
+                    "Bytes: 0x%02X 0x%02X 0x%02X 0x%02X\n",
+                    in->content[0], in->content[1],
+                    in->content[2], in->content[3]);
 #endif
-		/*
-		 * Removes the UTF8 sequence, and replace it by a charref
-		 * and continue the transcoding phase, hoping the error
-		 * did not mangle the encoder state.
-		 */
-		charref_len = snprintf((char *) &charref[0], sizeof(charref),
-				 "&#%d;", cur);
-		xmlBufferShrink(in, len);
-		xmlBufferAddHead(in, charref, -1);
+            /*
+             * Removes the UTF8 sequence, and replace it by a charref
+             * and continue the transcoding phase, hoping the error
+             * did not mangle the encoder state.
+             */
+            charrefLen = snprintf((char *) &charref[0], sizeof(charref),
+                             "&#%d;", cur);
+            xmlBufferShrink(in, len);
+            xmlBufferGrow(out, charrefLen * 4);
+	    written = out->size - out->use - 1;
+            toconv = charrefLen;
+            ret = xmlEncOutputChunk(handler, &out->content[out->use], &written,
+                                    charref, &toconv);
 
-		goto retry;
-	    } else {
+	    if ((ret < 0) || (toconv != charrefLen)) {
 		char buf[50];
 
 		snprintf(&buf[0], 49, "0x%02X 0x%02X 0x%02X 0x%02X",
@@ -2834,8 +2698,13 @@
 			       buf);
 		if (in->alloc != XML_BUFFER_ALLOC_IMMUTABLE)
 		    in->content[0] = ' ';
+	        break;
 	    }
-	    break;
+
+            out->use += written;
+            writtentot += written;
+            out->content[out->use] = 0;
+            goto retry;
 	}
     }
     return(ret);
@@ -2954,54 +2823,20 @@
 
 	    int ret;
 
-	    if (handler->output != NULL) {
-	        do {
-		    toconv = in->end - cur;
-		    written = 32000;
-		    ret = handler->output(&convbuf[0], &written,
-				      cur, &toconv);
-		    if (ret == -1) return(-1);
-		    unused += written;
-		    cur += toconv;
-		} while (ret == -2);
-#ifdef LIBXML_ICONV_ENABLED
-	    } else if (handler->iconv_out != NULL) {
-	        do {
-		    toconv = in->end - cur;
-		    written = 32000;
-		    ret = xmlIconvWrapper(handler->iconv_out, &convbuf[0],
-	                      &written, cur, &toconv);
-		    if (ret < 0) {
-		        if (written > 0)
-			    ret = -2;
-			else
-			    return(-1);
-		    }
-		    unused += written;
-		    cur += toconv;
-		} while (ret == -2);
-#endif
-#ifdef LIBXML_ICU_ENABLED
-	    } else if (handler->uconv_out != NULL) {
-	        do {
-		    toconv = in->end - cur;
-		    written = 32000;
-		    ret = xmlUconvWrapper(handler->uconv_out, 0, &convbuf[0],
-	                      &written, cur, &toconv);
-		    if (ret < 0) {
-		        if (written > 0)
-			    ret = -2;
-			else
-			    return(-1);
-		    }
-		    unused += written;
-		    cur += toconv;
-		} while (ret == -2);
-#endif
-            } else {
-	        /* could not find a converter */
-	        return(-1);
-	    }
+            do {
+                toconv = in->end - cur;
+                written = 32000;
+                ret = xmlEncOutputChunk(handler, &convbuf[0], &written,
+                                        cur, &toconv);
+                if (ret < 0) {
+                    if (written > 0)
+                        ret = -2;
+                    else
+                        return(-1);
+                }
+                unused += written;
+                cur += toconv;
+            } while (ret == -2);
 	}
 	if (in->buf->rawconsumed < unused)
 	    return(-1);
diff --git a/entities.c b/entities.c
index 64808ff..43549bc 100644
--- a/entities.c
+++ b/entities.c
@@ -6,6 +6,11 @@
  * daniel@veillard.com
  */
 
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
@@ -880,10 +885,9 @@
  * Deallocate the memory used by an entities in the hash table.
  */
 static void
-xmlFreeEntityWrapper(xmlEntityPtr entity,
-	               const xmlChar *name ATTRIBUTE_UNUSED) {
+xmlFreeEntityWrapper(void *entity, const xmlChar *name ATTRIBUTE_UNUSED) {
     if (entity != NULL)
-	xmlFreeEntity(entity);
+	xmlFreeEntity((xmlEntityPtr) entity);
 }
 
 /**
@@ -894,7 +898,7 @@
  */
 void
 xmlFreeEntitiesTable(xmlEntitiesTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeEntityWrapper);
+    xmlHashFree(table, xmlFreeEntityWrapper);
 }
 
 #ifdef LIBXML_TREE_ENABLED
@@ -906,8 +910,9 @@
  *
  * Returns the new xmlEntitiesPtr or NULL in case of error.
  */
-static xmlEntityPtr
-xmlCopyEntity(xmlEntityPtr ent) {
+static void *
+xmlCopyEntity(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlEntityPtr ent = (xmlEntityPtr) payload;
     xmlEntityPtr cur;
 
     cur = (xmlEntityPtr) xmlMalloc(sizeof(xmlEntity));
@@ -944,7 +949,7 @@
  */
 xmlEntitiesTablePtr
 xmlCopyEntitiesTable(xmlEntitiesTablePtr table) {
-    return(xmlHashCopy(table, (xmlHashCopier) xmlCopyEntity));
+    return(xmlHashCopy(table, xmlCopyEntity));
 }
 #endif /* LIBXML_TREE_ENABLED */
 
@@ -1085,8 +1090,9 @@
  * When using the hash table scan function, arguments need to be reversed
  */
 static void
-xmlDumpEntityDeclScan(xmlEntityPtr ent, xmlBufferPtr buf) {
-    xmlDumpEntityDecl(buf, ent);
+xmlDumpEntityDeclScan(void *ent, void *buf,
+                      const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlDumpEntityDecl((xmlBufferPtr) buf, (xmlEntityPtr) ent);
 }
 
 /**
@@ -1098,7 +1104,7 @@
  */
 void
 xmlDumpEntitiesTable(xmlBufferPtr buf, xmlEntitiesTablePtr table) {
-    xmlHashScan(table, (xmlHashScanner)xmlDumpEntityDeclScan, buf);
+    xmlHashScan(table, xmlDumpEntityDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 #define bottom_entities
diff --git a/error.c b/error.c
index 9606f13..50e9e6f 100644
--- a/error.c
+++ b/error.c
@@ -853,7 +853,7 @@
  * Get the last global error registered. This is per thread if compiled
  * with thread support.
  *
- * Returns NULL if no error occured or a pointer to the error
+ * Returns NULL if no error occurred or a pointer to the error
  */
 xmlErrorPtr
 xmlGetLastError(void)
@@ -910,7 +910,7 @@
  *
  * Get the last parsing error registered.
  *
- * Returns NULL if no error occured or a pointer to the error
+ * Returns NULL if no error occurred or a pointer to the error
  */
 xmlErrorPtr
 xmlCtxtGetLastError(void *ctx)
diff --git a/example/Makefile.am b/example/Makefile.am
index 488ee6e..49bca39 100644
--- a/example/Makefile.am
+++ b/example/Makefile.am
@@ -1,4 +1,4 @@
-noinst_PROGRAMS	= gjobread
+check_PROGRAMS = gjobread
 
 AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir)/include
 AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS)
diff --git a/example/gjobread.c b/example/gjobread.c
index d3f6d57..a435ca4 100644
--- a/example/gjobread.c
+++ b/example/gjobread.c
@@ -177,7 +177,7 @@
 
 
 static gJobPtr
-parseGjobFile(char *filename) {
+parseGjobFile(char *filename ATTRIBUTE_UNUSED) {
     xmlDocPtr doc;
     gJobPtr ret;
     jobPtr curjob;
diff --git a/genUnicode.py b/genUnicode.py
index 56e4e9b..4487eeb 100755
--- a/genUnicode.py
+++ b/genUnicode.py
@@ -267,14 +267,14 @@
 } xmlUnicodeRange;
 
 typedef struct {
-    xmlUnicodeRange *table;
+    const xmlUnicodeRange *table;
     int		    numentries;
 } xmlUnicodeNameTable;
 
 
 static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);
 
-static xmlUnicodeRange xmlUnicodeBlocks[] = {
+static const xmlUnicodeRange xmlUnicodeBlocks[] = {
 """ % (webpage, date, sources));
 
 flag = 0
diff --git a/gentest.py b/gentest.py
index f178620..e4a8932 100755
--- a/gentest.py
+++ b/gentest.py
@@ -782,6 +782,24 @@
 	test.write("        %s = gen_%s(n_%s, %d);\n" % (nam, type, nam, i))
 	i = i + 1;
 
+    # add checks to avoid out-of-bounds array access
+    i = 0;
+    for arg in t_args:
+        (nam, type, rtype, crtype, info) = arg;
+        # assume that "size", "len", and "start" parameters apply to either
+        # the nearest preceding or following char pointer
+        if type == "int" and (nam == "size" or nam == "len" or nam == "start"):
+            for j in range(i - 1, -1, -1) + range(i + 1, len(t_args)):
+                (bnam, btype) = t_args[j][:2]
+                if btype == "const_char_ptr" or btype == "const_xmlChar_ptr":
+                    test.write(
+                        "        if ((%s != NULL) &&\n"
+                        "            (%s > (int) strlen((const char *) %s) + 1))\n"
+                        "            continue;\n"
+                        % (bnam, nam, bnam))
+                    break
+	i = i + 1;
+
     # do the call, and clanup the result
     if extra_pre_call.has_key(name):
 	test.write("        %s\n"% (extra_pre_call[name]))
diff --git a/globals.c b/globals.c
index e351b03..20b4308 100644
--- a/globals.c
+++ b/globals.c
@@ -92,7 +92,7 @@
  *
  * The variable holding the libxml free() implementation
  */
-xmlFreeFunc xmlFree = (xmlFreeFunc) free;
+xmlFreeFunc xmlFree = free;
 /**
  * xmlMalloc:
  * @size:  the size requested in bytes
@@ -101,7 +101,7 @@
  *
  * Returns a pointer to the newly allocated block or NULL in case of error
  */
-xmlMallocFunc xmlMalloc = (xmlMallocFunc) malloc;
+xmlMallocFunc xmlMalloc = malloc;
 /**
  * xmlMallocAtomic:
  * @size:  the size requested in bytes
@@ -112,7 +112,7 @@
  *
  * Returns a pointer to the newly allocated block or NULL in case of error
  */
-xmlMallocFunc xmlMallocAtomic = (xmlMallocFunc) malloc;
+xmlMallocFunc xmlMallocAtomic = malloc;
 /**
  * xmlRealloc:
  * @mem: an already allocated block of memory
@@ -122,7 +122,19 @@
  *
  * Returns a pointer to the newly reallocated block or NULL in case of error
  */
-xmlReallocFunc xmlRealloc = (xmlReallocFunc) realloc;
+xmlReallocFunc xmlRealloc = realloc;
+/**
+ * xmlPosixStrdup
+ * @cur:  the input char *
+ *
+ * a strdup implementation with a type signature matching POSIX
+ *
+ * Returns a new xmlChar * or NULL
+ */
+static char *
+xmlPosixStrdup(const char *cur) {
+    return((char*) xmlCharStrdup(cur));
+}
 /**
  * xmlMemStrdup:
  * @str: a zero terminated string
@@ -131,7 +143,7 @@
  *
  * Returns the copy of the string or NULL in case of error
  */
-xmlStrdupFunc xmlMemStrdup = (xmlStrdupFunc) xmlStrdup;
+xmlStrdupFunc xmlMemStrdup = xmlPosixStrdup;
 #endif /* DEBUG_MEMORY_LOCATION || DEBUG_MEMORY */
 
 #include <libxml/threads.h>
diff --git a/hash.c b/hash.c
index f9a2017..b0b4abc 100644
--- a/hash.c
+++ b/hash.c
@@ -168,7 +168,7 @@
  *
  * Create a new xmlHashTablePtr.
  *
- * Returns the newly created object, or NULL if an error occured.
+ * Returns the newly created object, or NULL if an error occurred.
  */
 xmlHashTablePtr
 xmlHashCreate(int size) {
@@ -202,7 +202,7 @@
  *
  * Create a new xmlHashTablePtr which will use @dict as the internal dictionary
  *
- * Returns the newly created object, or NULL if an error occured.
+ * Returns the newly created object, or NULL if an error occurred.
  */
 xmlHashTablePtr
 xmlHashCreateDict(int size, xmlDictPtr dict) {
@@ -361,6 +361,18 @@
 }
 
 /**
+ * xmlHashDefaultDeallocator:
+ * @entry: the hash table entry
+ * @name: the entry's name
+ *
+ * Free a hash table entry with xmlFree.
+ */
+void
+xmlHashDefaultDeallocator(void *entry, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlFree(entry);
+}
+
+/**
  * xmlHashAddEntry:
  * @table: the hash table
  * @name: the name of the userdata
@@ -912,8 +924,11 @@
 xmlHashScan3(xmlHashTablePtr table, const xmlChar *name,
 	     const xmlChar *name2, const xmlChar *name3,
 	     xmlHashScanner f, void *data) {
-    xmlHashScanFull3 (table, name, name2, name3,
-		      (xmlHashScannerFull) f, data);
+    stubData stubdata;
+    stubdata.data = data;
+    stubdata.hashscanner = f;
+    xmlHashScanFull3(table, name, name2, name3, stubHashScannerFull,
+                     &stubdata);
 }
 
 /**
diff --git a/include/libxml/HTMLparser.h b/include/libxml/HTMLparser.h
index 551186c..1d4fec2 100644
--- a/include/libxml/HTMLparser.h
+++ b/include/libxml/HTMLparser.h
@@ -115,12 +115,12 @@
 XMLPUBFUN int XMLCALL
 			htmlParseDocument(htmlParserCtxtPtr ctxt);
 XMLPUBFUN htmlDocPtr XMLCALL
-			htmlSAXParseDoc	(xmlChar *cur,
+			htmlSAXParseDoc	(const xmlChar *cur,
 					 const char *encoding,
 					 htmlSAXHandlerPtr sax,
 					 void *userData);
 XMLPUBFUN htmlDocPtr XMLCALL
-			htmlParseDoc	(xmlChar *cur,
+			htmlParseDoc	(const xmlChar *cur,
 					 const char *encoding);
 XMLPUBFUN htmlDocPtr XMLCALL
 			htmlSAXParseFile(const char *filename,
diff --git a/include/libxml/encoding.h b/include/libxml/encoding.h
index 7967cc6..c875af6 100644
--- a/include/libxml/encoding.h
+++ b/include/libxml/encoding.h
@@ -129,9 +129,14 @@
  * If iconv is supported, there are two extra fields.
  */
 #ifdef LIBXML_ICU_ENABLED
+/* Size of pivot buffer, same as icu/source/common/ucnv.cpp CHUNK_SIZE */
+#define ICU_PIVOT_BUF_SIZE 1024
 struct _uconv_t {
   UConverter *uconv; /* for conversion between an encoding and UTF-16 */
   UConverter *utf8; /* for conversion between UTF-8 and UTF-16 */
+  UChar      pivot_buf[ICU_PIVOT_BUF_SIZE];
+  UChar      *pivot_source;
+  UChar      *pivot_target;
 };
 typedef struct _uconv_t uconv_t;
 #endif
diff --git a/include/libxml/hash.h b/include/libxml/hash.h
index dc8ab7e..6352874 100644
--- a/include/libxml/hash.h
+++ b/include/libxml/hash.h
@@ -66,7 +66,7 @@
  *
  * Callback to free data from a hash.
  */
-typedef void (*xmlHashDeallocator)(void *payload, xmlChar *name);
+typedef void (*xmlHashDeallocator)(void *payload, const xmlChar *name);
 /**
  * xmlHashCopier:
  * @payload:  the data in the hash
@@ -76,7 +76,7 @@
  *
  * Returns a copy of the data or NULL in case of error.
  */
-typedef void *(*xmlHashCopier)(void *payload, xmlChar *name);
+typedef void *(*xmlHashCopier)(void *payload, const xmlChar *name);
 /**
  * xmlHashScanner:
  * @payload:  the data in the hash
@@ -85,7 +85,7 @@
  *
  * Callback when scanning data in a hash with the simple scanner.
  */
-typedef void (*xmlHashScanner)(void *payload, void *data, xmlChar *name);
+typedef void (*xmlHashScanner)(void *payload, void *data, const xmlChar *name);
 /**
  * xmlHashScannerFull:
  * @payload:  the data in the hash
@@ -111,6 +111,9 @@
 XMLPUBFUN void XMLCALL
 			xmlHashFree	(xmlHashTablePtr table,
 					 xmlHashDeallocator f);
+XMLPUBFUN void XMLCALL
+			xmlHashDefaultDeallocator(void *entry,
+					 const xmlChar *name);
 
 /*
  * Add a new entry to the hash table.
diff --git a/include/libxml/list.h b/include/libxml/list.h
index 0504e0c..3211c75 100644
--- a/include/libxml/list.h
+++ b/include/libxml/list.h
@@ -49,7 +49,7 @@
  *
  * Returns 0 to stop walking the list, 1 otherwise.
  */
-typedef int (*xmlListWalker) (const void *data, const void *user);
+typedef int (*xmlListWalker) (const void *data, void *user);
 
 /* Creation/Deletion */
 XMLPUBFUN xmlListPtr XMLCALL
@@ -110,11 +110,11 @@
 XMLPUBFUN void XMLCALL
 		xmlListWalk		(xmlListPtr l,
 					 xmlListWalker walker,
-					 const void *user);
+					 void *user);
 XMLPUBFUN void XMLCALL
 		xmlListReverseWalk	(xmlListPtr l,
 					 xmlListWalker walker,
-					 const void *user);
+					 void *user);
 XMLPUBFUN void XMLCALL
 		xmlListMerge		(xmlListPtr l1,
 					 xmlListPtr l2);
diff --git a/include/libxml/nanoftp.h b/include/libxml/nanoftp.h
index abb4bf7..7335faf 100644
--- a/include/libxml/nanoftp.h
+++ b/include/libxml/nanoftp.h
@@ -16,7 +16,7 @@
 #ifdef LIBXML_FTP_ENABLED
 
 /* Needed for portability to Windows 64 bits */
-#if defined(__MINGW32__) || defined(_WIN32_WCE)
+#if defined(_WIN32) && !defined(__CYGWIN__)
 #include <winsock2.h>
 #else
 /**
diff --git a/include/libxml/schemasInternals.h b/include/libxml/schemasInternals.h
index c7cf552..6fb7113 100644
--- a/include/libxml/schemasInternals.h
+++ b/include/libxml/schemasInternals.h
@@ -3,7 +3,7 @@
  * Description: internal interfaces for the XML Schemas handling
  *              and schema validity checking
  *		The Schemas development is a Work In Progress.
- *              Some of those interfaces are not garanteed to be API or ABI stable !
+ *              Some of those interfaces are not guaranteed to be API or ABI stable !
  *
  * Copy: See Copyright for the status of this software.
  *
diff --git a/include/libxml/threads.h b/include/libxml/threads.h
index d31f16a..9969ae7 100644
--- a/include/libxml/threads.h
+++ b/include/libxml/threads.h
@@ -72,8 +72,13 @@
 XMLPUBFUN xmlGlobalStatePtr XMLCALL
 			xmlGetGlobalState(void);
 
-#if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL)
-int XMLCALL xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved);
+#ifdef HAVE_PTHREAD_H
+#elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+#if defined(LIBXML_STATIC_FOR_DLL)
+int XMLCALL
+xmlDllMain(void *hinstDLL, unsigned long fdwReason,
+           void *lpvReserved);
+#endif
 #endif
 
 #ifdef __cplusplus
diff --git a/include/libxml/xmlreader.h b/include/libxml/xmlreader.h
index 2c99e3a..e8a8bcc 100644
--- a/include/libxml/xmlreader.h
+++ b/include/libxml/xmlreader.h
@@ -393,7 +393,7 @@
  * @arg: the user argument
  * @msg: the message
  * @severity: the severity of the error
- * @locator: a locator indicating where the error occured
+ * @locator: a locator indicating where the error occurred
  *
  * Signature of an error callback from a reader parser
  */
diff --git a/include/libxml/xmlversion.h b/include/libxml/xmlversion.h
index c8163c6..eb18ea0 100644
--- a/include/libxml/xmlversion.h
+++ b/include/libxml/xmlversion.h
@@ -286,9 +286,14 @@
  * LIBXML_ICU_ENABLED:
  *
  * Whether icu support is available
+ *
+ * This is disabled when libxml2 is built for the VNDK.
+ * libicuuc.so isn't available in the VNDK.
  */
-#if 1
+#ifndef __ANDROID_VNDK__
 #define LIBXML_ICU_ENABLED
+#else
+#undef LIBXML_ICU_ENABLED
 #endif
 
 /**
diff --git a/include/libxml/xmlversion.h.in b/include/libxml/xmlversion.h.in
index b173be9..d10f975 100644
--- a/include/libxml/xmlversion.h.in
+++ b/include/libxml/xmlversion.h.in
@@ -410,9 +410,6 @@
 #endif
 
 #ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include <ansidecl.h>
-#endif
 
 /**
  * ATTRIBUTE_UNUSED:
diff --git a/include/libxml/xmlwin32version.h b/include/libxml/xmlwin32version.h
index 9641241..e0f2b38 100644
--- a/include/libxml/xmlwin32version.h
+++ b/include/libxml/xmlwin32version.h
@@ -214,9 +214,6 @@
  * Macro used to signal to GCC unused function parameters
  */
 #ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include <ansidecl.h>
-#endif
 #ifndef ATTRIBUTE_UNUSED
 #define ATTRIBUTE_UNUSED
 #endif
diff --git a/include/libxml/xmlwin32version.h.in b/include/libxml/xmlwin32version.h.in
index 375f3a4..2176ad1 100644
--- a/include/libxml/xmlwin32version.h.in
+++ b/include/libxml/xmlwin32version.h.in
@@ -243,9 +243,6 @@
 #endif
 
 #ifdef __GNUC__
-#ifdef HAVE_ANSIDECL_H
-#include <ansidecl.h>
-#endif
 
 /**
  * ATTRIBUTE_UNUSED:
diff --git a/include/win32config.h b/include/win32config.h
index 40cf7df..7fc7403 100644
--- a/include/win32config.h
+++ b/include/win32config.h
@@ -10,11 +10,9 @@
 
 #if defined(_WIN32_WCE)
 #undef HAVE_ERRNO_H
-#include <windows.h>
 #include "wincecompat.h"
 #else
 #define HAVE_SYS_STAT_H
-#define HAVE__STAT
 #define HAVE_STAT
 #define HAVE_STDLIB_H
 #define HAVE_TIME_H
@@ -29,10 +27,6 @@
 #define ICONV_CONST const
 #endif
 
-#ifdef NEED_SOCKETS
-#include <wsockcompat.h>
-#endif
-
 /*
  * Windows platforms may define except 
  */
diff --git a/include/wsockcompat.h b/include/wsockcompat.h
index e6a1a99..0484ee3 100644
--- a/include/wsockcompat.h
+++ b/include/wsockcompat.h
@@ -8,7 +8,7 @@
 #ifdef _WIN32_WCE
 #include <winsock.h>
 #else
-#undef HAVE_ERRNO_H
+#include <errno.h>
 #include <winsock2.h>
 
 /* the following is a workaround a problem for 'inline' keyword in said
@@ -27,60 +27,23 @@
 #endif
 #endif
 
-#if defined( __MINGW32__ ) || defined( _MSC_VER )
-/* Include <errno.h> here to ensure that it doesn't get included later
- * (e.g. by iconv.h) and overwrites the definition of EWOULDBLOCK. */
-#include <errno.h>
-#undef EWOULDBLOCK
+#undef XML_SOCKLEN_T
+#define XML_SOCKLEN_T int
+
+#ifndef ECONNRESET
+#define ECONNRESET WSAECONNRESET
 #endif
-
-#if !defined SOCKLEN_T
-#define SOCKLEN_T int
+#ifndef EINPROGRESS
+#define EINPROGRESS WSAEINPROGRESS
 #endif
-
-#define EWOULDBLOCK             WSAEWOULDBLOCK
-#define ESHUTDOWN               WSAESHUTDOWN
-
-#if (!defined(_MSC_VER) || (_MSC_VER < 1600))
-#define EINPROGRESS             WSAEINPROGRESS
-#define EALREADY                WSAEALREADY
-#define ENOTSOCK                WSAENOTSOCK
-#define EDESTADDRREQ            WSAEDESTADDRREQ
-#define EMSGSIZE                WSAEMSGSIZE
-#define EPROTOTYPE              WSAEPROTOTYPE
-#define ENOPROTOOPT             WSAENOPROTOOPT
-#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT
-#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT
-#define EOPNOTSUPP              WSAEOPNOTSUPP
-#define EPFNOSUPPORT            WSAEPFNOSUPPORT
-#define EAFNOSUPPORT            WSAEAFNOSUPPORT
-#define EADDRINUSE              WSAEADDRINUSE
-#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL
-#define ENETDOWN                WSAENETDOWN
-#define ENETUNREACH             WSAENETUNREACH
-#define ENETRESET               WSAENETRESET
-#define ECONNABORTED            WSAECONNABORTED
-#define ECONNRESET              WSAECONNRESET
-#define ENOBUFS                 WSAENOBUFS
-#define EISCONN                 WSAEISCONN
-#define ENOTCONN                WSAENOTCONN
-#define ETOOMANYREFS            WSAETOOMANYREFS
-#define ETIMEDOUT               WSAETIMEDOUT
-#define ECONNREFUSED            WSAECONNREFUSED
-#define ELOOP                   WSAELOOP
-#define EHOSTDOWN               WSAEHOSTDOWN
-#define EHOSTUNREACH            WSAEHOSTUNREACH
-#define EPROCLIM                WSAEPROCLIM
-#define EUSERS                  WSAEUSERS
-#define EDQUOT                  WSAEDQUOT
-#define ESTALE                  WSAESTALE
-#define EREMOTE                 WSAEREMOTE
-/* These cause conflicts with the codes from errno.h. Since they are 
-   not used in the relevant code (nanoftp, nanohttp), we can leave 
-   them disabled.
-#define ENAMETOOLONG            WSAENAMETOOLONG
-#define ENOTEMPTY               WSAENOTEMPTY
-*/
-#endif /* _MSC_VER */
+#ifndef EINTR
+#define EINTR WSAEINTR
+#endif
+#ifndef ESHUTDOWN
+#define ESHUTDOWN WSAESHUTDOWN
+#endif
+#ifndef EWOULDBLOCK
+#define EWOULDBLOCK WSAEWOULDBLOCK
+#endif
 
 #endif /* __XML_WSOCKCOMPAT_H__ */
diff --git a/libxml.h b/libxml.h
index 88e515f..64e30f7 100644
--- a/libxml.h
+++ b/libxml.h
@@ -60,6 +60,18 @@
 #include "trio.h"
 #endif
 
+#if defined(__clang__) || \
+    (defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 406))
+#define XML_IGNORE_PEDANTIC_WARNINGS \
+    _Pragma("GCC diagnostic push") \
+    _Pragma("GCC diagnostic ignored \"-Wpedantic\"")
+#define XML_POP_WARNINGS \
+    _Pragma("GCC diagnostic pop")
+#else
+#define XML_IGNORE_PEDANTIC_WARNINGS
+#define XML_POP_WARNINGS
+#endif
+
 /*
  * Internal variable indicating if a callback has been registered for
  * node creation/destruction. It avoids spending a lot of time in locking
@@ -96,12 +108,12 @@
 #endif
 
 XMLPUBFUN xmlChar * XMLCALL xmlEscapeFormatString(xmlChar **msg);
-int xmlNop(void);
+int xmlInputReadCallbackNop(void *context, char *buffer, int len);
 
 #ifdef IN_LIBXML
 #ifdef __GNUC__
 #ifdef PIC
-#ifdef linux
+#ifdef __linux__
 #if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
 #include "elfgcchack.h"
 #endif
@@ -109,7 +121,7 @@
 #endif
 #endif
 #endif
-#if !defined(PIC) && !defined(NOLIBTOOL)
+#if !defined(PIC) && !defined(NOLIBTOOL) && !defined(LIBXML_STATIC)
 #  define LIBXML_STATIC
 #endif
 #endif /* ! __XML_LIBXML_H__ */
diff --git a/libxml.m4 b/libxml.m4
index 68cd824..2d7a6f5 100644
--- a/libxml.m4
+++ b/libxml.m4
@@ -170,7 +170,7 @@
           echo "*** If you have an old version installed, it is best to remove it, although"
           echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
         [ echo "*** The test program failed to compile or link. See the file config.log for the"
-          echo "*** exact error that occured. This usually means LIBXML was incorrectly installed"
+          echo "*** exact error that occurred. This usually means LIBXML was incorrectly installed"
           echo "*** or that you have moved LIBXML since it was installed. In the latter case, you"
           echo "*** may want to edit the xml2-config script: $XML2_CONFIG" ])
           CPPFLAGS="$ac_save_CPPFLAGS"
diff --git a/libxml.spec.in b/libxml.spec.in
index 9029a18..d5f5ccb 100644
--- a/libxml.spec.in
+++ b/libxml.spec.in
@@ -57,12 +57,15 @@
 Static library for libxml2 provided for specific uses or shaving a few
 microseconds when parsing, do not link to them for generic purpose packages.
 
-%package python
+%package -n python-%{name}
+%{?python_provide:%python_provide python-%{name}}
 Summary: Python bindings for the libxml2 library
 Group: Development/Libraries
 Requires: libxml2 = %{version}-%{release}
+Obsoletes: %{name}-python < %{version}-%{release}
+Provides: %{name}-python = %{version}-%{release}
 
-%description python
+%description -n python-%{name}
 The libxml2-python package contains a Python 2 module that permits applications
 written in the Python programming language, version 2, to use the interface
 supplied by the libxml2 library to manipulate XML files.
@@ -73,12 +76,14 @@
 at parse time or later once the document has been modified.
 
 %if 0%{?with_python3}
-%package python3
+%package -n python3-%{name}
 Summary: Python 3 bindings for the libxml2 library
 Group: Development/Libraries
 Requires: libxml2 = %{version}-%{release}
+Obsoletes: %{name}-python3 < %{version}-%{release}
+Provides: %{name}-python3 = %{version}-%{release}
 
-%description python3
+%description -n python3-%{name}
 The libxml2-python3 package contains a Python 3 module that permits
 applications written in the Python programming language, version 3, to use the
 interface supplied by the libxml2 library to manipulate XML files.
@@ -92,10 +97,16 @@
 %prep
 %setup -q
 
+mkdir py3doc
+cp doc/*.py py3doc
+sed -i 's|#!/usr/bin/python |#!%{__python3} |' py3doc/*.py
+
 %build
 %configure
 make %{_smp_mflags}
 
+find doc -type f -exec chmod 0644 \{\} \;
+
 %install
 rm -fr %{buildroot}
 
@@ -165,7 +176,7 @@
 
 %{_libdir}/*a
 
-%files python
+%files -n python-%{name}
 %defattr(-, root, root)
 
 %{_libdir}/python2*/site-packages/libxml2.py*
@@ -178,18 +189,16 @@
 %doc doc/python.html
 
 %if 0%{?with_python3}
-%files python3
+%files -n python3-%{name}
 %defattr(-, root, root)
 
 %{_libdir}/python3*/site-packages/libxml2.py*
 %{_libdir}/python3*/site-packages/drv_libxml2.py*
-%{_libdir}/python3*/site-packages/__pycache__/libxml2.cpython-34.py*
-%{_libdir}/python3*/site-packages/__pycache__/drv_libxml2.cpython-34.py*
+%{_libdir}/python3*/site-packages/__pycache__/*py*
 %{_libdir}/python3*/site-packages/libxml2mod*
 %doc python/TODO
 %doc python/libxml2class.txt
-%doc python/tests/*.py
-%doc doc/*.py
+%doc py3doc/*.py
 %doc doc/python.html
 %endif # with_python3
 
diff --git a/libxml2.syms b/libxml2.syms
index 370dcf1..9889cb2 100644
--- a/libxml2.syms
+++ b/libxml2.syms
@@ -2279,3 +2279,10 @@
   xmlXPathSetContextNode;
 } LIBXML2_2.9.0;
 
+LIBXML2_2.9.8 {
+    global:
+
+# hash
+  xmlHashDefaultDeallocator;
+} LIBXML2_2.9.1;
+
diff --git a/list.c b/list.c
index d33d928..24da6b1 100644
--- a/list.c
+++ b/list.c
@@ -347,7 +347,7 @@
  *
  * Remove the first instance associated to data in the list
  *
- * Returns 1 if a deallocation occured, or 0 if not found
+ * Returns 1 if a deallocation occurred, or 0 if not found
  */
 int
 xmlListRemoveFirst(xmlListPtr l, void *data)
@@ -372,7 +372,7 @@
  *
  * Remove the last instance associated to data in the list
  *
- * Returns 1 if a deallocation occured, or 0 if not found
+ * Returns 1 if a deallocation occurred, or 0 if not found
  */
 int
 xmlListRemoveLast(xmlListPtr l, void *data)
@@ -673,7 +673,7 @@
  * apply the walker function to it
  */
 void
-xmlListWalk(xmlListPtr l, xmlListWalker walker, const void *user) {
+xmlListWalk(xmlListPtr l, xmlListWalker walker, void *user) {
     xmlLinkPtr lk;
 
     if ((l == NULL) || (walker == NULL))
@@ -694,7 +694,7 @@
  * apply the walker function to it
  */
 void
-xmlListReverseWalk(xmlListPtr l, xmlListWalker walker, const void *user) {
+xmlListReverseWalk(xmlListPtr l, xmlListWalker walker, void *user) {
     xmlLinkPtr lk;
 
     if ((l == NULL) || (walker == NULL))
diff --git a/macos/src/config-mac.h b/macos/src/config-mac.h
index e9a8f9d..ca6f993 100644
--- a/macos/src/config-mac.h
+++ b/macos/src/config-mac.h
@@ -21,27 +21,9 @@
 #define HAVE_PTHREAD_H
 #define LIBXML_THREAD_ENABLED
 
-/* Define if you have the _stat function.  */
-#define HAVE__STAT
-
-/* Define if you have the class function.  */
-#undef HAVE_CLASS
-
-/* Define if you have the finite function.  */
-#undef HAVE_FINITE
-
-/* Define if you have the fp_class function.  */
-#undef HAVE_FP_CLASS
-
-/* Define if you have the fpclass function.  */
-#undef HAVE_FPCLASS
-
 /* Define if you have the fprintf function.  */
 #define HAVE_FPRINTF
 
-/* Define if you have the isnand function.  */
-#undef HAVE_ISNAND
-
 /* Define if you have the localtime function.  */
 #define HAVE_LOCALTIME
 
@@ -63,18 +45,9 @@
 /* Define if you have the stat function.  */
 #define HAVE_STAT
 
-/* Define if you have the strdup function.  */
-#define HAVE_STRDUP
-
-/* Define if you have the strerror function.  */
-#define HAVE_STRERROR
-
 /* Define if you have the strftime function.  */
 #define HAVE_STRFTIME
 
-/* Define if you have the strndup function.  */
-#define HAVE_STRNDUP
-
 /* Define if you have the vfprintf function.  */
 #define HAVE_VFPRINTF
 
@@ -84,9 +57,6 @@
 /* Define if you have the vsprintf function.  */
 #define HAVE_VSPRINTF
 
-/* Define if you have the <ansidecl.h> header file.  */
-#define HAVE_ANSIDECL_H
-
 /* Define if you have the <arpa/inet.h> header file.  */
 #define HAVE_ARPA_INET_H
 
@@ -108,21 +78,12 @@
 /* Define if you have the <float.h> header file.  */
 #define HAVE_FLOAT_H
 
-/* Define if you have the <fp_class.h> header file.  */
-#define HAVE_FP_CLASS_H
-
-/* Define if you have the <ieeefp.h> header file.  */
-#define HAVE_IEEEFP_H
-
 /* Define if you have the <malloc.h> header file.  */
 #undef HAVE_MALLOC_H
 
 /* Define if you have the <math.h> header file.  */
 #define HAVE_MATH_H
 
-/* Define if you have the <nan.h> header file.  */
-#define HAVE_NAN_H
-
 /* Define if you have the <ndir.h> header file.  */
 #define HAVE_NDIR_H
 
@@ -174,9 +135,6 @@
 /* Define if you have the <unistd.h> header file.  */
 #define HAVE_UNISTD_H
 
-/* Define if you have the <zlib.h> header file.  */
-#undef HAVE_ZLIB_H
-
 /* Name of package */
 #define PACKAGE
 
diff --git a/nanoftp.c b/nanoftp.c
index 2135ab9..54fa026 100644
--- a/nanoftp.c
+++ b/nanoftp.c
@@ -12,8 +12,6 @@
 #define HAVE_NETINET_IN_H
 #define HAVE_NETDB_H
 #define HAVE_SYS_TIME_H
-#else /* TESTING */
-#define NEED_SOCKETS
 #endif /* TESTING */
 
 #define IN_LIBXML
@@ -77,14 +75,8 @@
 #endif
 
 
-#if defined(__MINGW32__) || defined(_WIN32_WCE)
-#ifndef _WINSOCKAPI_
-#define _WINSOCKAPI_
-#endif
+#if defined(_WIN32) && !defined(__CYGWIN__)
 #include <wsockcompat.h>
-#include <winsock2.h>
-#undef XML_SOCKLEN_T
-#define XML_SOCKLEN_T unsigned int
 #endif
 
 /**
@@ -511,6 +503,8 @@
     if (ctxt->hostname != NULL) xmlFree(ctxt->hostname);
     if (ctxt->protocol != NULL) xmlFree(ctxt->protocol);
     if (ctxt->path != NULL) xmlFree(ctxt->path);
+    if (ctxt->user != NULL) xmlFree(ctxt->user);
+    if (ctxt->passwd != NULL) xmlFree(ctxt->passwd);
     ctxt->passive = 1;
     if (ctxt->controlFd != INVALID_SOCKET) closesocket(ctxt->controlFd);
     ctxt->controlFd = INVALID_SOCKET;
@@ -907,7 +901,7 @@
 	    __xmlIOErr(XML_FROM_FTP, 0, "getaddrinfo failed");
 	    return (-1);
 	}
-	if (tmp->ai_addrlen > sizeof(ctxt->ftpAddr)) {
+	if ((size_t)tmp->ai_addrlen > sizeof(ctxt->ftpAddr)) {
 	    if (result)
 		freeaddrinfo (result);
 	    __xmlIOErr(XML_FROM_FTP, 0, "gethostbyname address mismatch");
@@ -1042,6 +1036,7 @@
 		case 2:
 		    if (proxyPasswd == NULL)
 			break;
+                    /* Falls through. */
 		case 3:
 		    if (proxyPasswd != NULL)
 			snprintf(buf, sizeof(buf), "PASS %s\r\n", proxyPasswd);
@@ -1111,6 +1106,7 @@
 		    ctxt->controlFd = INVALID_SOCKET;
 		    return(-1);
 		}
+                /* Falls through. */
 	    case 2:
 		/* USER user@host command */
 		if (ctxt->user == NULL)
@@ -1164,6 +1160,7 @@
 		    ctxt->controlFd = INVALID_SOCKET;
 		    return(-1);
 		}
+                /* Falls through. */
 	    case 3:
 		/*
 		 * If you need support for other Proxy authentication scheme
@@ -1212,6 +1209,7 @@
 	case 3:
 	    __xmlIOErr(XML_FROM_FTP, XML_FTP_ACCNT,
 		       "FTP server asking for ACCNT on anonymous\n");
+           /* Falls through. */
 	case 1:
 	case 4:
 	case 5:
diff --git a/nanohttp.c b/nanohttp.c
index e109ad7..2143718 100644
--- a/nanohttp.c
+++ b/nanohttp.c
@@ -11,7 +11,6 @@
  * daniel@veillard.com
  */
 
-#define NEED_SOCKETS
 #define IN_LIBXML
 #include "libxml.h"
 
@@ -64,7 +63,7 @@
 #ifdef HAVE_STRINGS_H
 #include <strings.h>
 #endif
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
 
@@ -74,14 +73,8 @@
 #define XML_SOCKLEN_T unsigned int
 #endif
 
-#if defined(__MINGW32__) || defined(_WIN32_WCE)
-#ifndef _WINSOCKAPI_
-#define _WINSOCKAPI_
-#endif
+#if defined(_WIN32) && !defined(__CYGWIN__)
 #include <wsockcompat.h>
-#include <winsock2.h>
-#undef XML_SOCKLEN_T
-#define XML_SOCKLEN_T unsigned int
 #endif
 
 #include <libxml/globals.h>
@@ -152,7 +145,7 @@
     char *authHeader;	/* contents of {WWW,Proxy}-Authenticate header */
     char *encoding;	/* encoding extracted from the contentType */
     char *mimeType;	/* Mime-Type extracted from the contentType */
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     z_stream *strm;	/* Zlib stream object */
     int usesGzip;	/* "Content-Encoding: gzip" was detected */
 #endif
@@ -182,7 +175,21 @@
  */
 static int socket_errno(void) {
 #ifdef _WINSOCKAPI_
-    return(WSAGetLastError());
+    int err = WSAGetLastError();
+    switch(err) {
+        case WSAECONNRESET:
+            return(ECONNRESET);
+        case WSAEINPROGRESS:
+            return(EINPROGRESS);
+        case WSAEINTR:
+            return(EINTR);
+        case WSAESHUTDOWN:
+            return(ESHUTDOWN);
+        case WSAEWOULDBLOCK:
+            return(EWOULDBLOCK);
+        default:
+            return(err);
+    }
 #else
     return(errno);
 #endif
@@ -427,7 +434,7 @@
     if (ctxt->mimeType != NULL) xmlFree(ctxt->mimeType);
     if (ctxt->location != NULL) xmlFree(ctxt->location);
     if (ctxt->authHeader != NULL) xmlFree(ctxt->authHeader);
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     if (ctxt->strm != NULL) {
 	inflateEnd(ctxt->strm);
 	xmlFree(ctxt->strm);
@@ -629,7 +636,7 @@
 
         if ((select(ctxt->fd + 1, &rfd, NULL, NULL, &tv) < 1)
 #if defined(EINTR)
-            && (errno != EINTR)
+            && (socket_errno() != EINTR)
 #endif
             )
             return (0);
@@ -810,7 +817,7 @@
 	if (ctxt->authHeader != NULL)
 	    xmlFree(ctxt->authHeader);
 	ctxt->authHeader = xmlMemStrdup(cur);
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     } else if ( !xmlStrncasecmp( BAD_CAST line, BAD_CAST"Content-Encoding:", 17) ) {
 	cur += 17;
 	while ((*cur == ' ') || (*cur == '\t')) cur++;
@@ -1038,16 +1045,13 @@
 static SOCKET
 xmlNanoHTTPConnectHost(const char *host, int port)
 {
-    struct hostent *h;
     struct sockaddr *addr = NULL;
-    struct in_addr ia;
     struct sockaddr_in sockin;
 
 #ifdef SUPPORT_IP6
     struct in6_addr ia6;
     struct sockaddr_in6 sockin6;
 #endif
-    int i;
     SOCKET s;
 
     memset (&sockin, 0, sizeof(sockin));
@@ -1084,7 +1088,7 @@
 
 	for (res = result; res; res = res->ai_next) {
 	    if (res->ai_family == AF_INET) {
-		if (res->ai_addrlen > sizeof(sockin)) {
+		if ((size_t)res->ai_addrlen > sizeof(sockin)) {
 		    __xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
 		    freeaddrinfo (result);
 		    return INVALID_SOCKET;
@@ -1094,7 +1098,7 @@
 		addr = (struct sockaddr *)&sockin;
 #ifdef SUPPORT_IP6
 	    } else if (have_ipv6 () && (res->ai_family == AF_INET6)) {
-		if (res->ai_addrlen > sizeof(sockin6)) {
+		if ((size_t)res->ai_addrlen > sizeof(sockin6)) {
 		    __xmlIOErr(XML_FROM_HTTP, 0, "address size mismatch\n");
 		    freeaddrinfo (result);
 		    return INVALID_SOCKET;
@@ -1122,6 +1126,10 @@
 #endif
 #if !defined(HAVE_GETADDRINFO) || !defined(_WIN32)
     {
+        struct hostent *h;
+        struct in_addr ia;
+        int i;
+
 	h = gethostbyname (GETHOSTBYNAME_ARG_CAST host);
 	if (h == NULL) {
 
@@ -1130,7 +1138,7 @@
  * extraction code. it work on Linux, if it work on your platform
  * and one want to enable it, send me the defined(foobar) needed
  */
-#if defined(HAVE_NETDB_H) && defined(HOST_NOT_FOUND) && defined(linux)
+#if defined(HAVE_NETDB_H) && defined(HOST_NOT_FOUND) && defined(__linux__)
 	    const char *h_err_txt = "";
 
 	    switch (h_errno) {
@@ -1265,7 +1273,7 @@
 int
 xmlNanoHTTPRead(void *ctx, void *dest, int len) {
     xmlNanoHTTPCtxtPtr ctxt = (xmlNanoHTTPCtxtPtr) ctx;
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     int bytes_read = 0;
     int orig_avail_in;
     int z_ret;
@@ -1275,7 +1283,7 @@
     if (dest == NULL) return(-1);
     if (len <= 0) return(0);
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     if (ctxt->usesGzip == 1) {
         if (ctxt->strm == NULL) return(0);
 
@@ -1416,16 +1424,16 @@
 	/* 1 for '?' */
 	blen += strlen(ctxt->query) + 1;
     blen += strlen(method) + strlen(ctxt->path) + 24;
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     /* reserve for possible 'Accept-Encoding: gzip' string */
     blen += 23;
 #endif
     if (ctxt->port != 80) {
 	/* reserve space for ':xxxxx', incl. potential proxy */
 	if (proxy)
-	    blen += 12;
+	    blen += 17;
 	else
-	    blen += 6;
+	    blen += 11;
     }
     bp = (char*)xmlMallocAtomic(blen);
     if ( bp == NULL ) {
@@ -1460,7 +1468,7 @@
 		    ctxt->hostname, ctxt->port);
     }
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     p += snprintf(p, blen - (p - bp), "Accept-Encoding: gzip\r\n");
 #endif
 
@@ -1534,7 +1542,8 @@
 	xmlGenericError(xmlGenericErrorContext,
 		"\nRedirect to: %s\n", ctxt->location);
 #endif
-	while ( xmlNanoHTTPRecv(ctxt) > 0 ) ;
+	while ( xmlNanoHTTPRecv(ctxt) > 0 )
+            ;
         if (nbRedirects < XML_NANO_HTTP_MAX_REDIR) {
 	    nbRedirects++;
 	    if (redirURL != NULL)
diff --git a/os400/initscript.sh b/os400/initscript.sh
index cc52e45..42ce54d 100644
--- a/os400/initscript.sh
+++ b/os400/initscript.sh
@@ -50,7 +50,7 @@
 setenv DEBUG            '*ALL'          # Debug level.
 setenv OPTIMIZE         '10'            # Optimisation level.
 setenv OUTPUT           '*NONE'         # Compilation output option.
-setenv TGTRLS           'V5R3M0'        # Target OS release.
+setenv TGTRLS           'V6R1M0'        # Target OS release.
 setenv IFSDIR           '/libxml2'      # Installation IFS directory.
 
 
@@ -217,7 +217,7 @@
         cat "${2}" >> __tmpsrcf.c
         CMD="CRTCMOD MODULE(${TARGETLIB}/${1}) SRCSTMF('__tmpsrcf.c')"
 #       CMD="${CMD} OPTION(*INCDIRFIRST *SHOWINC *SHOWSYS)"
-        CMD="${CMD} OPTION(*INCDIRFIRST)"
+        CMD="${CMD} OPTION(*INCDIRFIRST) FLAG(10)"
         CMD="${CMD} SYSIFCOPT(*IFS64IO) LANGLVL(*EXTENDED) LOCALETYPE(*LOCALE)"
         CMD="${CMD} INCDIR("
         if [  -z "${SYSICONV}" ]
diff --git a/os400/libxmlrpg/schemasInternals.rpgle b/os400/libxmlrpg/schemasInternals.rpgle
index 8d3013e..765ed00 100644
--- a/os400/libxmlrpg/schemasInternals.rpgle
+++ b/os400/libxmlrpg/schemasInternals.rpgle
@@ -2,7 +2,7 @@
       * Description: internal interfaces for the XML Schemas handling
       *              and schema validity checking
       *              The Schemas development is a Work In Progress.
-      *              Some of those interfaces are not garanteed to be API or
+      *              Some of those interfaces are not guaranteed to be API or
       *                ABI stable !
       *
       * Copy: See Copyright for the status of this software.
diff --git a/os400/libxmlrpg/xmlreader.rpgle b/os400/libxmlrpg/xmlreader.rpgle
index 9ec76b3..f9ab207 100644
--- a/os400/libxmlrpg/xmlreader.rpgle
+++ b/os400/libxmlrpg/xmlreader.rpgle
@@ -624,7 +624,7 @@
       * @arg: the user argument
       * @msg: the message
       * @severity: the severity of the error
-      * @locator: a locator indicating where the error occured
+      * @locator: a locator indicating where the error occurred
       *
       * Signature of an error callback from a reader parser
 
diff --git a/os400/libxmlrpg/xmlstring.rpgle b/os400/libxmlrpg/xmlstring.rpgle
index 8980fc0..59a7625 100644
--- a/os400/libxmlrpg/xmlstring.rpgle
+++ b/os400/libxmlrpg/xmlstring.rpgle
@@ -115,7 +115,7 @@
      d                                     like(xmlCint)
      d  buf                            *   value options(*string)               xmlChar *
      d  len                                value like(xmlCint)
-     d  msg                            *   value options(*string)               const xmlChar *
+     d  msg                            *   value options(*string)               const char *
      d  arg1                           *   value options(*string: *nopass)
      d  arg2                           *   value options(*string: *nopass)
      d  arg3                           *   value options(*string: *nopass)
@@ -129,7 +129,7 @@
      d                                     like(xmlCint)
      d  buf                            *   value options(*string)               xmlChar *
      d  len                                value like(xmlCint)
-     d  msg                            *   value options(*string)               const xmlChar *
+     d  msg                            *   value options(*string)               const char *
      d  ap                                 likeds(xmlVaList)
 
      d xmlGetUTF8Char  pr                  extproc('xmlGetUTF8Char')
diff --git a/os400/make-src.sh b/os400/make-src.sh
index 6094de8..4c03c56 100644
--- a/os400/make-src.sh
+++ b/os400/make-src.sh
@@ -17,7 +17,7 @@
 echo '#pragma comment(user, "libxml2 version '"${LIBXML_VERSION}"'")' > os400.c
 echo '#pragma comment(user, __DATE__)' >> os400.c
 echo '#pragma comment(user, __TIME__)' >> os400.c
-echo '#pragma comment(copyright, "Copyright (C) 1998-2015 Daniel Veillard. OS/400 version by P. Monnerat.")' >> os400.c
+echo '#pragma comment(copyright, "Copyright (C) 1998-2017 Daniel Veillard. OS/400 version by P. Monnerat.")' >> os400.c
 make_module     OS400           os400.c
 LINK=                           # No need to rebuild service program yet.
 MODULES=
diff --git a/os400/make.sh b/os400/make.sh
index 95a35a2..860365e 100644
--- a/os400/make.sh
+++ b/os400/make.sh
@@ -34,7 +34,7 @@
 #       Copy some documentation files if needed.
 
 for TEXT in "${TOPDIR}/AUTHORS" "${TOPDIR}/ChangeLog"                   \
-    "${TOPDIR}/Copyright" "${TOPDIR}/HACKING" "${TOPDIR}/README"        \
+    "${TOPDIR}/Copyright" "${TOPDIR}/CONTRIBUTING" "${TOPDIR}/README"        \
     "${TOPDIR}/MAINTAINERS" "${TOPDIR}/NEWS" "${TOPDIR}/TODO"           \
     "${TOPDIR}/TODO_SCHEMAS" "${TOPDIR}/os400/README400"
 do      if [ -f "${TEXT}" ]
diff --git a/os400/os400config.h.in b/os400/os400config.h.in
index 3966ac8..1840c17 100644
--- a/os400/os400config.h.in
+++ b/os400/os400config.h.in
@@ -6,9 +6,6 @@
 ***     Author: Patrick Monnerat <pm@datasphere.ch>, DATASPHERE S.A.
 **/
 
-/* Define to 1 if you have the <ansidecl.h> header file. */
-#undef HAVE_ANSIDECL_H
-
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #define HAVE_ARPA_INET_H        1
 
@@ -18,9 +15,6 @@
 /* Whether struct sockaddr::__ss_family exists */
 #undef HAVE_BROKEN_SS_FAMILY
 
-/* Define to 1 if you have the `class' function. */
-#undef HAVE_CLASS
-
 /* Define to 1 if you have the <ctype.h> header file. */
 #define HAVE_CTYPE_H            1
 
@@ -42,24 +36,12 @@
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H            1
 
-/* Define to 1 if you have the `finite' function. */
-#undef HAVE_FINITE
-
 /* Define to 1 if you have the <float.h> header file. */
 #define HAVE_FLOAT_H            1
 
-/* Define to 1 if you have the `fpclass' function. */
-#undef HAVE_FPCLASS
-
 /* Define to 1 if you have the `fprintf' function. */
 #undef HAVE_FPRINTF                     /* Use trio. */
 
-/* Define to 1 if you have the `fp_class' function. */
-#undef HAVE_FP_CLASS
-
-/* Define to 1 if you have the <fp_class.h> header file. */
-#undef HAVE_FP_CLASS_H
-
 /* Define to 1 if you have the `ftime' function. */
 #undef HAVE_FTIME
 
@@ -69,9 +51,6 @@
 /* Define to 1 if you have the `gettimeofday' function. */
 #undef HAVE_GETTIMEOFDAY
 
-/* Define to 1 if you have the <ieeefp.h> header file. */
-#undef HAVE_IEEEFP_H
-
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H         1
 
@@ -84,15 +63,9 @@
 /* Define if isnan is there */
 #undef HAVE_ISNAN
 
-/* Define to 1 if you have the `isnand' function. */
-#undef HAVE_ISNAND
-
 /* Define if history library is there (-lhistory) */
 #undef HAVE_LIBHISTORY
 
-/* Have compression library */
-#undef HAVE_LIBLZMA
-
 /* Define if pthread library is there (-lpthread) */
 #undef HAVE_LIBPTHREAD
 
@@ -108,9 +81,6 @@
 /* Define to 1 if you have the `localtime' function. */
 #define HAVE_LOCALTIME          1
 
-/* Define to 1 if you have the <lzma.h> header file. */
-#undef HAVE_LZMA_H
-
 /* Define to 1 if you have the <malloc.h> header file. */
 #undef HAVE_MALLOC_H
 
@@ -131,9 +101,6 @@
 #  undef /**/ HAVE_MMAP
 #endif
 
-/* Define to 1 if you have the <nan.h> header file. */
-#undef HAVE_NAN_H
-
 /* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
 #undef HAVE_NDIR_H
 
@@ -206,12 +173,6 @@
 /* Define to 1 if you have the <stdlib.h> header file. */
 #define HAVE_STDLIB_H           1
 
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP             1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR           1
-
 /* Define to 1 if you have the `strftime' function. */
 #define HAVE_STRFTIME           1
 
@@ -221,9 +182,6 @@
 /* Define to 1 if you have the <string.h> header file. */
 #define HAVE_STRING_H           1
 
-/* Define to 1 if you have the `strndup' function. */
-#undef HAVE_STRNDUP
-
 /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
    */
 #undef HAVE_SYS_DIR_H
@@ -274,17 +232,6 @@
 /* Define to 1 if you have the `vsprintf' function. */
 #undef HAVE_VSPRINTF                    /* Use trio. */
 
-/* Define to 1 if you have the <zlib.h> header file. */
-/* Actually dependent on the compilation script. */
-#if @WITH_ZLIB@
-#define HAVE_ZLIB_H             1
-#else
-#undef HAVE_ZLIB_H
-#endif
-
-/* Define to 1 if you have the `_stat' function. */
-#undef HAVE__STAT
-
 /* Whether __va_copy() is available */
 #undef HAVE___VA_COPY
 
@@ -333,9 +280,6 @@
    #define below would cause a syntax error. */
 #undef _UINT32_T
 
-/* Using the Win32 Socket implementation */
-#undef _WINSOCKAPI_
-
 /* ss_family is not defined here, use __ss_family instead */
 #undef ss_family
 
diff --git a/os400/wrappers.c b/os400/wrappers.c
index 9f592b7..06f6c26 100644
--- a/os400/wrappers.c
+++ b/os400/wrappers.c
@@ -110,7 +110,7 @@
 }
 
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 
 gzFile
diff --git a/os400/wrappers.h b/os400/wrappers.h
index 388ec8c..6f3e6c9 100644
--- a/os400/wrappers.h
+++ b/os400/wrappers.h
@@ -43,7 +43,7 @@
 extern char *   _lx_dlerror(void);
 
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 
 #include <zlib.h>
 
diff --git a/parser.c b/parser.c
index 63ae15f..ca9fde2 100644
--- a/parser.c
+++ b/parser.c
@@ -30,10 +30,15 @@
  * daniel@veillard.com
  */
 
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
-#if defined(WIN32) && !defined (__CYGWIN__)
+#if defined(_WIN32) && !defined (__CYGWIN__)
 #define XML_DIR_SEP '\\'
 #else
 #define XML_DIR_SEP '/'
@@ -43,6 +48,7 @@
 #include <limits.h>
 #include <string.h>
 #include <stdarg.h>
+#include <stddef.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/threads.h>
 #include <libxml/globals.h>
@@ -77,12 +83,6 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
-#ifdef HAVE_ZLIB_H
-#include <zlib.h>
-#endif
-#ifdef HAVE_LZMA_H
-#include <lzma.h>
-#endif
 
 #include "buf.h"
 #include "enc.h"
@@ -149,7 +149,7 @@
 	rep = xmlStringDecodeEntities(ctxt, ent->content,
 				  XML_SUBSTITUTE_REF, 0, 0, 0);
         --ctxt->depth;
-	if (ctxt->errNo == XML_ERR_ENTITY_LOOP) {
+	if ((rep == NULL) || (ctxt->errNo == XML_ERR_ENTITY_LOOP)) {
 	    ent->content[0] = 0;
 	}
 
@@ -1087,7 +1087,12 @@
 struct _xmlDefAttrs {
     int nbAttrs;	/* number of defaulted attributes on that element */
     int maxAttrs;       /* the size of the array */
-    const xmlChar *values[5]; /* array of localname/prefix/values/external */
+#if __STDC_VERSION__ >= 199901L
+    /* Using a C99 flexible array member avoids UBSan errors. */
+    const xmlChar *values[]; /* array of localname/prefix/values/external */
+#else
+    const xmlChar *values[5];
+#endif
 };
 
 /**
@@ -1324,7 +1329,7 @@
         return;
 
     xmlHashAddEntry2(ctxt->attsSpecial, fullname, fullattr,
-                     (void *) (long) type);
+                     (void *) (ptrdiff_t) type);
     return;
 
 mem_error:
@@ -1343,7 +1348,7 @@
                             const xmlChar *unused ATTRIBUTE_UNUSED) {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) data;
 
-    if (((long) payload) == XML_ATTRIBUTE_CDATA) {
+    if (((ptrdiff_t) payload) == XML_ATTRIBUTE_CDATA) {
         xmlHashRemoveEntry2(ctxt->attsSpecial, fullname, fullattr, NULL);
     }
 }
@@ -1855,7 +1860,7 @@
     ctxt->name = value;
     ctxt->pushTab[ctxt->nameNr * 3] = (void *) prefix;
     ctxt->pushTab[ctxt->nameNr * 3 + 1] = (void *) URI;
-    ctxt->pushTab[ctxt->nameNr * 3 + 2] = (void *) (long) nsNr;
+    ctxt->pushTab[ctxt->nameNr * 3 + 2] = (void *) (ptrdiff_t) nsNr;
     return (ctxt->nameNr++);
 mem_error:
     xmlErrMemory(ctxt, NULL);
@@ -2037,10 +2042,8 @@
 
 #define SKIP(val) do {							\
     ctxt->nbChars += (val),ctxt->input->cur += (val),ctxt->input->col+=(val);			\
-    if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt);	\
-    if ((*ctxt->input->cur == 0) &&					\
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))		\
-	    xmlPopInput(ctxt);						\
+    if (*ctxt->input->cur == 0)						\
+        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);			\
   } while (0)
 
 #define SKIPL(val) do {							\
@@ -2052,10 +2055,8 @@
 	ctxt->nbChars++;						\
 	ctxt->input->cur++;						\
     }									\
-    if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt);	\
-    if ((*ctxt->input->cur == 0) &&					\
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))		\
-	    xmlPopInput(ctxt);						\
+    if (*ctxt->input->cur == 0)						\
+        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);			\
   } while (0)
 
 #define SHRINK if ((ctxt->progressive == 0) &&				\
@@ -2065,10 +2066,9 @@
 
 static void xmlSHRINK (xmlParserCtxtPtr ctxt) {
     xmlParserInputShrink(ctxt->input);
-    if ((*ctxt->input->cur == 0) &&
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))
-	    xmlPopInput(ctxt);
-  }
+    if (*ctxt->input->cur == 0)
+        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
+}
 
 #define GROW if ((ctxt->progressive == 0) &&				\
 		 (ctxt->input->end - ctxt->input->cur < INPUT_CHUNK))	\
@@ -2080,7 +2080,8 @@
 
     if (((curEnd > (unsigned long) XML_MAX_LOOKUP_LIMIT) ||
          (curBase > (unsigned long) XML_MAX_LOOKUP_LIMIT)) &&
-         ((ctxt->input->buf) && (ctxt->input->buf->readcallback != (xmlInputReadCallback) xmlNop)) &&
+         ((ctxt->input->buf) &&
+          (ctxt->input->buf->readcallback != xmlInputReadCallbackNop)) &&
         ((ctxt->options & XML_PARSE_HUGE) == 0)) {
         xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "Huge input lookup");
         xmlHaltParser(ctxt);
@@ -2093,9 +2094,8 @@
         xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR, "cur index out of bound");
 	return;
     }
-    if ((ctxt->input->cur != NULL) && (*ctxt->input->cur == 0) &&
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))
-	    xmlPopInput(ctxt);
+    if ((ctxt->input->cur != NULL) && (*ctxt->input->cur == 0))
+        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
 }
 
 #define SKIP_BLANKS xmlSkipBlankChars(ctxt)
@@ -2115,7 +2115,6 @@
 	ctxt->input->line++; ctxt->input->col = 1;			\
     } else ctxt->input->col++;						\
     ctxt->input->cur += l;				\
-    if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt);	\
   } while (0)
 
 #define CUR_CHAR(l) xmlCurrentChar(ctxt, &l)
@@ -2165,26 +2164,35 @@
 	}
 	ctxt->input->cur = cur;
     } else {
-	int cur;
-	do {
-	    cur = CUR;
-	    while ((IS_BLANK_CH(cur) && /* CHECKED tstblanks.xml */
-	           (ctxt->instate != XML_PARSER_EOF))) {
+        int expandPE = ((ctxt->external != 0) || (ctxt->inputNr != 1));
+
+	while (1) {
+            if (IS_BLANK_CH(CUR)) { /* CHECKED tstblanks.xml */
 		NEXT;
-		cur = CUR;
-		res++;
-	    }
-	    while ((cur == 0) && (ctxt->inputNr > 1) &&
-		   (ctxt->instate != XML_PARSER_COMMENT)) {
-		xmlPopInput(ctxt);
-		cur = CUR;
-	    }
-	    /*
-	     * Need to handle support of entities branching here
-	     */
-	    if (*ctxt->input->cur == '%') xmlParserHandlePEReference(ctxt);
-	} while ((IS_BLANK(cur)) && /* CHECKED tstblanks.xml */
-	         (ctxt->instate != XML_PARSER_EOF));
+	    } else if (CUR == '%') {
+                /*
+                 * Need to handle support of entities branching here
+                 */
+	        if ((expandPE == 0) || (IS_BLANK_CH(NXT(1))) || (NXT(1) == 0))
+                    break;
+	        xmlParsePEReference(ctxt);
+            } else if (CUR == 0) {
+                if (ctxt->inputNr <= 1)
+                    break;
+                xmlPopInput(ctxt);
+            } else {
+                break;
+            }
+
+            /*
+             * Also increase the counter when entering or exiting a PERef.
+             * The spec says: "When a parameter-entity reference is recognized
+             * in the DTD and included, its replacement text MUST be enlarged
+             * by the attachment of one leading and one following space (#x20)
+             * character."
+             */
+	    res++;
+        }
     }
     return(res);
 }
@@ -2210,10 +2218,13 @@
     if (xmlParserDebugEntities)
 	xmlGenericError(xmlGenericErrorContext,
 		"Popping input %d\n", ctxt->inputNr);
+    if ((ctxt->inputNr > 1) && (ctxt->inSubset == 0) &&
+        (ctxt->instate != XML_PARSER_EOF))
+        xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+                    "Unfinished entity outside the DTD");
     xmlFreeInputStream(inputPop(ctxt));
-    if ((*ctxt->input->cur == 0) &&
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))
-	    return(xmlPopInput(ctxt));
+    if (*ctxt->input->cur == 0)
+        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
     return(CUR);
 }
 
@@ -2239,6 +2250,13 @@
 	xmlGenericError(xmlGenericErrorContext,
 		"Pushing input %d : %.30s\n", ctxt->inputNr+1, input->cur);
     }
+    if (((ctxt->inputNr > 40) && ((ctxt->options & XML_PARSE_HUGE) == 0)) ||
+        (ctxt->inputNr > 1024)) {
+        xmlFatalErr(ctxt, XML_ERR_ENTITY_LOOP, NULL);
+        while (ctxt->inputNr > 1)
+            xmlFreeInputStream(inputPop(ctxt));
+	return(-1);
+    }
     ret = inputPush(ctxt, input);
     if (ctxt->instate == XML_PARSER_EOF)
         return(-1);
@@ -2444,57 +2462,6 @@
 }
 
 /**
- * xmlNewBlanksWrapperInputStream:
- * @ctxt:  an XML parser context
- * @entity:  an Entity pointer
- *
- * Create a new input stream for wrapping
- * blanks around a PEReference
- *
- * Returns the new input stream or NULL
- */
-
-static void deallocblankswrapper (xmlChar *str) {xmlFree(str);}
-
-static xmlParserInputPtr
-xmlNewBlanksWrapperInputStream(xmlParserCtxtPtr ctxt, xmlEntityPtr entity) {
-    xmlParserInputPtr input;
-    xmlChar *buffer;
-    size_t length;
-    if (entity == NULL) {
-	xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
-	            "xmlNewBlanksWrapperInputStream entity\n");
-	return(NULL);
-    }
-    if (xmlParserDebugEntities)
-	xmlGenericError(xmlGenericErrorContext,
-		"new blanks wrapper for entity: %s\n", entity->name);
-    input = xmlNewInputStream(ctxt);
-    if (input == NULL) {
-	return(NULL);
-    }
-    length = xmlStrlen(entity->name) + 5;
-    buffer = xmlMallocAtomic(length);
-    if (buffer == NULL) {
-	xmlErrMemory(ctxt, NULL);
-        xmlFree(input);
-	return(NULL);
-    }
-    buffer [0] = ' ';
-    buffer [1] = '%';
-    buffer [length-3] = ';';
-    buffer [length-2] = ' ';
-    buffer [length-1] = 0;
-    memcpy(buffer + 2, entity->name, length - 5);
-    input->free = deallocblankswrapper;
-    input->base = buffer;
-    input->cur = buffer;
-    input->length = length;
-    input->end = &buffer[length];
-    return(input);
-}
-
-/**
  * xmlParserHandlePEReference:
  * @ctxt:  the parser context
  *
@@ -2528,11 +2495,6 @@
  */
 void
 xmlParserHandlePEReference(xmlParserCtxtPtr ctxt) {
-    const xmlChar *name;
-    xmlEntityPtr entity = NULL;
-    xmlParserInputPtr input;
-
-    if (RAW != '%') return;
     switch(ctxt->instate) {
 	case XML_PARSER_CDATA_SECTION:
 	    return;
@@ -2587,128 +2549,7 @@
             return;
     }
 
-    NEXT;
-    name = xmlParseName(ctxt);
-    if (xmlParserDebugEntities)
-	xmlGenericError(xmlGenericErrorContext,
-		"PEReference: %s\n", name);
-    if (name == NULL) {
-	xmlFatalErr(ctxt, XML_ERR_PEREF_NO_NAME, NULL);
-    } else {
-	if (RAW == ';') {
-	    NEXT;
-	    if ((ctxt->sax != NULL) && (ctxt->sax->getParameterEntity != NULL))
-		entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
-	    if (ctxt->instate == XML_PARSER_EOF)
-	        return;
-	    if (entity == NULL) {
-
-		/*
-		 * [ WFC: Entity Declared ]
-		 * In a document without any DTD, a document with only an
-		 * internal DTD subset which contains no parameter entity
-		 * references, or a document with "standalone='yes'", ...
-		 * ... The declaration of a parameter entity must precede
-		 * any reference to it...
-		 */
-		if ((ctxt->standalone == 1) ||
-		    ((ctxt->hasExternalSubset == 0) &&
-		     (ctxt->hasPErefs == 0))) {
-		    xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
-			 "PEReference: %%%s; not found\n", name);
-	        } else {
-		    /*
-		     * [ VC: Entity Declared ]
-		     * In a document with an external subset or external
-		     * parameter entities with "standalone='no'", ...
-		     * ... The declaration of a parameter entity must precede
-		     * any reference to it...
-		     */
-		    if ((ctxt->validate) && (ctxt->vctxt.error != NULL)) {
-		        xmlValidityError(ctxt, XML_WAR_UNDECLARED_ENTITY,
-			                 "PEReference: %%%s; not found\n",
-				         name, NULL);
-		    } else
-		        xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
-			              "PEReference: %%%s; not found\n",
-				      name, NULL);
-		    ctxt->valid = 0;
-		}
-		xmlParserEntityCheck(ctxt, 0, NULL, 0);
-	    } else if (ctxt->input->free != deallocblankswrapper) {
-		    input = xmlNewBlanksWrapperInputStream(ctxt, entity);
-		    if (xmlPushInput(ctxt, input) < 0)
-		        return;
-	    } else {
-	        if ((entity->etype == XML_INTERNAL_PARAMETER_ENTITY) ||
-		    (entity->etype == XML_EXTERNAL_PARAMETER_ENTITY)) {
-		    xmlChar start[4];
-		    xmlCharEncoding enc;
-
-		    /*
-		     * Note: external parameter entities will not be loaded, it
-		     * is not required for a non-validating parser, unless the
-		     * option of validating, or substituting entities were
-		     * given. Doing so is far more secure as the parser will
-		     * only process data coming from the document entity by
-		     * default.
-		     */
-                    if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
-		        ((ctxt->options & XML_PARSE_NOENT) == 0) &&
-			((ctxt->options & XML_PARSE_DTDVALID) == 0) &&
-			((ctxt->options & XML_PARSE_DTDLOAD) == 0) &&
-			((ctxt->options & XML_PARSE_DTDATTR) == 0) &&
-			(ctxt->replaceEntities == 0) &&
-			(ctxt->validate == 0))
-			return;
-
-		    /*
-		     * handle the extra spaces added before and after
-		     * c.f. http://www.w3.org/TR/REC-xml#as-PE
-		     * this is done independently.
-		     */
-		    input = xmlNewEntityInputStream(ctxt, entity);
-		    if (xmlPushInput(ctxt, input) < 0)
-		        return;
-
-		    /*
-		     * Get the 4 first bytes and decode the charset
-		     * if enc != XML_CHAR_ENCODING_NONE
-		     * plug some encoding conversion routines.
-		     * Note that, since we may have some non-UTF8
-		     * encoding (like UTF16, bug 135229), the 'length'
-		     * is not known, but we can calculate based upon
-		     * the amount of data in the buffer.
-		     */
-		    GROW
-                    if (ctxt->instate == XML_PARSER_EOF)
-                        return;
-		    if ((ctxt->input->end - ctxt->input->cur)>=4) {
-			start[0] = RAW;
-			start[1] = NXT(1);
-			start[2] = NXT(2);
-			start[3] = NXT(3);
-			enc = xmlDetectCharEncoding(start, 4);
-			if (enc != XML_CHAR_ENCODING_NONE) {
-			    xmlSwitchEncoding(ctxt, enc);
-			}
-		    }
-
-		    if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
-			(CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l' )) &&
-			(IS_BLANK_CH(NXT(5)))) {
-			xmlParseTextDecl(ctxt);
-		    }
-		} else {
-		    xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_IS_PARAMETER,
-			     "PEReference: %s is not a parameter entity\n",
-				      name);
-		}
-	    }
-	} else {
-	    xmlFatalErr(ctxt, XML_ERR_PEREF_SEMICOL_MISSING, NULL);
-	}
-    }
+    xmlParsePEReference(ctxt);
 }
 
 /*
@@ -2790,9 +2631,9 @@
 	if (c == 0) break;
         if ((c == '&') && (str[1] == '#')) {
 	    int val = xmlParseStringCharRef(ctxt, &str);
-	    if (val != 0) {
-		COPY_BUF(0,buffer,nbchars,val);
-	    }
+	    if (val == 0)
+                goto int_error;
+	    COPY_BUF(0,buffer,nbchars,val);
 	    if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
 	        growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
 	    }
@@ -2802,9 +2643,6 @@
 			"String decoding Entity Reference: %.30s\n",
 			str);
 	    ent = xmlParseStringEntityRef(ctxt, &str);
-	    if ((ctxt->lastError.code == XML_ERR_ENTITY_LOOP) ||
-	        (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR))
-	        goto int_error;
 	    xmlParserEntityCheck(ctxt, 0, ent, 0);
 	    if (ent != NULL)
 	        ctxt->nbentities += ent->checked / 2;
@@ -2818,30 +2656,27 @@
 		} else {
 		    xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
 			    "predefined entity has no content\n");
+                    goto int_error;
 		}
 	    } else if ((ent != NULL) && (ent->content != NULL)) {
 		ctxt->depth++;
 		rep = xmlStringDecodeEntities(ctxt, ent->content, what,
 			                      0, 0, 0);
 		ctxt->depth--;
+		if (rep == NULL)
+                    goto int_error;
 
-		if ((ctxt->lastError.code == XML_ERR_ENTITY_LOOP) ||
-		    (ctxt->lastError.code == XML_ERR_INTERNAL_ERROR))
-		    goto int_error;
-
-		if (rep != NULL) {
-		    current = rep;
-		    while (*current != 0) { /* non input consuming loop */
-			buffer[nbchars++] = *current++;
-			if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
-			    if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
-				goto int_error;
-			    growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
-			}
-		    }
-		    xmlFree(rep);
-		    rep = NULL;
-		}
+                current = rep;
+                while (*current != 0) { /* non input consuming loop */
+                    buffer[nbchars++] = *current++;
+                    if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+                        if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
+                            goto int_error;
+                        growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
+                    }
+                }
+                xmlFree(rep);
+                rep = NULL;
 	    } else if (ent != NULL) {
 		int i = xmlStrlen(ent->name);
 		const xmlChar *cur = ent->name;
@@ -2859,8 +2694,6 @@
 		xmlGenericError(xmlGenericErrorContext,
 			"String decoding PE Reference: %.30s\n", str);
 	    ent = xmlParseStringPEReference(ctxt, &str);
-	    if (ctxt->lastError.code == XML_ERR_ENTITY_LOOP)
-	        goto int_error;
 	    xmlParserEntityCheck(ctxt, 0, ent, 0);
 	    if (ent != NULL)
 	        ctxt->nbentities += ent->checked / 2;
@@ -2886,19 +2719,19 @@
 		rep = xmlStringDecodeEntities(ctxt, ent->content, what,
 			                      0, 0, 0);
 		ctxt->depth--;
-		if (rep != NULL) {
-		    current = rep;
-		    while (*current != 0) { /* non input consuming loop */
-			buffer[nbchars++] = *current++;
-			if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
-			    if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
-			        goto int_error;
-			    growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
-			}
-		    }
-		    xmlFree(rep);
-		    rep = NULL;
-		}
+		if (rep == NULL)
+                    goto int_error;
+                current = rep;
+                while (*current != 0) { /* non input consuming loop */
+                    buffer[nbchars++] = *current++;
+                    if (nbchars + XML_PARSER_BUFFER_SIZE > buffer_size) {
+                        if (xmlParserEntityCheck(ctxt, nbchars, ent, 0))
+                            goto int_error;
+                        growBuffer(buffer, XML_PARSER_BUFFER_SIZE);
+                    }
+                }
+                xmlFree(rep);
+                rep = NULL;
 	    }
 	} else {
 	    COPY_BUF(l,buffer,nbchars,c);
@@ -3406,13 +3239,6 @@
 	    len += l;
 	    NEXTL(l);
 	    c = CUR_CHAR(l);
-	    if (c == 0) {
-		count = 0;
-		GROW;
-                if (ctxt->instate == XML_PARSER_EOF)
-                    return(NULL);
-		c = CUR_CHAR(l);
-	    }
 	}
     }
     if ((len > XML_MAX_NAME_LENGTH) &&
@@ -3420,15 +3246,18 @@
         xmlFatalErr(ctxt, XML_ERR_NAME_TOO_LONG, "Name");
         return(NULL);
     }
-    if (ctxt->input->cur > ctxt->input->base && (*ctxt->input->cur == '\n') && (ctxt->input->cur[-1] == '\r')) {
-        if (ctxt->input->base > ctxt->input->cur - (len + 1)) {
-            return(NULL);
-        }
+    if (ctxt->input->cur - ctxt->input->base < len) {
+        /*
+         * There were a couple of bugs where PERefs lead to to a change
+         * of the buffer. Check the buffer size to avoid passing an invalid
+         * pointer to xmlDictLookup.
+         */
+        xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+                    "unexpected change of input buffer");
+        return (NULL);
+    }
+    if ((*ctxt->input->cur == '\n') && (ctxt->input->cur[-1] == '\r'))
         return(xmlDictLookup(ctxt->dict, ctxt->input->cur - (len + 1), len));
-    }
-    if (ctxt->input->base > ctxt->input->cur - len) {
-        return(NULL);
-    }
     return(xmlDictLookup(ctxt->dict, ctxt->input->cur - len, len));
 }
 
@@ -3541,9 +3370,9 @@
 	     */
 	    ctxt->input->cur -= l;
 	    GROW;
-	    ctxt->input->cur += l;
             if (ctxt->instate == XML_PARSER_EOF)
                 return(NULL);
+	    ctxt->input->cur += l;
 	    c = CUR_CHAR(l);
 	}
     }
@@ -3899,10 +3728,8 @@
     ctxt->instate = XML_PARSER_ENTITY_VALUE;
     input = ctxt->input;
     GROW;
-    if (ctxt->instate == XML_PARSER_EOF) {
-        xmlFree(buf);
-        return(NULL);
-    }
+    if (ctxt->instate == XML_PARSER_EOF)
+        goto error;
     NEXT;
     c = CUR_CHAR(l);
     /*
@@ -3923,18 +3750,12 @@
 	    tmp = (xmlChar *) xmlRealloc(buf, size * sizeof(xmlChar));
 	    if (tmp == NULL) {
 		xmlErrMemory(ctxt, NULL);
-		xmlFree(buf);
-		return(NULL);
+                goto error;
 	    }
 	    buf = tmp;
 	}
 	COPY_BUF(l,buf,len,c);
 	NEXTL(l);
-	/*
-	 * Pop-up of finished entities.
-	 */
-	while ((RAW == 0) && (ctxt->inputNr > 1)) /* non input consuming */
-	    xmlPopInput(ctxt);
 
 	GROW;
 	c = CUR_CHAR(l);
@@ -3944,10 +3765,13 @@
 	}
     }
     buf[len] = 0;
-    if (ctxt->instate == XML_PARSER_EOF) {
-        xmlFree(buf);
-        return(NULL);
+    if (ctxt->instate == XML_PARSER_EOF)
+        goto error;
+    if (c != stop) {
+        xmlFatalErr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, NULL);
+        goto error;
     }
+    NEXT;
 
     /*
      * Raise problem w.r.t. '&' and '%' being used in non-entities
@@ -3959,20 +3783,25 @@
 	if ((*cur == '%') || ((*cur == '&') && (cur[1] != '#'))) {
 	    xmlChar *name;
 	    xmlChar tmp = *cur;
+            int nameOk = 0;
 
 	    cur++;
 	    name = xmlParseStringName(ctxt, &cur);
-            if ((name == NULL) || (*cur != ';')) {
+            if (name != NULL) {
+                nameOk = 1;
+                xmlFree(name);
+            }
+            if ((nameOk == 0) || (*cur != ';')) {
 		xmlFatalErrMsgInt(ctxt, XML_ERR_ENTITY_CHAR_ERROR,
 	    "EntityValue: '%c' forbidden except for entities references\n",
 	                          tmp);
+                goto error;
 	    }
 	    if ((tmp == '%') && (ctxt->inSubset == 1) &&
 		(ctxt->inputNr == 1)) {
 		xmlFatalErr(ctxt, XML_ERR_ENTITY_PE_INTERNAL, NULL);
+                goto error;
 	    }
-	    if (name != NULL)
-		xmlFree(name);
 	    if (*cur == 0)
 	        break;
 	}
@@ -3981,28 +3810,24 @@
 
     /*
      * Then PEReference entities are substituted.
+     *
+     * NOTE: 4.4.7 Bypassed
+     * When a general entity reference appears in the EntityValue in
+     * an entity declaration, it is bypassed and left as is.
+     * so XML_SUBSTITUTE_REF is not set here.
      */
-    if (c != stop) {
-	xmlFatalErr(ctxt, XML_ERR_ENTITY_NOT_FINISHED, NULL);
-	xmlFree(buf);
-    } else {
-	NEXT;
-	/*
-	 * NOTE: 4.4.7 Bypassed
-	 * When a general entity reference appears in the EntityValue in
-	 * an entity declaration, it is bypassed and left as is.
-	 * so XML_SUBSTITUTE_REF is not set here.
-	 */
-        ++ctxt->depth;
-	ret = xmlStringDecodeEntities(ctxt, buf, XML_SUBSTITUTE_PEREF,
-				      0, 0, 0);
-        --ctxt->depth;
-	if (orig != NULL)
-	    *orig = buf;
-	else
-	    xmlFree(buf);
+    ++ctxt->depth;
+    ret = xmlStringDecodeEntities(ctxt, buf, XML_SUBSTITUTE_PEREF,
+                                  0, 0, 0);
+    --ctxt->depth;
+    if (orig != NULL) {
+        *orig = buf;
+        buf = NULL;
     }
 
+error:
+    if (buf != NULL)
+        xmlFree(buf);
     return(ret);
 }
 
@@ -4172,7 +3997,9 @@
 			        ent->checked |= 1;
 			    xmlFree(rep);
 			    rep = NULL;
-			}
+			} else {
+                            ent->content[0] = 0;
+                        }
 		    }
 
 		    /*
@@ -4596,7 +4423,7 @@
 	    if (*in == ']') {
 		if ((in[1] == ']') && (in[2] == '>')) {
 		    xmlFatalErr(ctxt, XML_ERR_MISPLACED_CDATA_END, NULL);
-		    ctxt->input->cur = in;
+		    ctxt->input->cur = in + 1;
 		    return;
 		}
 		in++;
@@ -4789,22 +4616,20 @@
     *publicID = NULL;
     if (CMP6(CUR_PTR, 'S', 'Y', 'S', 'T', 'E', 'M')) {
         SKIP(6);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 	                   "Space required after 'SYSTEM'\n");
 	}
-        SKIP_BLANKS;
 	URI = xmlParseSystemLiteral(ctxt);
 	if (URI == NULL) {
 	    xmlFatalErr(ctxt, XML_ERR_URI_REQUIRED, NULL);
         }
     } else if (CMP6(CUR_PTR, 'P', 'U', 'B', 'L', 'I', 'C')) {
         SKIP(6);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		    "Space required after 'PUBLIC'\n");
 	}
-        SKIP_BLANKS;
 	*publicID = xmlParsePubidLiteral(ctxt);
 	if (*publicID == NULL) {
 	    xmlFatalErr(ctxt, XML_ERR_PUBID_REQUIRED, NULL);
@@ -4813,26 +4638,20 @@
 	    /*
 	     * We don't handle [83] so "S SystemLiteral" is required.
 	     */
-	    if (!IS_BLANK_CH(CUR)) {
+	    if (SKIP_BLANKS == 0) {
 		xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			"Space required after the Public Identifier\n");
 	    }
 	} else {
 	    /*
 	     * We handle [83] so we return immediately, if
-	     * "S SystemLiteral" is not detected. From a purely parsing
-	     * point of view that's a nice mess.
+	     * "S SystemLiteral" is not detected. We skip blanks if no
+             * system literal was found, but this is harmless since we must
+             * be at the end of a NotationDecl.
 	     */
-	    const xmlChar *ptr;
-	    GROW;
-
-	    ptr = CUR_PTR;
-	    if (!IS_BLANK_CH(*ptr)) return(NULL);
-
-	    while (IS_BLANK_CH(*ptr)) ptr++; /* TODO: dangerous, fix ! */
-	    if ((*ptr != '\'') && (*ptr != '"')) return(NULL);
+	    if (SKIP_BLANKS == 0) return(NULL);
+	    if ((CUR != '\'') && (CUR != '"')) return(NULL);
 	}
-        SKIP_BLANKS;
 	URI = xmlParseSystemLiteral(ctxt);
 	if (URI == NULL) {
 	    xmlFatalErr(ctxt, XML_ERR_URI_REQUIRED, NULL);
@@ -4962,7 +4781,8 @@
     } else {
 	if (inputid != ctxt->input->id) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
-		"Comment doesn't start and stop in the same entity\n");
+		           "Comment doesn't start and stop in the same"
+                           " entity\n");
 	}
         NEXT;
 	if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
@@ -5110,7 +4930,8 @@
 	        if (in[2] == '>') {
 		    if (ctxt->input->id != inputid) {
 			xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
-			"comment doesn't start and stop in the same entity\n");
+			               "comment doesn't start and stop in the"
+                                       " same entity\n");
 		    }
 		    SKIP(3);
 		    if ((ctxt->sax != NULL) && (ctxt->sax->comment != NULL) &&
@@ -5278,7 +5099,7 @@
     int count = 0;
 
     if ((RAW == '<') && (NXT(1) == '?')) {
-	xmlParserInputPtr input = ctxt->input;
+	int inputid = ctxt->input->id;
 	state = ctxt->instate;
         ctxt->instate = XML_PARSER_PI;
 	/*
@@ -5294,9 +5115,10 @@
         target = xmlParsePITarget(ctxt);
 	if (target != NULL) {
 	    if ((RAW == '?') && (NXT(1) == '>')) {
-		if (input != ctxt->input) {
+		if (inputid != ctxt->input->id) {
 		    xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
-	    "PI declaration doesn't start and stop in the same entity\n");
+	                           "PI declaration doesn't start and stop in"
+                                   " the same entity\n");
 		}
 		SKIP(2);
 
@@ -5317,12 +5139,10 @@
 		ctxt->instate = state;
 		return;
 	    }
-	    cur = CUR;
-	    if (!IS_BLANK(cur)) {
+	    if (SKIP_BLANKS == 0) {
 		xmlFatalErrMsgStr(ctxt, XML_ERR_SPACE_REQUIRED,
 			  "ParsePI: PI %s space expected\n", target);
 	    }
-            SKIP_BLANKS;
 	    cur = CUR_CHAR(l);
 	    while (IS_CHAR(cur) && /* checked */
 		   ((cur != '?') || (NXT(1) != '>'))) {
@@ -5378,9 +5198,10 @@
 		xmlFatalErrMsgStr(ctxt, XML_ERR_PI_NOT_FINISHED,
 		      "ParsePI: PI %s never end ...\n", target);
 	    } else {
-		if (input != ctxt->input) {
-		    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
-	    "PI declaration doesn't start and stop in the same entity\n");
+		if (inputid != ctxt->input->id) {
+		    xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+	                           "PI declaration doesn't start and stop in"
+                                   " the same entity\n");
 		}
 		SKIP(2);
 
@@ -5436,32 +5257,30 @@
     xmlChar *Systemid;
 
     if (CMP10(CUR_PTR, '<', '!', 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N')) {
-	xmlParserInputPtr input = ctxt->input;
+	int inputid = ctxt->input->id;
 	SHRINK;
 	SKIP(10);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after '<!NOTATION'\n");
 	    return;
 	}
-	SKIP_BLANKS;
 
         name = xmlParseName(ctxt);
 	if (name == NULL) {
 	    xmlFatalErr(ctxt, XML_ERR_NOTATION_NOT_STARTED, NULL);
 	    return;
 	}
-	if (!IS_BLANK_CH(CUR)) {
-	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
-		     "Space required after the NOTATION name'\n");
-	    return;
-	}
 	if (xmlStrchr(name, ':') != NULL) {
 	    xmlNsErr(ctxt, XML_NS_ERR_COLON,
 		     "colons are forbidden from notation names '%s'\n",
 		     name, NULL, NULL);
 	}
-	SKIP_BLANKS;
+	if (SKIP_BLANKS == 0) {
+	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
+		     "Space required after the NOTATION name'\n");
+	    return;
+	}
 
 	/*
 	 * Parse the IDs.
@@ -5470,9 +5289,10 @@
 	SKIP_BLANKS;
 
 	if (RAW == '>') {
-	    if (input != ctxt->input) {
-		xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
-	"Notation declaration doesn't start and stop in the same entity\n");
+	    if (inputid != ctxt->input->id) {
+		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+	                       "Notation declaration doesn't start and stop"
+                               " in the same entity\n");
 	    }
 	    NEXT;
 	    if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
@@ -5516,23 +5336,20 @@
     const xmlChar *ndata = NULL;
     int isParameter = 0;
     xmlChar *orig = NULL;
-    int skipped;
 
     /* GROW; done in the caller */
     if (CMP8(CUR_PTR, '<', '!', 'E', 'N', 'T', 'I', 'T', 'Y')) {
-	xmlParserInputPtr input = ctxt->input;
+	int inputid = ctxt->input->id;
 	SHRINK;
 	SKIP(8);
-	skipped = SKIP_BLANKS;
-	if (skipped == 0) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after '<!ENTITY'\n");
 	}
 
 	if (RAW == '%') {
 	    NEXT;
-	    skipped = SKIP_BLANKS;
-	    if (skipped == 0) {
+	    if (SKIP_BLANKS == 0) {
 		xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			       "Space required after '%%'\n");
 	    }
@@ -5550,8 +5367,7 @@
 		     "colons are forbidden from entities names '%s'\n",
 		     name, NULL, NULL);
 	}
-        skipped = SKIP_BLANKS;
-	if (skipped == 0) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after the entity name\n");
 	}
@@ -5662,18 +5478,16 @@
 			xmlFreeURI(uri);
 		    }
 		}
-		if ((RAW != '>') && (!IS_BLANK_CH(CUR))) {
+		if ((RAW != '>') && (SKIP_BLANKS == 0)) {
 		    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 				   "Space required before 'NDATA'\n");
 		}
-		SKIP_BLANKS;
 		if (CMP5(CUR_PTR, 'N', 'D', 'A', 'T', 'A')) {
 		    SKIP(5);
-		    if (!IS_BLANK_CH(CUR)) {
+		    if (SKIP_BLANKS == 0) {
 			xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 				       "Space required after 'NDATA'\n");
 		    }
-		    SKIP_BLANKS;
 		    ndata = xmlParseName(ctxt);
 		    if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
 		        (ctxt->sax->unparsedEntityDecl != NULL))
@@ -5712,16 +5526,17 @@
 	    }
 	}
 	if (ctxt->instate == XML_PARSER_EOF)
-	    return;
+	    goto done;
 	SKIP_BLANKS;
 	if (RAW != '>') {
 	    xmlFatalErrMsgStr(ctxt, XML_ERR_ENTITY_NOT_FINISHED,
 	            "xmlParseEntityDecl: entity %s not terminated\n", name);
 	    xmlHaltParser(ctxt);
 	} else {
-	    if (input != ctxt->input) {
+	    if (inputid != ctxt->input->id) {
 		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
-	"Entity declaration doesn't start and stop in the same entity\n");
+	                       "Entity declaration doesn't start and stop in"
+                               " the same entity\n");
 	    }
 	    NEXT;
 	}
@@ -5743,17 +5558,17 @@
 		    cur = xmlSAX2GetEntity(ctxt, name);
 		}
 	    }
-            if (cur != NULL) {
-	        if (cur->orig != NULL)
-		    xmlFree(orig);
-		else
-		    cur->orig = orig;
-	    } else
-		xmlFree(orig);
+            if ((cur != NULL) && (cur->orig == NULL)) {
+		cur->orig = orig;
+                orig = NULL;
+	    }
 	}
+
+done:
 	if (value != NULL) xmlFree(value);
 	if (URI != NULL) xmlFree(URI);
 	if (literal != NULL) xmlFree(literal);
+        if (orig != NULL) xmlFree(orig);
     }
 }
 
@@ -5804,11 +5619,10 @@
     if (CMP6(CUR_PTR, '#', 'F', 'I', 'X', 'E', 'D')) {
 	SKIP(6);
 	val = XML_ATTRIBUTE_FIXED;
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after '#FIXED'\n");
 	}
-	SKIP_BLANKS;
     }
     ret = xmlParseAttValue(ctxt);
     ctxt->instate = XML_PARSER_DTD;
@@ -5980,12 +5794,11 @@
 xmlParseEnumeratedType(xmlParserCtxtPtr ctxt, xmlEnumerationPtr *tree) {
     if (CMP8(CUR_PTR, 'N', 'O', 'T', 'A', 'T', 'I', 'O', 'N')) {
 	SKIP(8);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after 'NOTATION'\n");
 	    return(0);
 	}
-        SKIP_BLANKS;
 	*tree = xmlParseNotationType(ctxt);
 	if (*tree == NULL) return(0);
 	return(XML_ATTRIBUTE_NOTATION);
@@ -6089,14 +5902,13 @@
     xmlEnumerationPtr tree;
 
     if (CMP9(CUR_PTR, '<', '!', 'A', 'T', 'T', 'L', 'I', 'S', 'T')) {
-	xmlParserInputPtr input = ctxt->input;
+	int inputid = ctxt->input->id;
 
 	SKIP(9);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		                 "Space required after '<!ATTLIST'\n");
 	}
-        SKIP_BLANKS;
         elemName = xmlParseName(ctxt);
 	if (elemName == NULL) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
@@ -6106,7 +5918,6 @@
 	SKIP_BLANKS;
 	GROW;
 	while ((RAW != '>') && (ctxt->instate != XML_PARSER_EOF)) {
-	    const xmlChar *check = CUR_PTR;
 	    int type;
 	    int def;
 	    xmlChar *defaultValue = NULL;
@@ -6120,12 +5931,11 @@
 		break;
 	    }
 	    GROW;
-	    if (!IS_BLANK_CH(CUR)) {
+	    if (SKIP_BLANKS == 0) {
 		xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		        "Space required after the attribute name\n");
 		break;
 	    }
-	    SKIP_BLANKS;
 
 	    type = xmlParseAttributeType(ctxt, &tree);
 	    if (type <= 0) {
@@ -6133,14 +5943,13 @@
 	    }
 
 	    GROW;
-	    if (!IS_BLANK_CH(CUR)) {
+	    if (SKIP_BLANKS == 0) {
 		xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			       "Space required after the attribute type\n");
 	        if (tree != NULL)
 		    xmlFreeEnumeration(tree);
 		break;
 	    }
-	    SKIP_BLANKS;
 
 	    def = xmlParseDefaultDecl(ctxt, &defaultValue);
 	    if (def <= 0) {
@@ -6155,7 +5964,7 @@
 
 	    GROW;
             if (RAW != '>') {
-		if (!IS_BLANK_CH(CUR)) {
+		if (SKIP_BLANKS == 0) {
 		    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			"Space required after the attribute default value\n");
 		    if (defaultValue != NULL)
@@ -6164,16 +5973,6 @@
 			xmlFreeEnumeration(tree);
 		    break;
 		}
-		SKIP_BLANKS;
-	    }
-	    if (check == CUR_PTR) {
-		xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
-		            "in xmlParseAttributeListDecl\n");
-		if (defaultValue != NULL)
-		    xmlFree(defaultValue);
-	        if (tree != NULL)
-		    xmlFreeEnumeration(tree);
-		break;
 	    }
 	    if ((ctxt->sax != NULL) && (!ctxt->disableSAX) &&
 		(ctxt->sax->attributeDecl != NULL))
@@ -6195,10 +5994,10 @@
 	    GROW;
 	}
 	if (RAW == '>') {
-	    if (input != ctxt->input) {
-		xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-    "Attribute list declaration doesn't start and stop in the same entity\n",
-                                 NULL, NULL);
+	    if (inputid != ctxt->input->id) {
+		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+                               "Attribute list declaration doesn't start and"
+                               " stop in the same entity\n");
 	    }
 	    NEXT;
 	}
@@ -6235,10 +6034,10 @@
 	SKIP_BLANKS;
 	SHRINK;
 	if (RAW == ')') {
-	    if ((ctxt->validate) && (ctxt->input->id != inputchk)) {
-		xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-"Element content declaration doesn't start and stop in the same entity\n",
-                                 NULL, NULL);
+	    if (ctxt->input->id != inputchk) {
+		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+                               "Element content declaration doesn't start and"
+                               " stop in the same entity\n");
 	    }
 	    NEXT;
 	    ret = xmlNewDocElementContent(ctxt->myDoc, NULL, XML_ELEMENT_CONTENT_PCDATA);
@@ -6279,7 +6078,7 @@
 	    if (elem == NULL) {
 		xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
 			"xmlParseElementMixedContentDecl : Name expected\n");
-		xmlFreeDocElementContent(ctxt->myDoc, cur);
+		xmlFreeDocElementContent(ctxt->myDoc, ret);
 		return(NULL);
 	    }
 	    SKIP_BLANKS;
@@ -6294,10 +6093,10 @@
             }
             if (ret != NULL)
                 ret->ocur = XML_ELEMENT_CONTENT_MULT;
-	    if ((ctxt->validate) && (ctxt->input->id != inputchk)) {
-		xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-"Element content declaration doesn't start and stop in the same entity\n",
-				 NULL, NULL);
+	    if (ctxt->input->id != inputchk) {
+		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+                               "Element content declaration doesn't start and"
+                               " stop in the same entity\n");
 	    }
 	    SKIP(2);
 	} else {
@@ -6537,10 +6336,10 @@
 	if (last != NULL)
 	    last->parent = cur;
     }
-    if ((ctxt->validate) && (ctxt->input->id != inputchk)) {
-	xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-"Element content declaration doesn't start and stop in the same entity\n",
-			 NULL, NULL);
+    if (ctxt->input->id != inputchk) {
+	xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+                       "Element content declaration doesn't start and stop in"
+                       " the same entity\n");
     }
     NEXT;
     if (RAW == '?') {
@@ -6713,28 +6512,24 @@
 
     /* GROW; done in the caller */
     if (CMP9(CUR_PTR, '<', '!', 'E', 'L', 'E', 'M', 'E', 'N', 'T')) {
-	xmlParserInputPtr input = ctxt->input;
+	int inputid = ctxt->input->id;
 
 	SKIP(9);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		           "Space required after 'ELEMENT'\n");
 	    return(-1);
 	}
-        SKIP_BLANKS;
         name = xmlParseName(ctxt);
 	if (name == NULL) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
 			   "xmlParseElementDecl: no name for Element\n");
 	    return(-1);
 	}
-	while ((RAW == 0) && (ctxt->inputNr > 1))
-	    xmlPopInput(ctxt);
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "Space required after the element name\n");
 	}
-        SKIP_BLANKS;
 	if (CMP5(CUR_PTR, 'E', 'M', 'P', 'T', 'Y')) {
 	    SKIP(5);
 	    /*
@@ -6766,12 +6561,6 @@
 	}
 
 	SKIP_BLANKS;
-	/*
-	 * Pop-up of finished entities.
-	 */
-	while ((RAW == 0) && (ctxt->inputNr > 1))
-	    xmlPopInput(ctxt);
-	SKIP_BLANKS;
 
 	if (RAW != '>') {
 	    xmlFatalErr(ctxt, XML_ERR_GT_REQUIRED, NULL);
@@ -6779,9 +6568,10 @@
 		xmlFreeDocElementContent(ctxt->myDoc, content);
 	    }
 	} else {
-	    if (input != ctxt->input) {
+	    if (inputid != ctxt->input->id) {
 		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
-    "Element declaration doesn't start and stop in the same entity\n");
+                               "Element declaration doesn't start and stop in"
+                               " the same entity\n");
 	    }
 
 	    NEXT;
@@ -6834,9 +6624,9 @@
 	    return;
 	} else {
 	    if (ctxt->input->id != id) {
-		xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-	    "All markup of the conditional section is not in the same entity\n",
-				     NULL, NULL);
+		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+	                       "All markup of the conditional section is not"
+                               " in the same entity\n");
 	    }
 	    NEXT;
 	}
@@ -6849,6 +6639,8 @@
 		    "Entering INCLUDE Conditional Section\n");
 	}
 
+        SKIP_BLANKS;
+        GROW;
 	while (((RAW != 0) && ((RAW != ']') || (NXT(1) != ']') ||
 	        (NXT(2) != '>'))) && (ctxt->instate != XML_PARSER_EOF)) {
 	    const xmlChar *check = CUR_PTR;
@@ -6856,18 +6648,11 @@
 
 	    if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) {
 		xmlParseConditionalSections(ctxt);
-	    } else if (IS_BLANK_CH(CUR)) {
-		NEXT;
-	    } else if (RAW == '%') {
-		xmlParsePEReference(ctxt);
 	    } else
 		xmlParseMarkupDecl(ctxt);
 
-	    /*
-	     * Pop-up of finished entities.
-	     */
-	    while ((RAW == 0) && (ctxt->inputNr > 1))
-		xmlPopInput(ctxt);
+            SKIP_BLANKS;
+            GROW;
 
 	    if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
 		xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
@@ -6897,9 +6682,9 @@
 	    return;
 	} else {
 	    if (ctxt->input->id != id) {
-		xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-	    "All markup of the conditional section is not in the same entity\n",
-				     NULL, NULL);
+		xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+	                       "All markup of the conditional section is not"
+                               " in the same entity\n");
 	    }
 	    NEXT;
 	}
@@ -6961,9 +6746,9 @@
 	xmlFatalErr(ctxt, XML_ERR_CONDSEC_NOT_FINISHED, NULL);
     } else {
 	if (ctxt->input->id != id) {
-	    xmlValidityError(ctxt, XML_ERR_ENTITY_BOUNDARY,
-	"All markup of the conditional section is not in the same entity\n",
-				 NULL, NULL);
+	    xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
+	                   "All markup of the conditional section is not in"
+                           " the same entity\n");
 	}
 	if ((ctxt-> instate != XML_PARSER_EOF) &&
 	    ((ctxt->input->cur + 3) <= ctxt->input->end))
@@ -7031,13 +6816,6 @@
         return;
 
     /*
-     * This is only for internal subset. On external entities,
-     * the replacement is done before parsing stage
-     */
-    if ((ctxt->external == 0) && (ctxt->inputNr == 1))
-	xmlParsePEReference(ctxt);
-
-    /*
      * Conditional sections are allowed from entities included
      * by PE References in the internal subset.
      */
@@ -7074,11 +6852,10 @@
 	return;
     }
 
-    if (!IS_BLANK_CH(CUR)) {
+    if (SKIP_BLANKS == 0) {
 	xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		       "Space needed after '<?xml'\n");
     }
-    SKIP_BLANKS;
 
     /*
      * We may have the VersionInfo here.
@@ -7087,7 +6864,7 @@
     if (version == NULL)
 	version = xmlCharStrdup(XML_DEFAULT_VERSION);
     else {
-	if (!IS_BLANK_CH(CUR)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 		           "Space needed here\n");
 	}
@@ -7178,27 +6955,19 @@
 
     ctxt->instate = XML_PARSER_DTD;
     ctxt->external = 1;
+    SKIP_BLANKS;
     while (((RAW == '<') && (NXT(1) == '?')) ||
            ((RAW == '<') && (NXT(1) == '!')) ||
-	   (RAW == '%') || IS_BLANK_CH(CUR)) {
+	   (RAW == '%')) {
 	const xmlChar *check = CUR_PTR;
 	unsigned int cons = ctxt->input->consumed;
 
 	GROW;
         if ((RAW == '<') && (NXT(1) == '!') && (NXT(2) == '[')) {
 	    xmlParseConditionalSections(ctxt);
-	} else if (IS_BLANK_CH(CUR)) {
-	    NEXT;
-	} else if (RAW == '%') {
-            xmlParsePEReference(ctxt);
 	} else
 	    xmlParseMarkupDecl(ctxt);
-
-	/*
-	 * Pop-up of finished entities.
-	 */
-	while ((RAW == 0) && (ctxt->inputNr > 1))
-	    xmlPopInput(ctxt);
+        SKIP_BLANKS;
 
 	if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
 	    xmlFatalErr(ctxt, XML_ERR_EXT_SUBSET_NOT_FINISHED, NULL);
@@ -7420,6 +7189,8 @@
 		   (ret != XML_WAR_UNDECLARED_ENTITY)) {
 	    xmlFatalErrMsgStr(ctxt, XML_ERR_UNDECLARED_ENTITY,
 		     "Entity '%s' failed to parse\n", ent->name);
+            if (ent->content != NULL)
+                ent->content[0] = 0;
 	    xmlParserEntityCheck(ctxt, 0, ent, 0);
 	} else if (list != NULL) {
 	    xmlFreeNodeList(list);
@@ -7427,6 +7198,9 @@
 	}
 	if (ent->checked == 0)
 	    ent->checked = 2;
+
+        /* Prevent entity from being parsed and expanded twice (Bug 760367). */
+        was_checked = 0;
     } else if (ent->checked != 1) {
 	ctxt->nbentities += ent->checked / 2;
     }
@@ -8063,12 +7837,14 @@
     NEXT;
     name = xmlParseName(ctxt);
     if (name == NULL) {
-	xmlFatalErrMsg(ctxt, XML_ERR_NAME_REQUIRED,
-		       "xmlParsePEReference: no name\n");
+	xmlFatalErrMsg(ctxt, XML_ERR_PEREF_NO_NAME, "PEReference: no name\n");
 	return;
     }
+    if (xmlParserDebugEntities)
+	xmlGenericError(xmlGenericErrorContext,
+		"PEReference: %s\n", name);
     if (RAW != ';') {
-	xmlFatalErr(ctxt, XML_ERR_ENTITYREF_SEMICOL_MISSING, NULL);
+	xmlFatalErr(ctxt, XML_ERR_PEREF_SEMICOL_MISSING, NULL);
         return;
     }
 
@@ -8110,10 +7886,15 @@
 	     * ... The declaration of a parameter entity must
 	     * precede any reference to it...
 	     */
-	    xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
-			  "PEReference: %%%s; not found\n",
-			  name, NULL);
-	    ctxt->valid = 0;
+            if ((ctxt->validate) && (ctxt->vctxt.error != NULL)) {
+                xmlValidityError(ctxt, XML_WAR_UNDECLARED_ENTITY,
+                                 "PEReference: %%%s; not found\n",
+                                 name, NULL);
+            } else
+                xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
+                              "PEReference: %%%s; not found\n",
+                              name, NULL);
+            ctxt->valid = 0;
 	}
 	xmlParserEntityCheck(ctxt, 0, NULL, 0);
     } else {
@@ -8125,41 +7906,54 @@
 	    xmlWarningMsg(ctxt, XML_WAR_UNDECLARED_ENTITY,
 		  "Internal: %%%s; is not a parameter entity\n",
 			  name, NULL);
-	} else if (ctxt->input->free != deallocblankswrapper) {
-	    input = xmlNewBlanksWrapperInputStream(ctxt, entity);
-	    if (xmlPushInput(ctxt, input) < 0)
-		return;
 	} else {
+            xmlChar start[4];
+            xmlCharEncoding enc;
+
 	    if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
 	        ((ctxt->options & XML_PARSE_NOENT) == 0) &&
-	        ((ctxt->options & XML_PARSE_DTDVALID) == 0) &&
-	        ((ctxt->options & XML_PARSE_DTDLOAD) == 0) &&
-	        ((ctxt->options & XML_PARSE_DTDATTR) == 0) &&
-	        (ctxt->replaceEntities == 0) &&
-	        (ctxt->validate == 0))
-	        return;
-	    /*
-	     * TODO !!!
-	     * handle the extra spaces added before and after
-	     * c.f. http://www.w3.org/TR/REC-xml#as-PE
-	     */
-	    input = xmlNewEntityInputStream(ctxt, entity);
-	    if (xmlPushInput(ctxt, input) < 0)
+		((ctxt->options & XML_PARSE_DTDVALID) == 0) &&
+		((ctxt->options & XML_PARSE_DTDLOAD) == 0) &&
+		((ctxt->options & XML_PARSE_DTDATTR) == 0) &&
+		(ctxt->replaceEntities == 0) &&
+		(ctxt->validate == 0))
 		return;
-	    if ((entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) &&
-		(CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) &&
-		(IS_BLANK_CH(NXT(5)))) {
-		xmlParseTextDecl(ctxt);
-		if (ctxt->errNo ==
-		    XML_ERR_UNSUPPORTED_ENCODING) {
-		    /*
-		     * The XML REC instructs us to stop parsing
-		     * right here
-		     */
-		    xmlHaltParser(ctxt);
-		    return;
-		}
-	    }
+
+	    input = xmlNewEntityInputStream(ctxt, entity);
+	    if (xmlPushInput(ctxt, input) < 0) {
+                xmlFreeInputStream(input);
+		return;
+            }
+
+	    if (entity->etype == XML_EXTERNAL_PARAMETER_ENTITY) {
+                /*
+                 * Get the 4 first bytes and decode the charset
+                 * if enc != XML_CHAR_ENCODING_NONE
+                 * plug some encoding conversion routines.
+                 * Note that, since we may have some non-UTF8
+                 * encoding (like UTF16, bug 135229), the 'length'
+                 * is not known, but we can calculate based upon
+                 * the amount of data in the buffer.
+                 */
+                GROW
+                if (ctxt->instate == XML_PARSER_EOF)
+                    return;
+                if ((ctxt->input->end - ctxt->input->cur)>=4) {
+                    start[0] = RAW;
+                    start[1] = NXT(1);
+                    start[2] = NXT(2);
+                    start[3] = NXT(3);
+                    enc = xmlDetectCharEncoding(start, 4);
+                    if (enc != XML_CHAR_ENCODING_NONE) {
+                        xmlSwitchEncoding(ctxt, enc);
+                    }
+                }
+
+                if ((CMP5(CUR_PTR, '<', '?', 'x', 'm', 'l')) &&
+                    (IS_BLANK_CH(NXT(5)))) {
+                    xmlParseTextDecl(ctxt);
+                }
+            }
 	}
     }
     ctxt->hasPErefs = 1;
@@ -8335,6 +8129,7 @@
 	entity = ctxt->sax->getParameterEntity(ctxt->userData, name);
     if (ctxt->instate == XML_PARSER_EOF) {
 	xmlFree(name);
+	*str = ptr;
 	return(NULL);
     }
     if (entity == NULL) {
@@ -8473,6 +8268,7 @@
      * Is there any DTD definition ?
      */
     if (RAW == '[') {
+        int baseInputNr = ctxt->inputNr;
         ctxt->instate = XML_PARSER_DTD;
         NEXT;
 	/*
@@ -8480,7 +8276,8 @@
 	 * PEReferences.
 	 * Subsequence (markupdecl | PEReference | S)*
 	 */
-	while ((RAW != ']') && (ctxt->instate != XML_PARSER_EOF)) {
+	while (((RAW != ']') || (ctxt->inputNr > baseInputNr)) &&
+               (ctxt->instate != XML_PARSER_EOF)) {
 	    const xmlChar *check = CUR_PTR;
 	    unsigned int cons = ctxt->input->consumed;
 
@@ -8488,16 +8285,13 @@
 	    xmlParseMarkupDecl(ctxt);
 	    xmlParsePEReference(ctxt);
 
-	    /*
-	     * Pop-up of finished entities.
-	     */
-	    while ((RAW == 0) && (ctxt->inputNr > 1))
-		xmlPopInput(ctxt);
-
 	    if ((CUR_PTR == check) && (cons == ctxt->input->consumed)) {
 		xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
 	     "xmlParseInternalSubset: error detected in Markup declaration\n");
-		break;
+                if (ctxt->inputNr > baseInputNr)
+                    xmlPopInput(ctxt);
+                else
+		    break;
 	    }
 	}
 	if (RAW == ']') {
@@ -8575,7 +8369,7 @@
 	ctxt->instate = XML_PARSER_CONTENT;
     } else {
 	xmlFatalErrMsgStr(ctxt, XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
-	       "Specification mandate value for attribute %s\n", name);
+	       "Specification mandates value for attribute %s\n", name);
 	return(NULL);
     }
 
@@ -8732,11 +8526,10 @@
 	GROW
 	if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
 	    break;
-	if (!IS_BLANK_CH(RAW)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "attributes construct error\n");
 	}
-	SKIP_BLANKS;
         if ((cons == ctxt->input->consumed) && (q == CUR_PTR) &&
             (attname == NULL) && (attvalue == NULL)) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_INTERNAL_ERROR,
@@ -9274,8 +9067,8 @@
     if (ctxt->attsSpecial != NULL) {
         int type;
 
-        type = (int) (long) xmlHashQLookup2(ctxt->attsSpecial,
-                                            pref, elem, *prefix, name);
+        type = (int) (ptrdiff_t) xmlHashQLookup2(ctxt->attsSpecial,
+                                                 pref, elem, *prefix, name);
         if (type != 0)
             normalize = 1;
     }
@@ -9308,7 +9101,7 @@
         ctxt->instate = XML_PARSER_CONTENT;
     } else {
         xmlFatalErrMsgStr(ctxt, XML_ERR_ATTRIBUTE_WITHOUT_VALUE,
-                          "Specification mandate value for attribute %s\n",
+                          "Specification mandates value for attribute %s\n",
                           name);
         return (NULL);
     }
@@ -9391,9 +9184,8 @@
     xmlChar *attvalue;
     const xmlChar **atts = ctxt->atts;
     int maxatts = ctxt->maxatts;
-    int nratts, nbatts, nbdef;
-    int i, j, nbNs, attval, oldline, oldcol, inputNr;
-    const xmlChar *base;
+    int nratts, nbatts, nbdef, inputid;
+    int i, j, nbNs, attval;
     unsigned long cur;
     int nsNr = ctxt->nsNr;
 
@@ -9407,13 +9199,9 @@
      *       The Shrinking is only possible once the full set of attribute
      *       callbacks have been done.
      */
-reparse:
     SHRINK;
-    base = ctxt->input->base;
     cur = ctxt->input->cur - ctxt->input->base;
-    inputNr = ctxt->inputNr;
-    oldline = ctxt->input->line;
-    oldcol = ctxt->input->col;
+    inputid = ctxt->input->id;
     nbatts = 0;
     nratts = 0;
     nbdef = 0;
@@ -9437,8 +9225,6 @@
      */
     SKIP_BLANKS;
     GROW;
-    if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
-        goto base_changed;
 
     while (((RAW != '>') &&
 	   ((RAW != '/') || (NXT(1) != '>')) &&
@@ -9449,211 +9235,181 @@
 
 	attname = xmlParseAttribute2(ctxt, prefix, localname,
 	                             &aprefix, &attvalue, &len, &alloc);
-	if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr)) {
-	    if ((attvalue != NULL) && (alloc != 0))
-	        xmlFree(attvalue);
-	    attvalue = NULL;
-	    goto base_changed;
-	}
-        if ((attname != NULL) && (attvalue != NULL)) {
-	    if (len < 0) len = xmlStrlen(attvalue);
-            if ((attname == ctxt->str_xmlns) && (aprefix == NULL)) {
-	        const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len);
-		xmlURIPtr uri;
+        if ((attname == NULL) || (attvalue == NULL))
+            goto next_attr;
+	if (len < 0) len = xmlStrlen(attvalue);
 
-                if (URL == NULL) {
-		    xmlErrMemory(ctxt, "dictionary allocation failure");
-		    if ((attvalue != NULL) && (alloc != 0))
-			xmlFree(attvalue);
-		    return(NULL);
-		}
-                if (*URL != 0) {
-		    uri = xmlParseURI((const char *) URL);
-		    if (uri == NULL) {
-			xmlNsErr(ctxt, XML_WAR_NS_URI,
-			         "xmlns: '%s' is not a valid URI\n",
-					   URL, NULL, NULL);
-		    } else {
-			if (uri->scheme == NULL) {
-			    xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE,
-				      "xmlns: URI %s is not absolute\n",
-				      URL, NULL, NULL);
-			}
-			xmlFreeURI(uri);
-		    }
-		    if (URL == ctxt->str_xml_ns) {
-			if (attname != ctxt->str_xml) {
-			    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-			 "xml namespace URI cannot be the default namespace\n",
-				     NULL, NULL, NULL);
-			}
-			goto skip_default_ns;
-		    }
-		    if ((len == 29) &&
-			(xmlStrEqual(URL,
-				 BAD_CAST "http://www.w3.org/2000/xmlns/"))) {
-			xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-			     "reuse of the xmlns namespace name is forbidden\n",
-				 NULL, NULL, NULL);
-			goto skip_default_ns;
-		    }
-		}
-		/*
-		 * check that it's not a defined namespace
-		 */
-		for (j = 1;j <= nbNs;j++)
-		    if (ctxt->nsTab[ctxt->nsNr - 2 * j] == NULL)
-			break;
-		if (j <= nbNs)
-		    xmlErrAttributeDup(ctxt, NULL, attname);
-		else
-		    if (nsPush(ctxt, NULL, URL) > 0) nbNs++;
-skip_default_ns:
-		if ((attvalue != NULL) && (alloc != 0)) {
-		    xmlFree(attvalue);
-		    attvalue = NULL;
-		}
-		if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
-		    break;
-		if (!IS_BLANK_CH(RAW)) {
-		    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
-				   "attributes construct error\n");
-		    break;
-		}
-		SKIP_BLANKS;
-		if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
-		    goto base_changed;
-		continue;
-	    }
-            if (aprefix == ctxt->str_xmlns) {
-	        const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len);
-		xmlURIPtr uri;
+        if ((attname == ctxt->str_xmlns) && (aprefix == NULL)) {
+            const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len);
+            xmlURIPtr uri;
 
-                if (attname == ctxt->str_xml) {
-		    if (URL != ctxt->str_xml_ns) {
-		        xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-			         "xml namespace prefix mapped to wrong URI\n",
-			         NULL, NULL, NULL);
-		    }
-		    /*
-		     * Do not keep a namespace definition node
-		     */
-		    goto skip_ns;
-		}
+            if (URL == NULL) {
+                xmlErrMemory(ctxt, "dictionary allocation failure");
+                if ((attvalue != NULL) && (alloc != 0))
+                    xmlFree(attvalue);
+                return(NULL);
+            }
+            if (*URL != 0) {
+                uri = xmlParseURI((const char *) URL);
+                if (uri == NULL) {
+                    xmlNsErr(ctxt, XML_WAR_NS_URI,
+                             "xmlns: '%s' is not a valid URI\n",
+                                       URL, NULL, NULL);
+                } else {
+                    if (uri->scheme == NULL) {
+                        xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE,
+                                  "xmlns: URI %s is not absolute\n",
+                                  URL, NULL, NULL);
+                    }
+                    xmlFreeURI(uri);
+                }
                 if (URL == ctxt->str_xml_ns) {
-		    if (attname != ctxt->str_xml) {
-		        xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-			         "xml namespace URI mapped to wrong prefix\n",
-			         NULL, NULL, NULL);
-		    }
-		    goto skip_ns;
-		}
-                if (attname == ctxt->str_xmlns) {
-		    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-			     "redefinition of the xmlns prefix is forbidden\n",
-			     NULL, NULL, NULL);
-		    goto skip_ns;
-		}
-		if ((len == 29) &&
-		    (xmlStrEqual(URL,
-		                 BAD_CAST "http://www.w3.org/2000/xmlns/"))) {
-		    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-			     "reuse of the xmlns namespace name is forbidden\n",
-			     NULL, NULL, NULL);
-		    goto skip_ns;
-		}
-		if ((URL == NULL) || (URL[0] == 0)) {
-		    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
-		             "xmlns:%s: Empty XML namespace is not allowed\n",
-			          attname, NULL, NULL);
-		    goto skip_ns;
-		} else {
-		    uri = xmlParseURI((const char *) URL);
-		    if (uri == NULL) {
-			xmlNsErr(ctxt, XML_WAR_NS_URI,
-			     "xmlns:%s: '%s' is not a valid URI\n",
-					   attname, URL, NULL);
-		    } else {
-			if ((ctxt->pedantic) && (uri->scheme == NULL)) {
-			    xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE,
-				      "xmlns:%s: URI %s is not absolute\n",
-				      attname, URL, NULL);
-			}
-			xmlFreeURI(uri);
-		    }
-		}
+                    if (attname != ctxt->str_xml) {
+                        xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                     "xml namespace URI cannot be the default namespace\n",
+                                 NULL, NULL, NULL);
+                    }
+                    goto next_attr;
+                }
+                if ((len == 29) &&
+                    (xmlStrEqual(URL,
+                             BAD_CAST "http://www.w3.org/2000/xmlns/"))) {
+                    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                         "reuse of the xmlns namespace name is forbidden\n",
+                             NULL, NULL, NULL);
+                    goto next_attr;
+                }
+            }
+            /*
+             * check that it's not a defined namespace
+             */
+            for (j = 1;j <= nbNs;j++)
+                if (ctxt->nsTab[ctxt->nsNr - 2 * j] == NULL)
+                    break;
+            if (j <= nbNs)
+                xmlErrAttributeDup(ctxt, NULL, attname);
+            else
+                if (nsPush(ctxt, NULL, URL) > 0) nbNs++;
 
-		/*
-		 * check that it's not a defined namespace
-		 */
-		for (j = 1;j <= nbNs;j++)
-		    if (ctxt->nsTab[ctxt->nsNr - 2 * j] == attname)
-			break;
-		if (j <= nbNs)
-		    xmlErrAttributeDup(ctxt, aprefix, attname);
-		else
-		    if (nsPush(ctxt, attname, URL) > 0) nbNs++;
-skip_ns:
-		if ((attvalue != NULL) && (alloc != 0)) {
-		    xmlFree(attvalue);
-		    attvalue = NULL;
-		}
-		if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
-		    break;
-		if (!IS_BLANK_CH(RAW)) {
-		    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
-				   "attributes construct error\n");
-		    break;
-		}
-		SKIP_BLANKS;
-		if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
-		    goto base_changed;
-		continue;
-	    }
+        } else if (aprefix == ctxt->str_xmlns) {
+            const xmlChar *URL = xmlDictLookup(ctxt->dict, attvalue, len);
+            xmlURIPtr uri;
 
-	    /*
-	     * Add the pair to atts
-	     */
-	    if ((atts == NULL) || (nbatts + 5 > maxatts)) {
-	        if (xmlCtxtGrowAttrs(ctxt, nbatts + 5) < 0) {
-		    if (attvalue[len] == 0)
-			xmlFree(attvalue);
-		    goto failed;
-		}
-	        maxatts = ctxt->maxatts;
-		atts = ctxt->atts;
-	    }
-	    ctxt->attallocs[nratts++] = alloc;
-	    atts[nbatts++] = attname;
-	    atts[nbatts++] = aprefix;
-	    atts[nbatts++] = NULL; /* the URI will be fetched later */
-	    atts[nbatts++] = attvalue;
-	    attvalue += len;
-	    atts[nbatts++] = attvalue;
-	    /*
-	     * tag if some deallocation is needed
-	     */
-	    if (alloc != 0) attval = 1;
-	} else {
-	    if ((attvalue != NULL) && (attvalue[len] == 0))
-		xmlFree(attvalue);
-	}
+            if (attname == ctxt->str_xml) {
+                if (URL != ctxt->str_xml_ns) {
+                    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                             "xml namespace prefix mapped to wrong URI\n",
+                             NULL, NULL, NULL);
+                }
+                /*
+                 * Do not keep a namespace definition node
+                 */
+                goto next_attr;
+            }
+            if (URL == ctxt->str_xml_ns) {
+                if (attname != ctxt->str_xml) {
+                    xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                             "xml namespace URI mapped to wrong prefix\n",
+                             NULL, NULL, NULL);
+                }
+                goto next_attr;
+            }
+            if (attname == ctxt->str_xmlns) {
+                xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                         "redefinition of the xmlns prefix is forbidden\n",
+                         NULL, NULL, NULL);
+                goto next_attr;
+            }
+            if ((len == 29) &&
+                (xmlStrEqual(URL,
+                             BAD_CAST "http://www.w3.org/2000/xmlns/"))) {
+                xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                         "reuse of the xmlns namespace name is forbidden\n",
+                         NULL, NULL, NULL);
+                goto next_attr;
+            }
+            if ((URL == NULL) || (URL[0] == 0)) {
+                xmlNsErr(ctxt, XML_NS_ERR_XML_NAMESPACE,
+                         "xmlns:%s: Empty XML namespace is not allowed\n",
+                              attname, NULL, NULL);
+                goto next_attr;
+            } else {
+                uri = xmlParseURI((const char *) URL);
+                if (uri == NULL) {
+                    xmlNsErr(ctxt, XML_WAR_NS_URI,
+                         "xmlns:%s: '%s' is not a valid URI\n",
+                                       attname, URL, NULL);
+                } else {
+                    if ((ctxt->pedantic) && (uri->scheme == NULL)) {
+                        xmlNsWarn(ctxt, XML_WAR_NS_URI_RELATIVE,
+                                  "xmlns:%s: URI %s is not absolute\n",
+                                  attname, URL, NULL);
+                    }
+                    xmlFreeURI(uri);
+                }
+            }
 
-failed:
+            /*
+             * check that it's not a defined namespace
+             */
+            for (j = 1;j <= nbNs;j++)
+                if (ctxt->nsTab[ctxt->nsNr - 2 * j] == attname)
+                    break;
+            if (j <= nbNs)
+                xmlErrAttributeDup(ctxt, aprefix, attname);
+            else
+                if (nsPush(ctxt, attname, URL) > 0) nbNs++;
+
+        } else {
+            /*
+             * Add the pair to atts
+             */
+            if ((atts == NULL) || (nbatts + 5 > maxatts)) {
+                if (xmlCtxtGrowAttrs(ctxt, nbatts + 5) < 0) {
+                    goto next_attr;
+                }
+                maxatts = ctxt->maxatts;
+                atts = ctxt->atts;
+            }
+            ctxt->attallocs[nratts++] = alloc;
+            atts[nbatts++] = attname;
+            atts[nbatts++] = aprefix;
+            /*
+             * The namespace URI field is used temporarily to point at the
+             * base of the current input buffer for non-alloced attributes.
+             * When the input buffer is reallocated, all the pointers become
+             * invalid, but they can be reconstructed later.
+             */
+            if (alloc)
+                atts[nbatts++] = NULL;
+            else
+                atts[nbatts++] = ctxt->input->base;
+            atts[nbatts++] = attvalue;
+            attvalue += len;
+            atts[nbatts++] = attvalue;
+            /*
+             * tag if some deallocation is needed
+             */
+            if (alloc != 0) attval = 1;
+            attvalue = NULL; /* moved into atts */
+        }
+
+next_attr:
+        if ((attvalue != NULL) && (alloc != 0)) {
+            xmlFree(attvalue);
+            attvalue = NULL;
+        }
 
 	GROW
         if (ctxt->instate == XML_PARSER_EOF)
             break;
-	if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
-	    goto base_changed;
 	if ((RAW == '>') || (((RAW == '/') && (NXT(1) == '>'))))
 	    break;
-	if (!IS_BLANK_CH(RAW)) {
+	if (SKIP_BLANKS == 0) {
 	    xmlFatalErrMsg(ctxt, XML_ERR_SPACE_REQUIRED,
 			   "attributes construct error\n");
 	    break;
 	}
-	SKIP_BLANKS;
         if ((cons == ctxt->input->consumed) && (q == CUR_PTR) &&
             (attname == NULL) && (attvalue == NULL)) {
 	    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
@@ -9661,8 +9417,27 @@
 	    break;
 	}
         GROW;
-	if ((ctxt->input->base != base) || (inputNr != ctxt->inputNr))
-	    goto base_changed;
+    }
+
+    if (ctxt->input->id != inputid) {
+        xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
+                    "Unexpected change of input\n");
+        localname = NULL;
+        goto done;
+    }
+
+    /* Reconstruct attribute value pointers. */
+    for (i = 0, j = 0; j < nratts; i += 5, j++) {
+        if (atts[i+2] != NULL) {
+            /*
+             * Arithmetic on dangling pointers is technically undefined
+             * behavior, but well...
+             */
+            ptrdiff_t offset = ctxt->input->base - atts[i+2];
+            atts[i+2]  = NULL;    /* Reset repurposed namespace URI */
+            atts[i+3] += offset;  /* value */
+            atts[i+4] += offset;  /* valuend */
+        }
     }
 
     /*
@@ -9809,6 +9584,7 @@
 	                  nsname, 0, NULL, nbatts / 5, nbdef, atts);
     }
 
+done:
     /*
      * Free up attribute allocated strings if needed
      */
@@ -9819,34 +9595,6 @@
     }
 
     return(localname);
-
-base_changed:
-    /*
-     * the attribute strings are valid iif the base didn't changed
-     */
-    if (attval != 0) {
-	for (i = 3,j = 0; j < nratts;i += 5,j++)
-	    if ((ctxt->attallocs[j] != 0) && (atts[i] != NULL))
-	        xmlFree((xmlChar *) atts[i]);
-    }
-
-    /*
-     * We can't switch from one entity to another in the middle
-     * of a start tag
-     */
-    if (inputNr != ctxt->inputNr) {
-        xmlFatalErrMsg(ctxt, XML_ERR_ENTITY_BOUNDARY,
-		    "Start tag doesn't start and stop in the same entity\n");
-	return(NULL);
-    }
-
-    ctxt->input->cur = ctxt->input->base + cur;
-    ctxt->input->line = oldline;
-    ctxt->input->col = oldcol;
-    if (ctxt->wellFormed == 1) {
-	goto reparse;
-    }
-    return(NULL);
 }
 
 /**
@@ -10115,11 +9863,6 @@
 	}
 
 	GROW;
-	/*
-	 * Pop-up of finished entities.
-	 */
-	while ((RAW == 0) && (ctxt->inputNr > 1))
-	    xmlPopInput(ctxt);
 	SHRINK;
 
 	if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) {
@@ -11272,7 +11015,7 @@
  * Check that the block of characters is okay as SCdata content [20]
  *
  * Returns the number of bytes to pass if okay, a negative index where an
- *         UTF-8 error occured otherwise
+ *         UTF-8 error occurred otherwise
  */
 static int
 xmlCheckCdataPush(const xmlChar *utf, int len, int complete) {
@@ -11414,13 +11157,6 @@
 	if ((ctxt->errNo != XML_ERR_OK) && (ctxt->disableSAX == 1))
 	    return(0);
 
-
-	/*
-	 * Pop-up of finished entities.
-	 */
-	while ((RAW == 0) && (ctxt->inputNr > 1))
-	    xmlPopInput(ctxt);
-
 	if (ctxt->input == NULL) break;
 	if (ctxt->input->buf == NULL)
 	    avail = ctxt->input->length -
@@ -11771,11 +11507,6 @@
 		    ctxt->checkIndex = 0;
 		    xmlParseCharData(ctxt, 0);
 		}
-		/*
-		 * Pop-up of finished entities.
-		 */
-		while ((RAW == 0) && (ctxt->inputNr > 1))
-		    xmlPopInput(ctxt);
 		if ((cons == ctxt->input->consumed) && (test == CUR_PTR)) {
 		    xmlFatalErr(ctxt, XML_ERR_INTERNAL_ERROR,
 		                "detected an error in element content\n");
@@ -11798,9 +11529,10 @@
 		}
 		if (ctxt->sax2) {
 		    xmlParseEndTag2(ctxt,
-		           (void *) ctxt->pushTab[ctxt->nameNr * 3 - 3],
-		           (void *) ctxt->pushTab[ctxt->nameNr * 3 - 2], 0,
-		       (int) (long) ctxt->pushTab[ctxt->nameNr * 3 - 1], 0);
+		            (void *) ctxt->pushTab[ctxt->nameNr * 3 - 3],
+		            (void *) ctxt->pushTab[ctxt->nameNr * 3 - 2], 0,
+		            (int) (ptrdiff_t)
+                                ctxt->pushTab[ctxt->nameNr * 3 - 1], 0);
 		    nameNsPop(ctxt);
 		}
 #ifdef LIBXML_SAX1_ENABLED
@@ -12486,6 +12218,7 @@
 		    /* TODO 2.6.0 */
 		    xmlGenericError(xmlGenericErrorContext,
 				    "xmlParseChunk: encoder error\n");
+                    xmlHaltParser(ctxt);
 		    return(XML_ERR_INVALID_ENCODING);
 		}
 		xmlBufSetInputBaseCur(in->buffer, ctxt->input, base, current);
@@ -12718,6 +12451,8 @@
         return;
     ctxt->instate = XML_PARSER_EOF;
     ctxt->disableSAX = 1;
+    while (ctxt->inputNr > 1)
+        xmlFreeInputStream(inputPop(ctxt));
     if (ctxt->input != NULL) {
         /*
 	 * in case there was a specific allocation deallocate before
@@ -12729,6 +12464,7 @@
 	}
 	ctxt->input->cur = BAD_CAST"";
 	ctxt->input->base = ctxt->input->cur;
+        ctxt->input->end = ctxt->input->cur;
     }
 }
 
@@ -13497,7 +13233,7 @@
     /*
      * And record the last error if any
      */
-    if (ctxt->lastError.code != XML_ERR_OK)
+    if ((oldctxt != NULL) && (ctxt->lastError.code != XML_ERR_OK))
         xmlCopyError(&ctxt->lastError, &oldctxt->lastError);
 
     if (sax != NULL)
@@ -13631,6 +13367,7 @@
 	ctxt->userData = ctxt;
     if (ctxt->dict != NULL) xmlDictFree(ctxt->dict);
     ctxt->dict = oldctxt->dict;
+    ctxt->input_id = oldctxt->input_id + 1;
     ctxt->str_xml = xmlDictLookup(ctxt->dict, BAD_CAST "xml", 3);
     ctxt->str_xmlns = xmlDictLookup(ctxt->dict, BAD_CAST "xmlns", 5);
     ctxt->str_xml_ns = xmlDictLookup(ctxt->dict, XML_XML_NAMESPACE, 36);
@@ -13884,6 +13621,7 @@
     xmlDetectSAX2(ctxt);
     ctxt->myDoc = doc;
     /* parsing in context, i.e. as within existing content */
+    ctxt->input_id = 2;
     ctxt->instate = XML_PARSER_CONTENT;
 
     fake = xmlNewComment(NULL);
@@ -14096,6 +13834,7 @@
 	newDoc->oldNs = doc->oldNs;
     }
     ctxt->instate = XML_PARSER_CONTENT;
+    ctxt->input_id = 2;
     ctxt->depth = depth;
 
     /*
@@ -14256,6 +13995,11 @@
     if (pctx != NULL) {
         ctxt->options = pctx->options;
         ctxt->_private = pctx->_private;
+	/*
+	 * this is a subparser of pctx, so the input_id should be
+	 * incremented to distinguish from main entity
+	 */
+	ctxt->input_id = pctx->input_id + 1;
     }
 
     uri = xmlBuildURI(URL, base);
@@ -15137,7 +14881,7 @@
     xmlInitNodeInfoSeq(&ctxt->node_seq);
 
     if (ctxt->attsDefault != NULL) {
-        xmlHashFree(ctxt->attsDefault, (xmlHashDeallocator) xmlFree);
+        xmlHashFree(ctxt->attsDefault, xmlHashDefaultDeallocator);
         ctxt->attsDefault = NULL;
     }
     if (ctxt->attsSpecial != NULL) {
diff --git a/parserInternals.c b/parserInternals.c
index bfc778a..8c0cd57 100644
--- a/parserInternals.c
+++ b/parserInternals.c
@@ -10,7 +10,7 @@
 #define IN_LIBXML
 #include "libxml.h"
 
-#if defined(WIN32) && !defined (__CYGWIN__)
+#if defined(_WIN32) && !defined (__CYGWIN__)
 #define XML_DIR_SEP '\\'
 #else
 #define XML_DIR_SEP '/'
@@ -32,7 +32,7 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
 
@@ -435,8 +435,6 @@
 
     if ((*ctxt->input->cur == 0) &&
         (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0)) {
-        if ((ctxt->instate != XML_PARSER_COMMENT))
-            xmlPopInput(ctxt);
         return;
     }
 
@@ -470,8 +468,8 @@
 
         c = *cur;
         if (c & 0x80) {
-        if (c == 0xC0)
-	    goto encoding_error;
+            if (c == 0xC0)
+	        goto encoding_error;
             if (cur[1] == 0) {
                 xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
                 cur = ctxt->input->cur;
@@ -523,8 +521,6 @@
             ctxt->input->cur++;
 
         ctxt->nbChars++;
-        if (*ctxt->input->cur == 0)
-            xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
     } else {
         /*
          * Assume it's a fixed length encoding (1) with
@@ -538,14 +534,9 @@
             ctxt->input->col++;
         ctxt->input->cur++;
         ctxt->nbChars++;
-        if (*ctxt->input->cur == 0)
-            xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
     }
-    if ((*ctxt->input->cur == '%') && (!ctxt->html))
-        xmlParserHandlePEReference(ctxt);
-    if ((*ctxt->input->cur == 0) &&
-        (xmlParserInputGrow(ctxt->input, INPUT_CHUNK) <= 0))
-        xmlPopInput(ctxt);
+    if (*ctxt->input->cur == 0)
+        xmlParserInputGrow(ctxt->input, INPUT_CHUNK);
     return;
 encoding_error:
     /*
@@ -1101,8 +1092,15 @@
 	        break;
 	}
     }
-    if (handler == NULL)
+    /*
+     * TODO: We could recover from errors in external entites if we
+     * didn't stop the parser. But most callers of this function don't
+     * check the return value.
+     */
+    if (handler == NULL) {
+        xmlStopParser(ctxt);
 	return(-1);
+    }
     ctxt->charset = XML_CHAR_ENCODING_UTF8;
     ret = xmlSwitchToEncodingInt(ctxt, handler, len);
     if ((ret < 0) || (ctxt->errNo == XML_I18N_CONV_FAILED)) {
@@ -1216,7 +1214,7 @@
                 /*
                  * convert as much as possible of the buffer
                  */
-                nbchars = xmlCharEncInput(input->buf, 1);
+                nbchars = xmlCharEncInput(input->buf, 0);
             } else {
                 /*
                  * convert just enough to get
@@ -1226,6 +1224,7 @@
                  */
                 nbchars = xmlCharEncFirstLineInput(input->buf, len);
             }
+            xmlBufResetInput(input->buf->buffer, input);
             if (nbchars < 0) {
                 xmlErrInternal(ctxt,
                                "switching encoding: encoder error\n",
@@ -1233,7 +1232,6 @@
                 return (-1);
             }
 	    input->buf->rawconsumed += use - xmlBufUse(input->buf->raw);
-            xmlBufResetInput(input->buf->buffer, input);
         }
         return (0);
     } else if (input->length == 0) {
@@ -1797,7 +1795,7 @@
     if (ctxt->pushTab != NULL) xmlFree(ctxt->pushTab);
     if (ctxt->attallocs != NULL) xmlFree(ctxt->attallocs);
     if (ctxt->attsDefault != NULL)
-        xmlHashFree(ctxt->attsDefault, (xmlHashDeallocator) xmlFree);
+        xmlHashFree(ctxt->attsDefault, xmlHashDefaultDeallocator);
     if (ctxt->attsSpecial != NULL)
         xmlHashFree(ctxt->attsSpecial, NULL);
     if (ctxt->freeElems != NULL) {
diff --git a/pattern.c b/pattern.c
index 33dee3a..0eb8d81 100644
--- a/pattern.c
+++ b/pattern.c
@@ -969,6 +969,7 @@
 		ERROR5(NULL, NULL, NULL,
 		    "xmlCompileAttributeTest : no namespace bound to prefix %s\n",
 		    prefix);
+	        XML_PAT_FREE_STRING(ctxt, prefix);
 		ctxt->error = 1;
 		goto error;
 	    }
diff --git a/python/setup.py b/python/setup.py
deleted file mode 100755
index 1ac4eac..0000000
--- a/python/setup.py
+++ /dev/null
@@ -1,242 +0,0 @@
-#!/usr/bin/python -u
-#
-# Setup script for libxml2 and libxslt if found
-#
-import sys, os
-from distutils.core import setup, Extension
-
-# Below ROOT, we expect to find include, include/libxml2, lib and bin.
-# On *nix, it is not needed (but should not harm),
-# on Windows, it is set by configure.js.
-ROOT = r'/usr/local'
-
-# Thread-enabled libxml2
-with_threads = 1
-
-# If this flag is set (windows only),
-# a private copy of the dlls are included in the package.
-# If this flag is not set, the libxml2 and libxslt
-# dlls must be found somewhere in the PATH at runtime.
-WITHDLLS = 1 and sys.platform.startswith('win')
-
-def missing(file):
-    if os.access(file, os.R_OK) == 0:
-        return 1
-    return 0
-
-try:
-    HOME = os.environ['HOME']
-except:
-    HOME="C:"
-
-if WITHDLLS:
-    # libxml dlls (expected in ROOT/bin)
-    dlls = [ 'iconv.dll','libxml2.dll','libxslt.dll','libexslt.dll' ]
-    dlls = [os.path.join(ROOT,'bin',dll) for dll in dlls]
-
-    # create __init__.py for the libxmlmods package
-    if not os.path.exists("libxmlmods"):
-        os.mkdir("libxmlmods")
-        open("libxmlmods/__init__.py","w").close()
-
-    def altImport(s):
-        s = s.replace("import libxml2mod","from libxmlmods import libxml2mod")
-        s = s.replace("import libxsltmod","from libxmlmods import libxsltmod")
-        return s
-
-if sys.platform.startswith('win'):
-    libraryPrefix = 'lib'
-    platformLibs = []
-else:
-    libraryPrefix = ''
-    platformLibs = ["m","z"]
-
-# those are examined to find
-# - libxml2/libxml/tree.h
-# - iconv.h
-# - libxslt/xsltconfig.h
-includes_dir = [
-"/usr/include",
-"/usr/local/include",
-"/opt/include",
-os.path.join(ROOT,'include'),
-HOME
-];
-
-xml_includes=""
-for dir in includes_dir:
-    if not missing(dir + "/libxml2/libxml/tree.h"):
-        xml_includes=dir + "/libxml2"
-        break;
-
-if xml_includes == "":
-    print("failed to find headers for libxml2: update includes_dir")
-    sys.exit(1)
-
-iconv_includes=""
-for dir in includes_dir:
-    if not missing(dir + "/iconv.h"):
-        iconv_includes=dir
-        break;
-
-if iconv_includes == "":
-    print("failed to find headers for libiconv: update includes_dir")
-    sys.exit(1)
-
-# those are added in the linker search path for libraries
-libdirs = [
-os.path.join(ROOT,'lib'),
-]
-
-xml_files = ["libxml2-api.xml", "libxml2-python-api.xml",
-             "libxml.c", "libxml.py", "libxml_wrap.h", "types.c",
-             "xmlgenerator.py", "README", "TODO", "drv_libxml2.py"]
-
-xslt_files = ["libxslt-api.xml", "libxslt-python-api.xml",
-             "libxslt.c", "libxsl.py", "libxslt_wrap.h",
-             "xsltgenerator.py"]
-
-if missing("libxml2-py.c") or missing("libxml2.py"):
-    try:
-        try:
-            import xmlgenerator
-        except:
-            import generator
-    except:
-        print("failed to find and generate stubs for libxml2, aborting ...")
-        print(sys.exc_info()[0], sys.exc_info()[1])
-        sys.exit(1)
-
-    head = open("libxml.py", "r")
-    generated = open("libxml2class.py", "r")
-    result = open("libxml2.py", "w")
-    for line in head.readlines():
-        if WITHDLLS:
-            result.write(altImport(line))
-        else:
-            result.write(line)
-    for line in generated.readlines():
-        result.write(line)
-    head.close()
-    generated.close()
-    result.close()
-
-with_xslt=0
-if missing("libxslt-py.c") or missing("libxslt.py"):
-    if missing("xsltgenerator.py") or missing("libxslt-api.xml"):
-        print("libxslt stub generator not found, libxslt not built")
-    else:
-        try:
-            import xsltgenerator
-        except:
-            print("failed to generate stubs for libxslt, aborting ...")
-            print(sys.exc_info()[0], sys.exc_info()[1])
-        else:
-            head = open("libxsl.py", "r")
-            generated = open("libxsltclass.py", "r")
-            result = open("libxslt.py", "w")
-            for line in head.readlines():
-                if WITHDLLS:
-                    result.write(altImport(line))
-                else:
-                    result.write(line)
-            for line in generated.readlines():
-                result.write(line)
-            head.close()
-            generated.close()
-            result.close()
-            with_xslt=1
-else:
-    with_xslt=1
-
-if with_xslt == 1:
-    xslt_includes=""
-    for dir in includes_dir:
-        if not missing(dir + "/libxslt/xsltconfig.h"):
-            xslt_includes=dir + "/libxslt"
-            break;
-
-    if xslt_includes == "":
-        print("failed to find headers for libxslt: update includes_dir")
-        with_xslt = 0
-
-
-descr = "libxml2 package"
-modules = [ 'libxml2', 'drv_libxml2' ]
-if WITHDLLS:
-    modules.append('libxmlmods.__init__')
-c_files = ['libxml2-py.c', 'libxml.c', 'types.c' ]
-includes= [xml_includes, iconv_includes]
-libs    = [libraryPrefix + "xml2"] + platformLibs
-macros  = []
-if with_threads:
-    macros.append(('_REENTRANT','1'))
-if with_xslt == 1:
-    descr = "libxml2 and libxslt package"
-    if not sys.platform.startswith('win'):
-        #
-        # We are gonna build 2 identical shared libs with merge initializing
-        # both libxml2mod and libxsltmod
-        #
-        c_files = c_files + ['libxslt-py.c', 'libxslt.c']
-        xslt_c_files = c_files
-        macros.append(('MERGED_MODULES', '1'))
-    else:
-        #
-        # On windows the MERGED_MODULE option is not needed
-        # (and does not work)
-        #
-        xslt_c_files = ['libxslt-py.c', 'libxslt.c', 'types.c']
-    libs.insert(0, libraryPrefix + 'exslt')
-    libs.insert(0, libraryPrefix + 'xslt')
-    includes.append(xslt_includes)
-    modules.append('libxslt')
-
-
-extens=[Extension('libxml2mod', c_files, include_dirs=includes,
-                  library_dirs=libdirs,
-                  libraries=libs, define_macros=macros)]
-if with_xslt == 1:
-    extens.append(Extension('libxsltmod', xslt_c_files, include_dirs=includes,
-                            library_dirs=libdirs,
-                            libraries=libs, define_macros=macros))
-
-if missing("MANIFEST"):
-
-    manifest = open("MANIFEST", "w")
-    manifest.write("setup.py\n")
-    for file in xml_files:
-        manifest.write(file + "\n")
-    if with_xslt == 1:
-        for file in xslt_files:
-            manifest.write(file + "\n")
-    manifest.close()
-
-if WITHDLLS:
-    ext_package = "libxmlmods"
-    if sys.version >= "2.2":
-        base = "lib/site-packages/"
-    else:
-        base = ""
-    data_files = [(base+"libxmlmods",dlls)]
-else:
-    ext_package = None
-    data_files = []
-
-setup (name = "libxml2-python",
-       # On *nix, the version number is created from setup.py.in
-       # On windows, it is set by configure.js
-       version = "2.9.4",
-       description = descr,
-       author = "Daniel Veillard",
-       author_email = "veillard@redhat.com",
-       url = "http://xmlsoft.org/python.html",
-       licence="MIT Licence",
-       py_modules=modules,
-       ext_modules=extens,
-       ext_package=ext_package,
-       data_files=data_files,
-       )
-
-sys.exit(0)
-
diff --git a/python/tests/xpathleak.py b/python/tests/xpathleak.py
index 33ab61c..6940b79 100755
--- a/python/tests/xpathleak.py
+++ b/python/tests/xpathleak.py
@@ -4,25 +4,15 @@
 libxml2.debugMemory(True)
 
 expect="""--> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 --> Invalid expression
---> xmlXPathEval: evaluation failed
 """
 err=""
 def callback(ctx, str):
diff --git a/python/types.c b/python/types.c
index f237677..124af56 100644
--- a/python/types.c
+++ b/python/types.c
@@ -31,8 +31,6 @@
     const char *mode;
 
     fd = PyObject_AsFileDescriptor(f);
-    if (!_PyVerify_fd(fd))
-        return(NULL);
     /*
      * Get the flags on the fd to understand how it was opened
      */
diff --git a/relaxng.c b/relaxng.c
index 3d3e69c..88d351d 100644
--- a/relaxng.c
+++ b/relaxng.c
@@ -20,6 +20,7 @@
 
 #include <string.h>
 #include <stdio.h>
+#include <stddef.h>
 #include <libxml/xmlmemory.h>
 #include <libxml/parser.h>
 #include <libxml/parserInternals.h>
@@ -2728,9 +2729,10 @@
  * Free the structure associated to the type library
  */
 static void
-xmlRelaxNGFreeTypeLibrary(xmlRelaxNGTypeLibraryPtr lib,
+xmlRelaxNGFreeTypeLibrary(void *payload,
                           const xmlChar * namespace ATTRIBUTE_UNUSED)
 {
+    xmlRelaxNGTypeLibraryPtr lib = (xmlRelaxNGTypeLibraryPtr) payload;
     if (lib == NULL)
         return;
     if (lib->namespace != NULL)
@@ -2841,8 +2843,7 @@
     xmlSchemaCleanupTypes();
     if (xmlRelaxNGTypeInitialized == 0)
         return;
-    xmlHashFree(xmlRelaxNGRegisteredTypes, (xmlHashDeallocator)
-                xmlRelaxNGFreeTypeLibrary);
+    xmlHashFree(xmlRelaxNGRegisteredTypes, xmlRelaxNGFreeTypeLibrary);
     xmlRelaxNGTypeInitialized = 0;
 }
 
@@ -4310,10 +4311,11 @@
  *     algorithm
  */
 static void
-xmlRelaxNGComputeInterleaves(xmlRelaxNGDefinePtr def,
-                             xmlRelaxNGParserCtxtPtr ctxt,
-                             xmlChar * name ATTRIBUTE_UNUSED)
+xmlRelaxNGComputeInterleaves(void *payload, void *data,
+                             const xmlChar * name ATTRIBUTE_UNUSED)
 {
+    xmlRelaxNGDefinePtr def = (xmlRelaxNGDefinePtr) payload;
+    xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data;
     xmlRelaxNGDefinePtr cur, *tmp;
 
     xmlRelaxNGPartitionPtr partitions = NULL;
@@ -4404,7 +4406,7 @@
                 if ((*tmp)->type == XML_RELAXNG_TEXT) {
                     res = xmlHashAddEntry2(partitions->triage,
                                            BAD_CAST "#text", NULL,
-                                           (void *) (long) (i + 1));
+                                           (void *) (ptrdiff_t) (i + 1));
                     if (res != 0)
                         is_determinist = -1;
                 } else if (((*tmp)->type == XML_RELAXNG_ELEMENT) &&
@@ -4412,22 +4414,22 @@
                     if (((*tmp)->ns == NULL) || ((*tmp)->ns[0] == 0))
                         res = xmlHashAddEntry2(partitions->triage,
                                                (*tmp)->name, NULL,
-                                               (void *) (long) (i + 1));
+                                               (void *) (ptrdiff_t) (i + 1));
                     else
                         res = xmlHashAddEntry2(partitions->triage,
                                                (*tmp)->name, (*tmp)->ns,
-                                               (void *) (long) (i + 1));
+                                               (void *) (ptrdiff_t) (i + 1));
                     if (res != 0)
                         is_determinist = -1;
                 } else if ((*tmp)->type == XML_RELAXNG_ELEMENT) {
                     if (((*tmp)->ns == NULL) || ((*tmp)->ns[0] == 0))
                         res = xmlHashAddEntry2(partitions->triage,
                                                BAD_CAST "#any", NULL,
-                                               (void *) (long) (i + 1));
+                                               (void *) (ptrdiff_t) (i + 1));
                     else
                         res = xmlHashAddEntry2(partitions->triage,
                                                BAD_CAST "#any", (*tmp)->ns,
-                                               (void *) (long) (i + 1));
+                                               (void *) (ptrdiff_t) (i + 1));
                     if ((*tmp)->nameClass != NULL)
                         is_determinist = 2;
                     if (res != 0)
@@ -4662,7 +4664,7 @@
  * Import import one references into the current grammar
  */
 static void
-xmlRelaxNGParseImportRef(void *payload, void *data, xmlChar *name) {
+xmlRelaxNGParseImportRef(void *payload, void *data, const xmlChar *name) {
     xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data;
     xmlRelaxNGDefinePtr def = (xmlRelaxNGDefinePtr) payload;
     int tmp;
@@ -5669,10 +5671,10 @@
  * element of a given grammar using the same name.
  */
 static void
-xmlRelaxNGCheckReference(xmlRelaxNGDefinePtr ref,
-                         xmlRelaxNGParserCtxtPtr ctxt,
-                         const xmlChar * name)
+xmlRelaxNGCheckReference(void *payload, void *data, const xmlChar * name)
 {
+    xmlRelaxNGDefinePtr ref = (xmlRelaxNGDefinePtr) payload;
+    xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data;
     xmlRelaxNGGrammarPtr grammar;
     xmlRelaxNGDefinePtr def, cur;
 
@@ -5725,9 +5727,10 @@
  * element of a given grammar using the same name.
  */
 static void
-xmlRelaxNGCheckCombine(xmlRelaxNGDefinePtr define,
-                       xmlRelaxNGParserCtxtPtr ctxt, const xmlChar * name)
+xmlRelaxNGCheckCombine(void *payload, void *data, const xmlChar * name)
 {
+    xmlRelaxNGDefinePtr define = (xmlRelaxNGDefinePtr) payload;
+    xmlRelaxNGParserCtxtPtr ctxt = (xmlRelaxNGParserCtxtPtr) data;
     xmlChar *combine;
     int choiceOrInterleave = -1;
     int missing = 0;
@@ -6610,16 +6613,14 @@
      */
     xmlRelaxNGCombineStart(ctxt, ret);
     if (ret->defs != NULL) {
-        xmlHashScan(ret->defs, (xmlHashScanner) xmlRelaxNGCheckCombine,
-                    ctxt);
+        xmlHashScan(ret->defs, xmlRelaxNGCheckCombine, ctxt);
     }
 
     /*
      * link together defines and refs in this grammar
      */
     if (ret->refs != NULL) {
-        xmlHashScan(ret->refs, (xmlHashScanner) xmlRelaxNGCheckReference,
-                    ctxt);
+        xmlHashScan(ret->refs, xmlRelaxNGCheckReference, ctxt);
     }
 
 
@@ -7550,8 +7551,7 @@
      * try to preprocess interleaves
      */
     if (ctxt->interleaves != NULL) {
-        xmlHashScan(ctxt->interleaves,
-                    (xmlHashScanner) xmlRelaxNGComputeInterleaves, ctxt);
+        xmlHashScan(ctxt->interleaves, xmlRelaxNGComputeInterleaves, ctxt);
     }
 
     /*
@@ -8890,7 +8890,7 @@
             if (ret != 0) {
                 break;
             }
-            /* no break on purpose */
+            /* Falls through. */
         case XML_RELAXNG_ZEROORMORE:{
                 xmlChar *cur, *temp;
 
@@ -9387,7 +9387,7 @@
             if (tmp == NULL) {
                 i = nbgroups;
             } else {
-                i = ((long) tmp) - 1;
+                i = ((ptrdiff_t) tmp) - 1;
                 if (partitions->flags & IS_NEEDCHECK) {
                     group = partitions->groups[i];
                     if (!xmlRelaxNGNodeMatchesList(cur, group->defs))
@@ -10167,7 +10167,7 @@
             }
             if (ctxt->errNr > errNr)
                 xmlRelaxNGPopErrors(ctxt, errNr);
-            /* no break on purpose */
+            /* Falls through. */
         case XML_RELAXNG_ZEROORMORE:{
                 int progress;
                 xmlRelaxNGStatesPtr states = NULL, res = NULL;
diff --git a/result/HTML/53867.html.sax b/result/HTML/53867.html.sax
index 81a9f15..1bb0d14 100644
--- a/result/HTML/53867.html.sax
+++ b/result/HTML/53867.html.sax
@@ -1,10 +1,10 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(style)
 SAX.cdata(
@@ -15,12 +15,12 @@
 SAX.cdata(................
 ............., 977)
 SAX.endElement(style)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/758518-entity.html b/result/HTML/758518-entity.html
new file mode 100644
index 0000000..e72b0cb
--- /dev/null
+++ b/result/HTML/758518-entity.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html><body><p>&amp;&Ugrave;</p></body></html>
diff --git a/result/HTML/758518-entity.html.err b/result/HTML/758518-entity.html.err
new file mode 100644
index 0000000..0186677
--- /dev/null
+++ b/result/HTML/758518-entity.html.err
@@ -0,0 +1,3 @@
+./test/HTML/758518-entity.html:1: HTML parser error : htmlParseEntityRef: expecting ';'

+  ^
diff --git a/result/HTML/758518-entity.html.sax b/result/HTML/758518-entity.html.sax
new file mode 100644
index 0000000..3d017ab
--- /dev/null
+++ b/result/HTML/758518-entity.html.sax
@@ -0,0 +1,12 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.error: htmlParseEntityRef: expecting ';'
+SAX.startElement(html)
+SAX.startElement(body)
+SAX.startElement(p)
+SAX.characters(&amp;, 1)
+SAX.characters(&Ugrave;, 2)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.endDocument()
diff --git a/result/HTML/758518-tag.html b/result/HTML/758518-tag.html
new file mode 100644
index 0000000..f99f421
--- /dev/null
+++ b/result/HTML/758518-tag.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
+<html><body><p>&#147;</p></body></html>
diff --git a/result/HTML/758518-tag.html.err b/result/HTML/758518-tag.html.err
new file mode 100644
index 0000000..c912c91
--- /dev/null
+++ b/result/HTML/758518-tag.html.err
@@ -0,0 +1,3 @@
+./test/HTML/758518-tag.html:1: HTML parser error : PI is not started correctly

+^
diff --git a/result/HTML/758518-tag.html.sax b/result/HTML/758518-tag.html.sax
new file mode 100644
index 0000000..fd4aa94
--- /dev/null
+++ b/result/HTML/758518-tag.html.sax
@@ -0,0 +1,10 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.error: PI is not started correctlySAX.startElement(html)
+SAX.startElement(body)
+SAX.startElement(p)
+SAX.characters(&#147;, 2)
+SAX.endElement(p)
+SAX.endElement(body)
+SAX.endElement(html)
+SAX.endDocument()
diff --git a/result/HTML/758605.html.sax b/result/HTML/758605.html.sax
index c6e0986..1f18426 100644
--- a/result/HTML/758605.html.sax
+++ b/result/HTML/758605.html.sax
@@ -6,7 +6,7 @@
 SAX.startElement(p)
 SAX.characters(&amp;, 1)
 SAX.characters(&ecirc;, 2)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(p)
 SAX.endElement(body)
diff --git a/result/HTML/Down.html.sax b/result/HTML/Down.html.sax
index c23c332..ae3c056 100644
--- a/result/HTML/Down.html.sax
+++ b/result/HTML/Down.html.sax
@@ -1,18 +1,18 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
   , 3)
 SAX.startElement(title)
 SAX.characters(This service is temporary down, 30)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.startElement(body, bgcolor='#FFFFFF')
@@ -29,9 +29,9 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/attrents.html.sax b/result/HTML/attrents.html.sax
index c1cfb42..30df683 100644
--- a/result/HTML/attrents.html.sax
+++ b/result/HTML/attrents.html.sax
@@ -1,7 +1,7 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.startElement(body, bgcolor='#FFFFFF')
 SAX.characters(

@@ -13,9 +13,9 @@
 SAX.characters(

 , 2)
 SAX.endElement(body)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.endElement(html)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.endDocument()
diff --git a/result/HTML/autoclose.html.sax b/result/HTML/autoclose.html.sax
index 5a45627..c541c5e 100644
--- a/result/HTML/autoclose.html.sax
+++ b/result/HTML/autoclose.html.sax
@@ -4,7 +4,7 @@
 SAX.startElement(body)
 SAX.startElement(hr)
 SAX.endElement(hr)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(body)
 SAX.endElement(html)
diff --git a/result/HTML/cf_128.html.sax b/result/HTML/cf_128.html.sax
index 8f66a42..3913ebd 100644
--- a/result/HTML/cf_128.html.sax
+++ b/result/HTML/cf_128.html.sax
@@ -2,18 +2,18 @@
 SAX.startDocument()
 SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/strict.dtd)
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(gnome-xml push mode bug, 23)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -61,9 +61,9 @@
 SAX.characters(
   , 3)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(  
+SAX.characters(  
 , 3)
 SAX.endDocument()
diff --git a/result/HTML/doc2.htm.sax b/result/HTML/doc2.htm.sax
index 7cbbc51..63c7164 100644
--- a/result/HTML/doc2.htm.sax
+++ b/result/HTML/doc2.htm.sax
@@ -8,31 +8,31 @@
 SAX.startElement(title)
 SAX.characters(Welcome to Copernic.com, 23)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(script, language='javascript')
 SAX.cdata(
           NS_ActualOpen=windo, 194)
 SAX.endElement(script)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.comment( END Naviscope Javascript )
 SAX.error: Misplaced DOCTYPE declaration
 SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, )
 SAX.comment( saved from url=(0027)http://www.agents-tech.com/ )
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, content='text/html; charset=iso-8859-1', http-equiv='Content-Type')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, content='Copernic.com Inc. develops innovative agent technology solutions to efficiently access and manage the overwhelming quantity of information available on the Internet and intranets.', name='DESCRIPTION')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, content='agent,technology,intranet,extranet,management,filtering,ranking,solution,service,intelligent,intelligence,client,server,architecture,developer,development,information,telecommunication,announcement,press,product,profile,contact,multi-agent,meta-search,metasearch,multi-thread,mobile,wireless,shopping,robot,PCS,Copernic,engine,toolkit,CDK,EDK', name='KEYWORDS')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, content='MSHTML 5.00.3103.1000', name='GENERATOR')
 SAX.endElement(meta)
@@ -64,6 +64,6 @@
 SAX.endElement(noframes)
 SAX.endElement(frameset)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/doc3.htm.sax b/result/HTML/doc3.htm.sax
index 13477f1..fb33cf2 100644
--- a/result/HTML/doc3.htm.sax
+++ b/result/HTML/doc3.htm.sax
Binary files differ
diff --git a/result/HTML/entities.html.sax b/result/HTML/entities.html.sax
index 709b60d..3843f6d 100644
--- a/result/HTML/entities.html.sax
+++ b/result/HTML/entities.html.sax
@@ -20,7 +20,7 @@
 SAX.characters( b
 , 3)
 SAX.endElement(p)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(body)
 SAX.endElement(html)
diff --git a/result/HTML/entities2.html.sax b/result/HTML/entities2.html.sax
index c6efbe5..131b813 100644
--- a/result/HTML/entities2.html.sax
+++ b/result/HTML/entities2.html.sax
@@ -1,7 +1,7 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -17,7 +17,7 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
 SAX.endDocument()
diff --git a/result/HTML/fp40.htm.sax b/result/HTML/fp40.htm.sax
index 6f77794..a51668c 100644
--- a/result/HTML/fp40.htm.sax
+++ b/result/HTML/fp40.htm.sax
@@ -2,27 +2,27 @@
 SAX.startDocument()
 SAX.internalSubset(html, -//IETF//DTD HTML//EN, )
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, name='GENERATOR', content='Microsoft FrontPage 4.0')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(README - Microsoft FrontPage 2, 51)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, name='Microsoft Theme', content='none')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.startElement(body)
@@ -455,9 +455,9 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/html5_enc.html.sax b/result/HTML/html5_enc.html.sax
index 292be57..6c5802f 100644
--- a/result/HTML/html5_enc.html.sax
+++ b/result/HTML/html5_enc.html.sax
@@ -1,17 +1,17 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, charset='iso-8859-1')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -22,9 +22,9 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/liclose.html.sax b/result/HTML/liclose.html.sax
index eabcdf6..50fa778 100644
--- a/result/HTML/liclose.html.sax
+++ b/result/HTML/liclose.html.sax
@@ -2,17 +2,17 @@
 SAX.startDocument()
 SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd)
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
   , 3)
 SAX.startElement(title)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -33,6 +33,6 @@
 , 2)
 SAX.endElement(body)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/lt.html.sax b/result/HTML/lt.html.sax
index a4ab5e3..43e1b11 100644
--- a/result/HTML/lt.html.sax
+++ b/result/HTML/lt.html.sax
@@ -1,19 +1,19 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, name='Author', content='Root &lt;root@aol.com&gt;')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/noscript.html.sax b/result/HTML/noscript.html.sax
index b69396f..a4d036f 100644
--- a/result/HTML/noscript.html.sax
+++ b/result/HTML/noscript.html.sax
@@ -2,24 +2,24 @@
 SAX.startDocument()
 SAX.internalSubset(html, , )
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
     , 5)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
         , 9)
 SAX.startElement(title)
 SAX.characters(omg, 3)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
         , 9)
 SAX.startElement(noscript)
 SAX.startElement(link, rel='stylesheet', href='http://foo.com')
 SAX.endElement(link)
 SAX.endElement(noscript)
-SAX.ignorableWhitespace(
+SAX.characters(
     , 5)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
     , 5)
 SAX.startElement(body, id='xxx')
 SAX.characters(
@@ -30,9 +30,9 @@
 SAX.characters(
     , 5)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/pre.html.sax b/result/HTML/pre.html.sax
index f8782b7..bdf1b75 100644
--- a/result/HTML/pre.html.sax
+++ b/result/HTML/pre.html.sax
@@ -1,7 +1,7 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -15,9 +15,9 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/python.html.sax b/result/HTML/python.html.sax
index 665539c..ec300d3 100644
--- a/result/HTML/python.html.sax
+++ b/result/HTML/python.html.sax
@@ -3,27 +3,27 @@
 SAX.internalSubset(html, -//W3C//DTD HTML 4.01 Transitional//EN, http://www.w3.org/TR/html4/loose.dtd)
 SAX.processingInstruction(xml-stylesheet, href="./css/ht2html.css" type="text/css"?)
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.comment( THIS PAGE IS AUTOMATICALLY GENERATED.  DO NOT EDIT. )
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(Python Programming Language, 27)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
 , 1)
 SAX.endElement(body)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/reg1.html.sax b/result/HTML/reg1.html.sax
index c8ee3ac..758fd4f 100644
--- a/result/HTML/reg1.html.sax
+++ b/result/HTML/reg1.html.sax
@@ -1,18 +1,18 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(Regression test 1, 17)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -28,9 +28,9 @@
 , 20)
 SAX.endElement(p)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/reg2.html.sax b/result/HTML/reg2.html.sax
index f85691e..c9fe5cb 100644
--- a/result/HTML/reg2.html.sax
+++ b/result/HTML/reg2.html.sax
@@ -1,18 +1,18 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(Regression test 2, 17)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -33,9 +33,9 @@
 , 20)
 SAX.endElement(p)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/reg3.html.sax b/result/HTML/reg3.html.sax
index ec0f039..a2ea57e 100644
--- a/result/HTML/reg3.html.sax
+++ b/result/HTML/reg3.html.sax
@@ -1,18 +1,18 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(Regression test 3, 17)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -37,9 +37,9 @@
 , 20)
 SAX.endElement(p)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/reg4.html.sax b/result/HTML/reg4.html.sax
index 4c5147c..3ed6c9d 100644
--- a/result/HTML/reg4.html.sax
+++ b/result/HTML/reg4.html.sax
@@ -1,18 +1,18 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(Regression test 4, 17)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -35,9 +35,9 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/repeat.html.sax b/result/HTML/repeat.html.sax
index 2dbf35c..50b3a76 100644
--- a/result/HTML/repeat.html.sax
+++ b/result/HTML/repeat.html.sax
@@ -6,7 +6,7 @@
 SAX.endElement(td)
 SAX.startElement(td)
 SAX.comment( <a><b> )
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(td)
 SAX.endElement(body)
diff --git a/result/HTML/script.html.sax b/result/HTML/script.html.sax
index b259f7f..5925ecc 100644
--- a/result/HTML/script.html.sax
+++ b/result/HTML/script.html.sax
@@ -1,14 +1,14 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(head)
 SAX.startElement(title)
 SAX.characters(Script tests, 12)
 SAX.endElement(title)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -24,9 +24,9 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/script2.html.sax b/result/HTML/script2.html.sax
index 1971991..405549d 100644
--- a/result/HTML/script2.html.sax
+++ b/result/HTML/script2.html.sax
@@ -2,22 +2,22 @@
 SAX.startDocument()
 SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)
 SAX.startElement(html, xmlns='http://www.w3.org/1999/xhtml')
-SAX.ignorableWhitespace(
+SAX.characters(
 	, 2)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 		, 3)
 SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=UTF-8')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(Test Page, 9)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body)
 SAX.characters(
@@ -41,10 +41,10 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.endDocument()
diff --git a/result/HTML/test2.html.sax b/result/HTML/test2.html.sax
index 78bb090..fd328dd 100644
--- a/result/HTML/test2.html.sax
+++ b/result/HTML/test2.html.sax
@@ -3,12 +3,12 @@
 SAX.internalSubset(HTML, -//W3C//DTD HTML 4.0 Transitional//EN, http://www.w3.org/TR/REC-html40/loose.dtd)
 SAX.startElement(html)
 SAX.startElement(head)
-SAX.ignorableWhitespace( , 1)
+SAX.characters( , 1)
 SAX.startElement(title)
 SAX.characters(Linux Today, 11)
 SAX.endElement(title)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(body, bgcolor='White', link='Blue', text='Black', vlink='Black', alink='Red')
 SAX.characters(
@@ -137,9 +137,9 @@
 , 1)
 SAX.endElement(p)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endDocument()
diff --git a/result/HTML/test3.html.sax b/result/HTML/test3.html.sax
index c9f6638..b75b211 100644
--- a/result/HTML/test3.html.sax
+++ b/result/HTML/test3.html.sax
@@ -1,17 +1,17 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.startElement(head)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.startElement(base, target='contents')
 SAX.endElement(base)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.endElement(head)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.startElement(body)
 SAX.startElement(a, name='ProblemDomain.Package')
@@ -225,6 +225,6 @@
 , 2)
 SAX.endElement(body)
 SAX.endElement(html)
-SAX.ignorableWhitespace(

+SAX.characters(

 , 2)
 SAX.endDocument()
diff --git a/result/HTML/utf8bug.html.sax b/result/HTML/utf8bug.html.sax
index 06cdb15..e148358 100644
--- a/result/HTML/utf8bug.html.sax
+++ b/result/HTML/utf8bug.html.sax
@@ -1,35 +1,35 @@
 SAX.setDocumentLocator()
 SAX.startDocument()
 SAX.startElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.startElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, http-equiv='Content-Language', content='en-us')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(meta, http-equiv='Content-Type', content='text/html; charset=utf-8')
 SAX.endElement(meta)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(link, href='CSS.css', type='text/css', rel='stylesheet')
 SAX.endElement(link)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(link, rel='SHORTCUT ICON', href='favicon.ico')
 SAX.endElement(link)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.startElement(title)
 SAX.characters(&#1588;&#1607;&#1610;&#1585; , 17)
 SAX.endElement(title)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(head)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.startElement(body)
diff --git a/result/HTML/wired.html.sax b/result/HTML/wired.html.sax
index 3860c76..d5b1629 100644
--- a/result/HTML/wired.html.sax
+++ b/result/HTML/wired.html.sax
@@ -2839,10 +2839,10 @@
 SAX.characters(
 , 1)
 SAX.endElement(body)
-SAX.ignorableWhitespace(
+SAX.characters(
 , 1)
 SAX.endElement(html)
-SAX.ignorableWhitespace(
+SAX.characters(
 
 , 2)
 SAX.endDocument()
diff --git a/result/XPath/expr/base b/result/XPath/expr/base
index e04346f..57c93cf 100644
--- a/result/XPath/expr/base
+++ b/result/XPath/expr/base
@@ -24,5 +24,45 @@
 Object is a number : 21
 
 ========================
+Expression: 0.000000000000000000000000000000000000000000000000001
+Object is a number : 1e-51
+
+========================
+Expression: -0.000000000000000000000000000000000000000000000000001
+Object is a number : -1e-51
+
+========================
+Expression: 1e2147483648
+Object is a number : Infinity
+
+========================
+Expression: 1e4294967296
+Object is a number : Infinity
+
+========================
+Expression: 1e9223372036854775808
+Object is a number : Infinity
+
+========================
+Expression: 1e18446744073709551616
+Object is a number : Infinity
+
+========================
+Expression: 1e-2147483649
+Object is a number : 0
+
+========================
+Expression: 1e-4294967296
+Object is a number : 0
+
+========================
+Expression: 1e-9223372036854775809
+Object is a number : 0
+
+========================
+Expression: 1e-18446744073709551616
+Object is a number : 0
+
+========================
 Expression: self::-name
 Object is empty (NULL)
diff --git a/result/XPath/expr/floats b/result/XPath/expr/floats
index b6255ce..157bd76 100644
--- a/result/XPath/expr/floats
+++ b/result/XPath/expr/floats
@@ -242,3 +242,11 @@
 ========================
 Expression: 8 mod 3 = 2
 Object is a Boolean : true
+
+========================
+Expression: 12345678901234567890
+Object is a number : 1.23457e+19
+
+========================
+Expression: -12345678901234567890
+Object is a number : -1.23457e+19
diff --git a/result/XPath/expr/functions b/result/XPath/expr/functions
index 10cc27e..e09eb4a 100644
--- a/result/XPath/expr/functions
+++ b/result/XPath/expr/functions
@@ -44,6 +44,26 @@
 Object is a number : -6
 
 ========================
+Expression: floor(100000000000000000000)
+Object is a number : 1e+20
+
+========================
+Expression: floor(-100000000000000000000)
+Object is a number : -1e+20
+
+========================
+Expression: floor(0 div 0)
+Object is a number : NaN
+
+========================
+Expression: floor(1 div 0)
+Object is a number : Infinity
+
+========================
+Expression: floor(-1 div 0)
+Object is a number : -Infinity
+
+========================
 Expression: ceiling(0.1)
 Object is a number : 1
 
@@ -68,6 +88,26 @@
 Object is a number : -5
 
 ========================
+Expression: ceiling(100000000000000000000)
+Object is a number : 1e+20
+
+========================
+Expression: ceiling(-100000000000000000000)
+Object is a number : -1e+20
+
+========================
+Expression: ceiling(0 div 0)
+Object is a number : NaN
+
+========================
+Expression: ceiling(1 div 0)
+Object is a number : Infinity
+
+========================
+Expression: ceiling(-1 div 0)
+Object is a number : -Infinity
+
+========================
 Expression: round(0.1)
 Object is a number : 0
 
@@ -98,3 +138,31 @@
 ========================
 Expression: round(-5.6)
 Object is a number : -6
+
+========================
+Expression: round(0.5)
+Object is a number : 1
+
+========================
+Expression: round(-0.5)
+Object is a number : 0
+
+========================
+Expression: round(100000000000000000000)
+Object is a number : 1e+20
+
+========================
+Expression: round(-100000000000000000000)
+Object is a number : -1e+20
+
+========================
+Expression: round(0 div 0)
+Object is a number : NaN
+
+========================
+Expression: round(1 div 0)
+Object is a number : Infinity
+
+========================
+Expression: round(-1 div 0)
+Object is a number : -Infinity
diff --git a/result/XPath/expr/strings b/result/XPath/expr/strings
index fad7048..1ae5cc4 100644
--- a/result/XPath/expr/strings
+++ b/result/XPath/expr/strings
@@ -20,6 +20,14 @@
 Object is a string : false
 
 ========================
+Expression: string(12345678901234567890)
+Object is a string : 1.23456789012346e+19
+
+========================
+Expression: string(-12345678901234567890)
+Object is a string : -1.23456789012346e+19
+
+========================
 Expression: concat("titi","toto")
 Object is a string : tititoto
 
diff --git a/result/XPath/tests/chaptersbase b/result/XPath/tests/chaptersbase
index e023bf0..fd021d8 100644
--- a/result/XPath/tests/chaptersbase
+++ b/result/XPath/tests/chaptersbase
@@ -123,3 +123,18 @@
 3  ELEMENT p
 4  ELEMENT p
 5  ELEMENT p
+
+========================
+Expression: //p[0 div 0]
+Object is a Node Set :
+Set contains 0 nodes:
+
+========================
+Expression: //p[100000000000000000000]
+Object is a Node Set :
+Set contains 0 nodes:
+
+========================
+Expression: //p[-100000000000000000000]
+Object is a Node Set :
+Set contains 0 nodes:
diff --git a/result/XPath/tests/nssimple b/result/XPath/tests/nssimple
index 8f0dd0e..cd09a17 100644
--- a/result/XPath/tests/nssimple
+++ b/result/XPath/tests/nssimple
@@ -17,8 +17,22 @@
 ========================
 Expression: //*[namespace::ns1]
 Object is a Node Set :
-Set contains 2 nodes:
+Set contains 4 nodes:
 1  ELEMENT doc
     namespace ns1 href=nsuri1
-2  ELEMENT elem
+2  ELEMENT preceding
+3  ELEMENT elem
     namespace ns2 href=nsuri2
+4  ELEMENT following
+
+========================
+Expression: /doc/elem/namespace::ns2/following::*
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT following
+
+========================
+Expression: /doc/elem/namespace::ns2/preceding::*
+Object is a Node Set :
+Set contains 1 nodes:
+1  ELEMENT preceding
diff --git a/result/XPath/tests/simplebase b/result/XPath/tests/simplebase
index 3c32d17..6d4b347 100644
--- a/result/XPath/tests/simplebase
+++ b/result/XPath/tests/simplebase
@@ -125,3 +125,8 @@
 Object is a Node Set :
 Set contains 1 nodes:
 1  ELEMENT chapter
+
+========================
+Expression: /child::EXAMPLE/attribute::prop2/preceding::text()
+Object is a Node Set :
+Set contains 0 nodes:
diff --git a/result/XPath/tests/strbase b/result/XPath/tests/strbase
new file mode 100644
index 0000000..e6035ca
--- /dev/null
+++ b/result/XPath/tests/strbase
@@ -0,0 +1,13 @@
+
+========================
+Expression: //p[.='abc']
+Object is a Node Set :
+Set contains 2 nodes:
+1  ELEMENT p
+    ATTRIBUTE id
+      TEXT
+        content=1
+2  ELEMENT p
+    ATTRIBUTE id
+      TEXT
+        content=2
diff --git a/result/XPath/xptr/vidbase b/result/XPath/xptr/vidbase
index 8b9e92d..f19193e 100644
--- a/result/XPath/xptr/vidbase
+++ b/result/XPath/xptr/vidbase
@@ -17,3 +17,16 @@
   To node
     ELEMENT p
 
+
+========================
+Expression: xpointer(range-to(id('chapter2')))
+Object is a Location Set:
+1 :   Object is a range :
+  From node
+     /
+  To node
+    ELEMENT chapter
+      ATTRIBUTE id
+        TEXT
+          content=chapter2
+
diff --git a/result/errors/754946.xml.err b/result/errors/754946.xml.err
index c03e35b..be77781 100644
--- a/result/errors/754946.xml.err
+++ b/result/errors/754946.xml.err
@@ -1,19 +1,20 @@
-Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+./test/errors/754946.xml:3: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
- %SYSTEM; 
-         ^
+  %SYSTEM;
+          ^
 Entity: line 1: 
 A<lbbbbbbbbbbbbbbbbbbb_
 ^
-Entity: line 1: parser error : DOCTYPE improperly terminated
- %SYSTEM; 
-         ^
-Entity: line 1: 
-A<lbbbbbbbbbbbbbbbbbbb_
-^
-Entity: line 1: parser error : Start tag expected, '<' not found
- %SYSTEM; 
-         ^
-Entity: line 1: 
-A<lbbbbbbbbbbbbbbbbbbb_
-^
+./test/errors/754946.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+  <![
+  ^
+./test/errors/754946.xml:4: parser error : DOCTYPE improperly terminated
+  <![
+  ^
+./test/errors/754946.xml:4: parser error : StartTag: invalid element name
+  <![
+   ^
+./test/errors/754946.xml:4: parser error : Extra content at the end of the document
+  <![
+   ^
diff --git a/result/errors/754946.xml.str b/result/errors/754946.xml.str
index 3b748cc..49395b6 100644
--- a/result/errors/754946.xml.str
+++ b/result/errors/754946.xml.str
@@ -1,4 +1,4 @@
 ./test/errors/754946.xml:1: parser error : Extra content at the end of the document
-<!DOCTYPEA[<!ENTITY %
-          ^
+<!DOCTYPE A [
+            ^
 ./test/errors/754946.xml : failed to parse
diff --git a/result/errors/759398.xml.err b/result/errors/759398.xml.err
index e08d9bf..f6036a3 100644
--- a/result/errors/759398.xml.err
+++ b/result/errors/759398.xml.err
@@ -1,9 +1,12 @@
 ./test/errors/759398.xml:210: parser error : StartTag: invalid element name
 need to worry about parsers whi<! don't expand PErefs finding
                                 ^
-./test/errors/759398.xml:309: parser error : Opening and ending tag mismatch: spec line 50 and termdef
+./test/errors/759398.xml:309: parser error : Opening and ending tag mismatch: №№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№№m line 308 and termdef
 and provide access to their content and structure.</termdef> <termdef
                                                             ^
-./test/errors/759398.xml:309: parser error : Extra content at the end of the document
-and provide access to their content and structure.</termdef> <termdef
-                                                             ^
+./test/errors/759398.xml:314: parser error : Opening and ending tag mismatch: spec line 50 and p
+data and the information it must provide to the application.</p>
+                                                                ^
+./test/errors/759398.xml:316: parser error : Extra content at the end of the document
+<div2 id='sec-origin-goals'>
+^
diff --git a/result/errors/759573-2.xml.err b/result/errors/759573-2.xml.err
index d8773d8..86d6420 100644
--- a/result/errors/759573-2.xml.err
+++ b/result/errors/759573-2.xml.err
@@ -1,58 +1,58 @@
 Entity: line 1: parser error : Space required after '<!ENTITY'
- %zz; 
-     ^
+%zz;
+    ^
 Entity: line 1: 
 <!ENTITY<?xDOCTYPEm~?>
         ^
 Entity: line 1: parser error : xmlParseEntityDecl: no name
- %zz; 
-     ^
+%zz;
+    ^
 Entity: line 1: 
 <!ENTITY<?xDOCTYPEm~?>
         ^
 Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected
- %zz; 
-     ^
+%zz;
+    ^
 Entity: line 1: 
 <!ENTITY<?xDOCTYPEm~?>
                    ^
-Entity: line 1: parser error : Space required after '<!ENTITY'
- %zz; 
-     ^
+Entity: line 3: parser error : Space required after '<!ENTITY'
+%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz;
+    ^
 Entity: line 1: 
 <!ENTITY<?xDOCTYPEm~?>
         ^
-Entity: line 1: parser error : xmlParseEntityDecl: no name
- %zz; 
-     ^
+Entity: line 3: parser error : xmlParseEntityDecl: no name
+%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz;
+    ^
 Entity: line 1: 
 <!ENTITY<?xDOCTYPEm~?>
         ^
-Entity: line 1: parser error : ParsePI: PI xDOCTYPEm space expected
- %zz; 
-     ^
+Entity: line 3: parser error : ParsePI: PI xDOCTYPEm space expected
+%zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz;
+    ^
 Entity: line 1: 
 <!ENTITY<?xDOCTYPEm~?>
                    ^
-Entity: line 1: parser error : Space required after 'ELEMENT'
- %xx; 
-     ^
+./test/errors/759573-2.xml:6: parser error : Space required after 'ELEMENT'
+%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
+    ^
 Entity: line 3: 
 %zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz;
              ^
-Entity: line 1: parser error : Content error in the external subset
- %xx; 
-     ^
+./test/errors/759573-2.xml:6: parser error : Content error in the external subset
+%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
+    ^
 Entity: line 3: 
 %zz;<!ELEMENTD(%MENT%MENTDŹMENTD%zNMT9KENSMYSYSTEM;MENT9%zz;
              ^
 ./test/errors/759573-2.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
+
+^
 ./test/errors/759573-2.xml:6: parser error : DOCTYPE improperly terminated
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
+
+^
 ./test/errors/759573-2.xml:6: parser error : Start tag expected, '<' not found
-%xx;ÿggKENSMYNT&#35;MENTD&#372zz;'>
-    ^
+
+^
diff --git a/result/errors/759573.xml.err b/result/errors/759573.xml.err
index 2c21e9a..554039f 100644
--- a/result/errors/759573.xml.err
+++ b/result/errors/759573.xml.err
@@ -7,25 +7,28 @@
 ./test/errors/759573.xml:1: parser error : Entity value required
 LEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz
                                                                                ^
-Entity: line 1: parser error : PEReference: no name
- %xx; 
-     ^
+./test/errors/759573.xml:1: parser error : PEReference: no name
+T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
+                                                                               ^
 Entity: line 1: 
 %<![INCLUDE[000%ஸ000%z;
  ^
-Entity: line 1: parser error : Content error in the external subset
- %xx; 
-     ^
+./test/errors/759573.xml:1: parser error : Content error in the external subset
+T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
+                                                                               ^
 Entity: line 1: 
 %<![INCLUDE[000%ஸ000%z;
             ^
 ./test/errors/759573.xml:1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
+<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
+     ^
 ./test/errors/759573.xml:1: parser error : DOCTYPE improperly terminated
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
-./test/errors/759573.xml:1: parser error : Start tag expected, '<' not found
-T t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;000&#37;z;'><!ENTITYz>%xx;
-                                                                               ^
+<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
+     ^
+./test/errors/759573.xml:1: parser error : StartTag: invalid element name
+<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
+      ^
+./test/errors/759573.xml:1: parser error : Extra content at the end of the document
+<?h?><!DOCTYPEt[<!ELEMENT t (A)><!ENTITY % xx '&#37;<![INCLUDE[000&#37;&#3000;00
+      ^
diff --git a/result/errors/759579.xml b/result/errors/759579.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/errors/759579.xml
diff --git a/result/errors/759579.xml.err b/result/errors/759579.xml.err
new file mode 100644
index 0000000..288026e
--- /dev/null
+++ b/result/errors/759579.xml.err
@@ -0,0 +1,6 @@
+Entity: line 2: parser error : Detected an entity reference loop
+        %z; %z; %z; %z; %z;
+           ^
+Entity: line 2: 
+        %z; %z; %z; %z; %z;
+           ^
diff --git a/result/errors/759579.xml.str b/result/errors/759579.xml.str
new file mode 100644
index 0000000..09408f5
--- /dev/null
+++ b/result/errors/759579.xml.str
@@ -0,0 +1,7 @@
+Entity: line 2: parser error : Detected an entity reference loop
+        %z; %z; %z; %z; %z;
+           ^
+Entity: line 2: 
+        %z; %z; %z; %z; %z;
+           ^
+./test/errors/759579.xml : failed to parse
diff --git a/result/errors/attr1.xml.err b/result/errors/attr1.xml.err
index 4f08538..c4c4fc8 100644
--- a/result/errors/attr1.xml.err
+++ b/result/errors/attr1.xml.err
@@ -1,6 +1,9 @@
 ./test/errors/attr1.xml:2: parser error : AttValue: ' expected
 
 ^
-./test/errors/attr1.xml:1: parser error : Extra content at the end of the document
-<foo foo="oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
- ^
+./test/errors/attr1.xml:2: parser error : attributes construct error
+
+^
+./test/errors/attr1.xml:2: parser error : Couldn't find end of Start Tag foo line 1
+
+^
diff --git a/result/errors/attr2.xml.err b/result/errors/attr2.xml.err
index c8a9c7d..77e342e 100644
--- a/result/errors/attr2.xml.err
+++ b/result/errors/attr2.xml.err
@@ -1,6 +1,9 @@
 ./test/errors/attr2.xml:2: parser error : AttValue: ' expected
 
 ^
-./test/errors/attr2.xml:1: parser error : Extra content at the end of the document
-<foo foo=">ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
- ^
+./test/errors/attr2.xml:2: parser error : attributes construct error
+
+^
+./test/errors/attr2.xml:2: parser error : Couldn't find end of Start Tag foo line 1
+
+^
diff --git a/result/errors/name2.xml.err b/result/errors/name2.xml.err
index a6649a1..8acef79 100644
--- a/result/errors/name2.xml.err
+++ b/result/errors/name2.xml.err
@@ -1,6 +1,9 @@
-./test/errors/name2.xml:2: parser error : Specification mandate value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
+./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 
 ^
-./test/errors/name2.xml:1: parser error : Extra content at the end of the document
-<foo foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
- ^
+./test/errors/name2.xml:2: parser error : attributes construct error
+
+^
+./test/errors/name2.xml:2: parser error : Couldn't find end of Start Tag foo line 1
+
+^
diff --git a/result/errors/name2.xml.str b/result/errors/name2.xml.str
index daee090..90f8c08 100644
--- a/result/errors/name2.xml.str
+++ b/result/errors/name2.xml.str
@@ -1,4 +1,4 @@
-./test/errors/name2.xml:2: parser error : Specification mandate value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
+./test/errors/name2.xml:2: parser error : Specification mandates value for attribute foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
 
 ^
 ./test/errors/name2.xml:2: parser error : attributes construct error
diff --git a/result/errors10/781205.xml b/result/errors10/781205.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/errors10/781205.xml
diff --git a/result/errors10/781205.xml.err b/result/errors10/781205.xml.err
new file mode 100644
index 0000000..3ddc203
--- /dev/null
+++ b/result/errors10/781205.xml.err
@@ -0,0 +1,17 @@
+./test/errors10/781205.xml:3: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+  %a;
+     ^
+Entity: line 1: 
+<:0000
+^
+./test/errors10/781205.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+
+^
+./test/errors10/781205.xml:4: parser error : DOCTYPE improperly terminated
+
+^
+./test/errors10/781205.xml:4: parser error : Start tag expected, '<' not found
+
+^
diff --git a/result/errors10/781361.xml b/result/errors10/781361.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/errors10/781361.xml
diff --git a/result/errors10/781361.xml.err b/result/errors10/781361.xml.err
new file mode 100644
index 0000000..655f41a
--- /dev/null
+++ b/result/errors10/781361.xml.err
@@ -0,0 +1,13 @@
+./test/errors10/781361.xml:4: parser error : xmlParseElementDecl: 'EMPTY', 'ANY' or '(' expected
+
+^
+./test/errors10/781361.xml:4: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+
+^
+./test/errors10/781361.xml:4: parser error : DOCTYPE improperly terminated
+
+^
+./test/errors10/781361.xml:4: parser error : Start tag expected, '<' not found
+
+^
diff --git a/result/icu_parse_test.xml b/result/icu_parse_test.xml
new file mode 100644
index 0000000..031a967
--- /dev/null
+++ b/result/icu_parse_test.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="EUC-JP"?>
+<foo>
+Text with EUC-JP chars at position 214 (0xd6)
+___
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______é®Äé___
+_</foo>
diff --git a/result/icu_parse_test.xml.rde b/result/icu_parse_test.xml.rde
new file mode 100644
index 0000000..54cd5f0
--- /dev/null
+++ b/result/icu_parse_test.xml.rde
@@ -0,0 +1,14 @@
+0 1 foo 0 0
+1 3 #text 0 1 
+Text with EUC-JP chars at position 214 (0xd6)
+___
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______駪槗___
+_
+0 15 foo 0 0
diff --git a/result/icu_parse_test.xml.rdr b/result/icu_parse_test.xml.rdr
new file mode 100644
index 0000000..54cd5f0
--- /dev/null
+++ b/result/icu_parse_test.xml.rdr
@@ -0,0 +1,14 @@
+0 1 foo 0 0
+1 3 #text 0 1 
+Text with EUC-JP chars at position 214 (0xd6)
+___
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______駪槗___
+_
+0 15 foo 0 0
diff --git a/result/icu_parse_test.xml.sax b/result/icu_parse_test.xml.sax
new file mode 100644
index 0000000..91e11d5
--- /dev/null
+++ b/result/icu_parse_test.xml.sax
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElement(foo)
+SAX.characters(
+Text with EUC-JP chars at pos, 170)
+SAX.characters(駪槗___
+_, 11)
+SAX.endElement(foo)
+SAX.endDocument()
diff --git a/result/icu_parse_test.xml.sax2 b/result/icu_parse_test.xml.sax2
new file mode 100644
index 0000000..eb0d6c6
--- /dev/null
+++ b/result/icu_parse_test.xml.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(foo, NULL, NULL, 0, 0, 0)
+SAX.characters(
+Text with EUC-JP chars at pos, 170)
+SAX.characters(駪槗___
+_, 11)
+SAX.endElementNs(foo, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att1.sax2 b/result/noent/att1.sax2
new file mode 100644
index 0000000..76ba131
--- /dev/null
+++ b/result/noent/att1.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 28)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att10.sax2 b/result/noent/att10.sax2
new file mode 100644
index 0000000..cc8b58e
--- /dev/null
+++ b/result/noent/att10.sax2
Binary files differ
diff --git a/result/noent/att11.sax2 b/result/noent/att11.sax2
new file mode 100644
index 0000000..518e231
--- /dev/null
+++ b/result/noent/att11.sax2
@@ -0,0 +1,20 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(attributes, , )
+SAX.elementDecl(attributes, 1, ...)
+SAX.attributeDecl(attributes, nmtoken, 7, 3, NULL, ...)
+SAX.attributeDecl(attributes, nmtokens, 8, 3, NULL, ...)
+SAX.entityDecl(ent, 1, (null), (null),  entity&recursive; )
+SAX.getEntity(ent)
+SAX.entityDecl(recursive, 1, (null), (null), reference)
+SAX.getEntity(recursive)
+SAX.externalSubset(attributes, , )
+SAX.getEntity(ent)
+SAX.getEntity(recursive)
+SAX.getEntity(ent)
+SAX.getEntity(recursive)
+SAX.getEntity(ent)
+SAX.getEntity(recursive)
+SAX.startElementNs(attributes, NULL, NULL, 0, 2, 0, nmtoken='enti...', 47, nmtokens='Test...', 25)
+SAX.endElementNs(attributes, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att2.sax2 b/result/noent/att2.sax2
new file mode 100644
index 0000000..84aebcb
--- /dev/null
+++ b/result/noent/att2.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, attr='to n...', 27)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att3.sax2 b/result/noent/att3.sax2
new file mode 100644
index 0000000..8e7ca86
--- /dev/null
+++ b/result/noent/att3.sax2
@@ -0,0 +1,8 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(select, NULL, NULL, 0, 1, 0, onclick='aaaa...', 17)
+SAX.characters(f, 1)
+SAX.characters( , 2)
+SAX.characters(oo, 2)
+SAX.endElementNs(select, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att4.sax2 b/result/noent/att4.sax2
new file mode 100644
index 0000000..553148c
--- /dev/null
+++ b/result/noent/att4.sax2
@@ -0,0 +1,36976 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( edited with XML Spy v4.4 U (http://www.xmlspy.com) by Slava (GIVC) )
+SAX.startElementNs(electroxml, NULL, NULL, 0, 1, 0, modified='2002...', 15)
+SAX.characters(
+	, 2)
+SAX.startElementNs(data, NULL, NULL, 0, 2, 0, from='2002...', 11, to='2002...', 11)
+SAX.characters(
+		, 3)
+SAX.startElementNs(select, NULL, NULL, 0, 0, 0)
+SAX.characters(
+			, 4)
+SAX.startElementNs(device, NULL, NULL, 0, 1, 0, serialnumb='E000...', 9)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1134...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='55"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1693...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='196....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='199....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='200....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='201....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='199....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='197....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='197....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='197....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='220"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='222"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='220"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='219"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='217....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='224....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='219"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='221....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='221"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='217....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='219"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='222"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='224....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='219"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='219....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='221"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='220....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='225....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='225"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='222....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='224....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='190"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='122....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='354....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='333....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='323....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='278....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='286....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='292....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='21.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='273....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='272....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='285....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='28.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='68.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='147....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='95.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='89.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='88.3...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='92.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='149....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='148....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='127....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='198....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='203....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='124....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='159....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='230....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='79.8...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='51.3...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='22.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='323....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='341....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='46.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='71.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='71.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='63.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='76.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='58.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='92"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='79.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='63.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='51.3...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='81.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='205....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='96.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='95.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='96.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='92.8...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='91.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='86.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='270"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='270....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='296....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='306....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='331....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='13.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='46.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='262....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='143....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='127....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='132....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='128....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='155....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='172....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='196....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='178....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='196....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='202....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='99.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='130....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='132....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='121....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='100....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='153....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='155....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='167....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='165....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='159....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='160....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='165"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='156....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='162....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='154....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='157....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='197....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='203....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='212....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='162"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='149....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='136....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='145....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='164....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='158....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='163"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='165....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='147....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='163"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='177....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='161"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='174....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='203....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='158....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='172....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='172....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='138"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='135....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='157....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='160....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='170"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='167"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='172....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='164....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='151....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='158....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='160....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='207....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='214....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='213....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='210....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='178....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='162....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='156....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='153....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='143....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='160....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='153....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='169....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='139....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='142....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='122....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='125....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='110....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='110....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='190....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='99.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='209....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='76.2...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='61.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='44.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='44.2...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='60.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='64.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='67.3...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='341....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='115....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='117....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='252....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='261....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='313....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='311....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='292"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='57.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='151....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='92.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='93.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='100....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='97.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='184"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='289....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='274....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='39.8...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='6.5"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='355....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='19.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='44.2...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='61.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='55.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='60.2...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='71.7...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='66.3...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='61.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='38.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='17.3...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='35.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='44.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='71.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='125"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='176"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='99.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='90"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='273....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='344....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='307....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='271....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='278....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='291....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='52.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='76.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='87.6...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='174....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='183....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='181....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='165....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='165....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='201....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='205....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='204....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='204....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='208....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='204....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='194....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='194....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='190....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='191....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='191....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='197....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='189....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='201....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='202....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='204....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='196....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='162....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='181....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='183....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='178....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='223....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='228....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='229....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='216....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='226....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='249....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='245....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='250....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='251....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='252....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='259....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='254....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='228....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='227....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='214....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='218....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='217"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='231....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='230....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='52"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='340....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='18.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='357....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='344....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='338....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='28.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='21.8...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='10.4...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='343....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='342....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='358....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='353....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='353....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='1.4"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6.4"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='10.5...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='350....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='350....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='357....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='181....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='194....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='190....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='195"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='198....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='198....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='199....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='200....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='202....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='200....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='203....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='204....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='190....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='164....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='154....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='134....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='154....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='176"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='206....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='216....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='211....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='210....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='211....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='171....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='129....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='157....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='163....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='159....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='177....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='183....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='189....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='202....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='197....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='178....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='160....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='168....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='184"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='191....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='177....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='169....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='159....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='190....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='160"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='192....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='200....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='116....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='162....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='130....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='122"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='183....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='157....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='142....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='145....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='182....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='173....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='169....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='164....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='178....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='158"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='169....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='185....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='191....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='176....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='167....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='154....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='167"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='166....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='146....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='155....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='157....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='189....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='139....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='172"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='189....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='187....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='198....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='193....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='198....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='180....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='180"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='165....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='165....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='160....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='147....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='196....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='178....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='177....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='172"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='156....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='154....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='157"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='166"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='172....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='196....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='179....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='195....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='202....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='209....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='204....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='199....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='175....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='170....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='159....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='156....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='137....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='146"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='139....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='143....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='137....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='177....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='186....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='184....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='191....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='146....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='161....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='188....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1069...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='50.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='49.9...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='50"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8612...', 4, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='25.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='24.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='23.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='26.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='28.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='34.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='40.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='40.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='38.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='35.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='34.1...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.04...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.04...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='36.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='17.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='8.35...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='5.95...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='7.13...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='8.64...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='6.42...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='10.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='14.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='3.54...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='3.8"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='6.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='5.20...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='7.52...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='11.3...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0.95...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='5.77...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='22.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='19.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='1.26...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='3.13...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='6.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.27...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.37...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='7.71...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='8.18...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='9.84...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='5.25...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='2.64...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='7.17...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='19.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.70...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='5.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='5.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='4.40...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='5.16...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='10.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='4.08...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.22...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='6.62...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='2.57...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='3.76...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='2.92...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='4.23...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.44...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='10.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='10.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='14.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='11.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='7.26...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='3.27...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='12.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='8.86...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='8.42...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='7.50...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='7.80...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='10.9...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='5.74...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='2.08...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='7.75...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='16.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='18.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='18.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='13.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='14.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='14.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='14.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='15.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='20.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='20.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='16.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='17.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='10.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='8.73...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='14.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='4.86...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='4.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='6.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.98...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='11.9...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='15.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='22.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='24.1...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='23.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='24.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='25.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='24.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='25.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='23.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='19.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='19.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='16.1...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='16.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='14.2...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='14.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='9.55...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='9.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.33...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='9.77...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='14.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='25.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='21.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='19.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='21.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='22.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='25.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='20.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='22.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='18.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='13.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.71...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.19...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.30...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='14.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='19.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='23.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='20.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='26.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='21.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='22.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='19.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.01...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.01...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.01...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.27...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.20...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.05...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.44...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.16...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.15...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.23...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.33...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.04...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.08...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.05...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.23...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.20...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.16...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.15...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.18...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.15...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.16...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.30...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.25...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.19...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.30...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.03...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.04...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.08...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.60...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.67...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.72...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.47...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.47...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.49...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.49...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.57...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.62...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='35.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='35.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='32.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='28.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='29.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='30.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='28.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='27.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='28.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='25.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='25.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='30.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='32.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='38.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='64.3...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='63.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='60.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='57.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='59.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='56.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='60.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='56.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='37.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='40.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='38.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='32.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='30.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='26.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='21.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='21.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='21.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='20.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='19.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.6...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='29.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='31.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='28.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='32.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='32.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='29.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='29.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='29.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='29.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='29.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='10.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='18.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='23.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='25.8...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='13.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='15.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='22.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='20.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='14.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='18.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='14.8...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='11.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='6.40...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='13.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='18.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='16.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='16.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='17.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='16.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='4.33...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='4.33...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='21.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='20.8...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='22.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='22.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='34.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='33.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='32.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='33.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='34.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='36.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='36.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='36.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='37.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='37.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='37.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='32.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='31.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='31.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='17.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='17.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='16.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='17.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='18.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='32.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='37.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='36.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='37.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='37.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='35.9...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='34.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='31.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='27.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='27.7...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='27.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='9.65...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='8.98...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='8.87...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='11.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='11.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='13.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='12.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='13.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='12.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='12.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='12.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='11.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='11.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='20.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='17.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='17.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='15.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='18.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='19.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='15.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='14.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='14.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='10.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='10.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='10.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='12.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='24.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='27.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='31.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='28.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='26.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='27.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='31.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='30.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='33.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='31.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='27.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='26.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='22.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='21.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='20.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='20.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='17.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='14.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='14.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='13.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='14.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='18.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='22.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='29.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='30.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='31.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='30.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='30.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='29.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='29.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='30.4...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='31.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='28.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='28.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='27.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='26.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='24.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='18.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='17.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='16.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='9.83...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='9.73...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='12.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='17.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='19.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='25.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='28.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='28.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='23.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='22.6...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='22.1...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='27.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='27.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='29.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='27.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='25.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='25.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='21.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='19.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='15.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='15.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='14.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='18.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='22.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='26.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='34.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='35.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='36.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='34.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='32.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='33.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='31.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='36.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='30.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='28.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='28.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='27.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='26.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='21.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='20.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='17.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='17.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='17.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='16.1...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='17.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='20.9...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='21.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='25.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='31.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='33.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='82.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='46.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='22.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='31.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='30.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='28.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='30.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='31.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='28.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='27.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='24.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='22.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='17.5...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='17.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='18.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='20.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='19.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='18.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='18.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='23.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='23.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='26.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='24.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='23.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='23.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='24"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='22.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='26.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='25.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='25.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='24.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='15.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8608...', 4, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='8604...', 4, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='20.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='19.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='19.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='18.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='18.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='22.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='24.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='29.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='35.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='35.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='33.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='30.7...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='29.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0.07...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='30.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='10.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='3.83...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='3.30...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='4.19...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='2.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='4.91...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='7.89...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='2.93...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='1.48...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='2.19...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='1.67...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='5.98...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='10.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='3.65...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='7.25...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='19.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='21.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='18.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='3.45...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='4.91...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='7.33...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='7.20...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='9.19...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='8.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='7.68...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='8.66...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='7.73...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='5.14...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='5.08...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='18.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='4.67...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='3.97...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='2.24...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='2.51...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='4.78...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='10.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='5.86...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='9.66...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='5.19...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='5.35...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='7.74...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='3.65...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='4.23...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='3.28...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='5.65...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='2.24...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='12.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='15.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='11.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='15.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='12.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='8.53...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='1.47...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='7.44...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='4.26...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='3.80...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='3.75...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='5.53...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='9.52...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='1.98...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='4.15...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='9.62...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='19.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='19.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='14.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='12.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='13.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='13.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='13.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='13.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='18.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='15.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='15.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='11.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='9.89...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='7.99...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='13.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='6.33...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='5.63...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='7.36...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='14.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='9.67...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='12.8...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='14.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='21.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='22.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='20.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='22.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='22.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='24.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='23.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='23.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='22.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='18.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='18.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='15.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='16.3...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='15.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='12.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='12.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='8.94...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='8.83...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='8.79...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='10.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='13.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='15.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='19.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='22.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='21.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='23.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='20.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='18.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='20.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='19.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='21.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='23.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='21.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='19.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='20.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='17.3...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='16.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='13.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='12.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='8.96...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='8.31...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='8.35...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='8.49...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='10.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='13.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='15.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='18.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='22.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='19.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='23.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='20.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='19.8...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='20.8...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='18.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0.02...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0.02...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0.01...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0.00...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0.01...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0.01...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.26...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.12...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.16...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.22...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.24...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.23...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.23...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.08...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.41...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.19...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.15...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.14...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.30...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.20...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.09...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.03...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.08...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.25...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.22...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.19...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.04...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.15...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.12...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.18...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.28...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.16...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.15...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.24...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.21...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.18...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.09...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.29...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.06...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.06...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.04...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.05...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.07...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.03...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.02...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.07...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.17...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.22...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.57...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.63...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.67...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.45...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.46...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.47...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.48...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.56...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.59...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='34.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='33.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='34.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='31.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='26.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='26.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='28.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='25.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='24.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='25.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='22.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='22.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='28.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='30.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='35.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='61.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='61.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='58.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='54.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='56.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='53.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='57.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='53.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='36.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='36.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='35.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='29.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='28.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='25.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='19.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='19.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='19.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='18.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='18.1...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='20.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='25.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='27.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='29.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='27.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='30.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='29.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='28.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='28.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='28.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='28.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='28.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='11.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='14.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='19.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='20.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='11.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='12.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='16.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='15.1...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='9.95...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='12.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='12.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='9.68...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='6.80...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='4.55...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='10.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='14.6...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='14.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='13.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='15.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='13.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='12.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='3.99...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='2.18...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='16.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='14.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='15.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='29.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='27.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='25.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='24.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='25.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='28.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='28.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='28.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='30.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='30.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='30.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='24.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='23.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='23.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='15.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='16.6...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='16.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='15.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='16.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='16.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='27.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='31.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='31.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='32.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='31.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='30.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='29.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='27.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='23.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='23.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='23.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='8.57...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='7.91...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='7.85...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='9.84...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='10.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='11.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='11.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='12.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='11.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='11.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='10.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='10.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='10.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='13.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='19.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='16.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='15.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='15.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='14.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='15.7...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='16.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='13.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='11.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='11.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='9.24...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='8.96...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='9.42...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='11.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='18.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='15.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='23.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='26.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='29.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='25.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='25.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='26.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='30.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='28.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='30.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='28.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='24.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='23.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='21.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='19.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='18.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='15.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='13.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='13.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='12.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='13.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='17.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='25.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='27.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='28.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='27.6...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='28.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='27.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='27.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='28.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='27.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='26.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='25.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='24.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='24.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='17.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='16.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='14.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='18.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='10.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='10.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='13.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='17.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='15.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='17.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='21.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='24.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='26.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='27.0...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='22.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='21.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='20.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='25.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='25.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='27.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='25.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='24.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='23.8...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='20.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='18.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='14.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='14.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='14.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='13.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='13.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='15.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='17.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='20.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='24.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='32.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='34.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='34.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='31.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='29.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='30.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='29.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='34.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='28.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='25.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='26.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='24.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='24.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='20.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='18.2...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='15.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='15.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='15.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='15.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='16.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='19.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='20.0...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='23.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='29.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='31.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='75.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='41.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='21.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='29.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='28.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='27.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='28.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='29.3...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='26.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='25.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='23.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='21.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='20.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='16.3...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='15.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='16.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='17.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='16.8...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='16.6...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='17.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='18.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='18.4...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='22.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='22.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='25.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='22.9...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='23.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='21.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='23.5...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='23.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='22.7...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='22.3...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='23.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='18.2...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='14.1...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9812...', 4, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='114....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='113....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='127....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='127....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='127....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='127....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='115....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='124....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='125....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9808...', 4, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='9804...', 4, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='113....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='109....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='125....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='127....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='112....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='113....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='114....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='114....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='121....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='113....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='124....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0.11...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0.11...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0.10...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='128....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='126....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='125....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='116....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='125....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='123....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='122....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='126....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='121....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='118....', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='120....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='123....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='125....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='115....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='119....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='117....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='114....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='124....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='124....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='116....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='118....', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='123....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='117....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='119....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='121....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='118....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='120....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='122....', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4406...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-127...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-148...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-156...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-164...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-144...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-127...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-104...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-169...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-176...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-166...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-206...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-199...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-192...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-201...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-184...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-631...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1564...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-66"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-393...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-691...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-883...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-157...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-220...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='109"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-420...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-859...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-628...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='516"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1839...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='293"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1185...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3946...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='4230...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3689...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='248"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='430"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='1026...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-526...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-258...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-65"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-489...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-842...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='1082...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='310"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-111...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3632...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='513"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='214"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-292...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-127...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='495"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1815...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='818"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1539...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='680"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='712"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1280...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='397"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='493"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='250"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='785"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-201...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='2156...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2937...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='2107...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2824...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='2269...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1441...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-297...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-228...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-118...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-964...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-442...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='261"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1309...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-849...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='178"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='1111...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2750...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2769...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2973...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1327...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='454"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='199"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='167"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='556"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='416"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-370...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-115...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-843...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='171"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-646...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-723...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2665...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='837"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='698"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='1097...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2649...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-495...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='1165...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='542"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1871...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='979"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1210...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-356...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1654...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1368...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1462...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1612...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1309...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1886...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='1136...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1169...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1403...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1316...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-104...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-119...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-160...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-199...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-252...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='585"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='1069...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1973...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1831...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='1127...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1767...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1343...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1564...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='849"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='805"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='1093...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='880"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1254...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2664...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1368...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='1009...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='208"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='22"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='1142...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='286"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-116...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='712"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='227"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='236"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='372"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1441...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='2015...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1211...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1284...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='369"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-310...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-802...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='781"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='491"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='1023...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='516"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='2"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='2274...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1775...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1153...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='769"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-846...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-236...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-296...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-251...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-244...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-286...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-227...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-125...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-716...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-148...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-200...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-105...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-978...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-126...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-317...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-266...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-254...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-237...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-112...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1219...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-106...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-151...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-128...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-190...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-162...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-778...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-173...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-174...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-187...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-120...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-211...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1619...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-764...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-827...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='40"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-199...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-967...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-680...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-385...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-241...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='371"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='471"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='61"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-244...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-344...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-386...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-165...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-227...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-413...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-373...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-265...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-328...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-337...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-270...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-797...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-204...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-279...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-193...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-209...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-221...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-267...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-253...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='453"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-157...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='1143...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-146...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-100...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-140...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2949...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='2229...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='1022...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-162...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-183...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-211...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-767...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-792...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='173"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='776"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1249...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-957...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-911...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-243...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-65"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-308...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-811...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-806...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-952...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-716...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-161...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-191...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-180...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-222...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-227...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-231...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-228...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-233...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-186...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-213...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-220...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-296...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-449...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-142...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-422...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-365...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-581...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-263...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-325...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-142...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-355...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-310...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='496"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='660"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1246...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2889...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1532...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-143...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-518...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='225"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-166...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-233...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-172...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-148...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-151...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-476...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-193...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='128"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='376"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2872...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='408"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1923...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1830...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1798...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='334"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1260...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1815...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='2272...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='262"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-387...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-613...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-251...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-885...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='551"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='48"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-982...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-161...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-112...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-381...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-441...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='71"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='1020...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='760"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-319...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-114...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='302"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-319...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-582...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='408"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='1031...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1139...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='2082...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-120...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='622"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='456"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-736...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-818...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1684...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='307"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-801...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-125...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='3308...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='506"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='639"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1963...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2867...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-831...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-270...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='2010...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='3408...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='3190...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-187...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-225...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='531"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-823...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='62"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='1079...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1547...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='900"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='112"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1780...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1407...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='298"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='565"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-311...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-657...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='168"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='647"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1427...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='829"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-5"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1197...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3751...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2991...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2801...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-118...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-828...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-799...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='57"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='4601...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1911...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='799"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-972...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-708...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-790...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-490...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-131...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-825...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-101...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-117...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-35"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1352...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='1059...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1290...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='2079...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3618...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-468...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-247...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-556...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='189"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='260"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='816"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2489...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2732...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='2234...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='57"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1219...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='632"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-136...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='38"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-980...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-150...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-211...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-161...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-131...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-432...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='309"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='685"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1692...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1899...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3622...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2709...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='3037...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2898...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3251...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='186"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-636...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-421...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-729...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-978...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2670...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1255...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-496...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4246...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-431...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-410...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-409...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-398...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-393...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-443...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-532...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-629...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-733...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-754...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-724...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-686...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-645...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-646...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-354...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-986...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='697"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='776"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='925"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='125"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='456"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='903"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='278"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='27"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='43"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='173"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='947"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='728"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-452...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-117...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='23"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='182"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-152...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-423...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-705...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-790...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-157...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-202...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-172...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-190...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-741...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-812...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-891...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='652"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='411"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='516"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='398"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='382"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='470"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='267"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='770"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='164"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='438"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-43"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='72"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='249"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='201"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='115"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-425...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-229...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-284...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-247...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-135...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-54"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='96"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='16"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='598"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='721"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='818"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1067...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1245...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-117...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-721...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-150...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-208...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-255...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-234...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-292...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-271...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-285...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-292...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-280...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-303...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-401...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-391...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-341...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-344...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-256...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-213...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-176...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-465...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-702...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-647...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-676...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-509...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-215...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-235...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-317...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-403...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-433...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-465...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-466...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-434...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-457...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-492...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-460...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-486...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-389...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-378...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-298...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-309...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-333...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-252...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-207...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-178...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-269...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-393...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-440...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-436...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-469...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-392...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-410...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-418...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-445...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-413...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-449...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-388...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-329...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-177...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-181...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-180...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-159...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-205...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-296...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-429...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-525...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-440...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-432...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-442...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-395...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-686...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-679...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-725...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-673...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-603...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-589...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-544...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-533...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-631...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-683...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-785...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-135...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-127...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-118...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-123...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-117...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-126...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-118...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-747...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-812...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-769...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-653...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-617...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-448...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-426...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-411...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-410...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-451...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-603...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-639...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-589...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-669...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-660...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-615...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-612...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-622...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-604...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-600...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-229...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-254...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-308...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-326...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-226...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-215...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-153...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-960...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-106...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-505...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-536...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-991...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-257...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-284...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-260...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-292...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-211...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-207...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='354"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='438"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3408...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3269...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3655...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3521...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5431...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5560...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5660...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5623...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5896...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6656...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6647...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6733...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6914...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6873...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6691...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5814...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5617...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5608...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-323...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-365...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-344...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-360...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-373...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-599...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-671...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-658...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-676...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-680...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-652...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-617...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-567...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-491...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-181...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-183...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-225...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-232...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-268...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-267...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-277...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-268...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-265...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-255...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-235...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-231...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-258...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-281...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-318...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-357...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-354...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-314...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-334...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-313...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-250...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-215...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-249...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-236...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-351...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-456...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-534...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-605...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-579...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-534...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-539...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-609...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-677...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-637...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-547...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-538...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-460...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-431...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-405...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-386...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-348...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-311...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-294...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-281...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-364...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-449...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-579...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-617...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-610...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-621...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-589...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-598...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-563...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-621...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-578...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-572...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-553...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-540...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-460...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-361...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-207...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-205...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-179...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-348...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-391...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-457...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-478...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-445...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-469...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-483...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-465...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-445...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-553...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-586...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-522...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-516...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-438...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-421...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-401...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-322...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-331...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-318...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-297...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-294...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-293...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-357...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-454...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-511...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-573...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-651...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-677...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-675...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-636...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-654...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-627...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-540...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-579...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-564...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-574...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-544...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-544...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-455...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-401...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-361...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-355...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-340...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-360...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-402...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-418...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-499...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-581...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-559...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-152...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-869...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-457...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-631...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-610...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-575...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-576...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-564...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-524...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-556...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-487...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-461...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-461...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-361...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-346...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-356...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-367...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-361...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-386...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-396...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-388...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-438...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-427...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-396...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-400...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-356...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-387...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-356...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-469...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-519...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-521...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-503...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-496...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-404...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-370...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-321...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4382...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-110...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-128...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-135...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-142...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-124...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-110...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-909...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-147...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-152...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-143...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-178...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-175...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-168...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-174...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-159...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-500...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='1379...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='-45"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='-346...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='-580...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='-752...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='-136...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='-190...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='101"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='-366...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='-740...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='-550...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='432"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='1595...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='275"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='1019...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='3444...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='3629...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='3203...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='215"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='380"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='890"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-446...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-200...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-44"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-424...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-718...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='946"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='276"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-944...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='3129...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='453"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='194"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='-246...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='-122...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='430"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='1582...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='720"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='1333...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='588"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='642"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='1096...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='313"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='374"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='204"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='692"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-196...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='1888...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='2502...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='1840...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='2437...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='1930...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='1219...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='-250...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='-197...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='-102...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='-107...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='-388...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='229"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1131...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-726...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='166"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='965"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='2341...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='2354...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='2565...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='1136...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='367"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='173"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='156"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='460"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='358"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-308...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-100...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='93"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-723...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='147"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-551...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-626...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='2316...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='714"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='600"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='953"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='2267...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-403...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='999"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='475"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='1663...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='829"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='1055...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-314...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='1431...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='1201...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='1280...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='1431...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='1145...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='1635...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='957"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='1019...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='1219...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='1143...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-893...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-101...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-138...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-182...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-220...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='502"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='940"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='1719...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='1592...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='960"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='1537...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='1177...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='1337...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='737"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='723"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='917"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='794"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='1075...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='2328...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='1192...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='867"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='184"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='12"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='978"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='256"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-100...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='614"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='205"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='195"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='316"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='1241...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='1748...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='1046...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='1099...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='309"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-202...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-722...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='680"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='440"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='870"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='475"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='2"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='1"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='1959...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='1506...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='1027...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='677"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-759...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-204...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-255...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-217...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-212...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-248...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-107...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-524...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-136...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-175...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-893...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-845...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-114...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-271...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-229...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-220...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-203...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-997...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='1048...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-955...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-133...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-112...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-162...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-141...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-671...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-150...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-151...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-161...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-103...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-192...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='1397...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-627...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-711...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='20"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-130...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-843...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-642...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-320...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-210...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='295"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='417"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='37"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-210...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-298...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-332...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-143...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-357...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-323...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-228...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-284...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-294...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-234...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-171...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-668...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-176...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-241...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-172...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-183...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-188...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-234...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-217...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='374"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='-132...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='993"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='-150...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='-843...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='-119...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='2577...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='1582...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='909"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='-140...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='-159...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='-186...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='-658...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='-679...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='89"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='680"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='1095...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='-832...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='-785...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='-228...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-40"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-280...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-697...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-697...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-811...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-629...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-140...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-166...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-157...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-192...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-197...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-201...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-200...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-161...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-185...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-190...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-251...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-386...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-121...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-365...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-313...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-506...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-232...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-288...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-121...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-310...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-245...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='439"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='609"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='1078...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='2491...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='1327...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-115...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-442...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='203"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-143...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-201...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-149...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-128...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-130...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-409...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-162...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='90"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='319"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='2483...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='357"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='1681...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='1572...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='1575...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='302"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='1076...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='1555...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='1971...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='239"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-351...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-527...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-215...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-782...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='452"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='60"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-848...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-138...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-989...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-325...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-382...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='60"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='884"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='659"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-264...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-990...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='289"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-292...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-542...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='366"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='909"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='992"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='1808...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-104...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='543"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='377"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-619...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-712...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='1459...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='257"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-696...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-108...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='2873...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='421"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='557"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='1696...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='2480...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-707...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-237...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='1730...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='2990...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='2746...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-174...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-194...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='485"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-729...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='70"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='907"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='1297...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='776"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='123"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='1557...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='1208...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='253"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='508"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-274...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-571...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='146"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='567"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='1222...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='733"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='8"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='1041...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='3222...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='2576...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='2422...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-103...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-746...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-661...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='45"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='3983...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='1694...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='709"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-844...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-605...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-661...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-436...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-115...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-716...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-877...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-102...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='1185...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='884"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='1103...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='1789...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='3132...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-403...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-211...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-498...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='174"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='210"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='710"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='2127...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='2386...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='1916...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='53"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='1070...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='564"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-118...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='34"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-847...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-131...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-184...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-140...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-112...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-372...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='269"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='572"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='1413...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='1586...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='3161...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='2347...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='2627...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='2502...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2818...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='158"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-545...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-370...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-624...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-847...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='2315...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='1099...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-417...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='4222...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e08"...', 3, v='-416...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c32...', 4, v='-409...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a3c...', 4, v='-408...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3835...', 4, v='-396...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4645...', 4, v='-396...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5455...', 4, v='-441...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6265...', 4, v='-535...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7075...', 4, v='-631...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e85...', 4, v='-729...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c96...', 4, v='-751...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aa5...', 4, v='-735...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8b6...', 4, v='-689...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6c5...', 4, v='-646...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4d7...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d30b...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0f6...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef06...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd17...', 4, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1274...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1518...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189b...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5d...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b3e...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c1f...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d00...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2246...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='278c...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='286d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='294e...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2b10...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2bf1...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2cd2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2db3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2e94...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2f75...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3056...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3137...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3219...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='32f9...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='33da...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='34bb...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='359d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='367d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='375e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3840...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3921...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3a01...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ae2...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3bc3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3ca4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3d85...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3e66...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='3f48...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4028...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4109...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='41ea...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='42cb...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='43ac...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='448d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='456e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='464f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='480f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='48f0...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='49d1...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ab4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4b95...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4c76...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4d57...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4e38...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4f19...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='4ffa...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='50dd...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='51bc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='529d...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='537e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5460...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5540...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5621...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5702...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='57e3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='58c4...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='59a7...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5a86...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5b67...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5c48...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5d29...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5e0a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5eeb...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5fcc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='60ad...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='618e...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='626f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6350...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6431...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6512...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='65f3...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='66d4...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='67b5...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6896...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6978...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6a58...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6b39...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6c1a...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6cfb...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ddc...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6ebd...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='6f9e...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='707f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7160...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7241...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7322...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7403...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='74e4...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='75c5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='76a6...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7787...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7868...', 5, v='-6"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7948...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7a29...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7b0a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7beb...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7ccc...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7dad...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7e8f...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f70...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8051...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8132...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8213...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='82f4...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='83d5...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='84b6...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8597...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8678...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8759...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='883a...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='891b...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='89fc...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8add...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8bbe...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8c9f...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8d80...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8e61...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='8f42...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9023...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9104...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='91e5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='92c6...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='93a8...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9488...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9569...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='964a...', 5, v='-9"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='972b...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='980c...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='98ed...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='99ce...', 5, v='-8"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9aaf...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9b90...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9c71...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9d52...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9e33...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9f14...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='9ff5...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a0d6...', 5, v='-7"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a1b7...', 5, v='-632...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a298...', 5, v='-351...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a379...', 5, v='-963...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a45a...', 5, v='644"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a53b...', 5, v='700"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a61c...', 5, v='942"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a6fd...', 5, v='99"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a7e0...', 5, v='464"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a8c0...', 5, v='912"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a0...', 5, v='289"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aa81...', 5, v='32"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ab62...', 5, v='46"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ac43...', 5, v='200"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ad24...', 5, v='921"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ae05...', 5, v='744"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='aee6...', 5, v='-561...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='afc7...', 5, v='-68"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b0a8...', 5, v='31"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b26a...', 5, v='142"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b34b...', 5, v='-123...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b42c...', 5, v='-451...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b50d...', 5, v='-729...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b5ee...', 5, v='-712...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b6cf...', 5, v='-158...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b7b0...', 5, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b891...', 5, v='-175...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='b972...', 5, v='-175...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ba53...', 5, v='-189...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bb34...', 5, v='-827...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bc15...', 5, v='-882...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bcf6...', 5, v='-899...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bdd8...', 5, v='644"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='beb8...', 5, v='417"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='bf99...', 5, v='524"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c07a...', 5, v='400"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c15b...', 5, v='372"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c23c...', 5, v='484"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c31d...', 5, v='591"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c3fe...', 5, v='336"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c4df...', 5, v='741"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c5c0...', 5, v='114"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c6a1...', 5, v='507"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c782...', 5, v='-51"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c863...', 5, v='136"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='c944...', 5, v='334"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ca25...', 5, v='235"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cb06...', 5, v='116"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cbe7...', 5, v='-417...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ccc8...', 5, v='-232...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cda9...', 5, v='-184...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ce8a...', 5, v='-219...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='cf6b...', 5, v='-134...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d04c...', 5, v='-51"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d12d...', 5, v='143"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d20e...', 5, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d2f0...', 5, v='11"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d3d0...', 5, v='600"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b1...', 5, v='644"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d592...', 5, v='836"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d673...', 5, v='1068...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d754...', 5, v='1213...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d835...', 5, v='-135...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d916...', 5, v='-755...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d9f7...', 5, v='-149...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dad8...', 5, v='-201...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dbb9...', 5, v='-256...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dc9a...', 5, v='-233...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='dd7b...', 5, v='-289...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='de5c...', 5, v='-278...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='df3d...', 5, v='-291...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e01d...', 5, v='-291...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e0fe...', 5, v='-283...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e1df...', 5, v='-301...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e2c0...', 5, v='-409...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e3a1...', 5, v='-397...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e482...', 5, v='-337...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e563...', 5, v='-342...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e644...', 5, v='-255...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e725...', 5, v='-218...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e806...', 5, v='-175...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e8e7...', 5, v='-477...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='e9c8...', 5, v='-709...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eaa9...', 5, v='-653...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eb8a...', 5, v='-653...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ec6b...', 5, v='-468...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ed4c...', 5, v='-211...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ee2d...', 5, v='-223...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ef0e...', 5, v='-319...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='eff0...', 5, v='-408...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f0d1...', 5, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f1b2...', 5, v='-455...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f293...', 5, v='-462...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f374...', 5, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f455...', 5, v='-460...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f536...', 5, v='-485...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f617...', 5, v='-461...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f6f8...', 5, v='-481...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f7d9...', 5, v='-424...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f8ba...', 5, v='-391...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='f99b...', 5, v='-380...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fa7c...', 5, v='-302...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fb5d...', 5, v='-303...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fc3e...', 5, v='-329...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fd1f...', 5, v='-268...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fe00...', 5, v='-253...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee1...', 5, v='-208...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='ffc2...', 5, v='-198...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='100a...', 6, v='-179...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1018...', 6, v='-179...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1026...', 6, v='-207...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1034...', 6, v='-272...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1042...', 6, v='-401...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1050...', 6, v='-432...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='105e...', 6, v='-433...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='106c...', 6, v='-472...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='107a...', 6, v='-433...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1088...', 6, v='-390...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1096...', 6, v='-411...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10a4...', 6, v='-432...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10b2...', 6, v='-434...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10c1...', 6, v='-416...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10cf...', 6, v='-435...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10dd...', 6, v='-416...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10eb...', 6, v='-445...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='10f9...', 6, v='-389...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1107...', 6, v='-328...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1115...', 6, v='-286...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1123...', 6, v='-266...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1131...', 6, v='-179...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='113f...', 6, v='-179...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='114d...', 6, v='-182...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='115b...', 6, v='-178...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1169...', 6, v='-158...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1177...', 6, v='-208...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1185...', 6, v='-288...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1193...', 6, v='-355...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11a2...', 6, v='-483...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11b0...', 6, v='-432...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11be...', 6, v='-539...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11cc...', 6, v='-445...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11da...', 6, v='-427...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11e8...', 6, v='-435...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='11f6...', 6, v='-390...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1205...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1213...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1221...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='122f...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='123d...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='124b...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1259...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1267...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1276...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1283...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='129f...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12ad...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12bb...', 6, v='-1"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12c9...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12d7...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12e5...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='12f3...', 6, v='-2"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1301...', 6, v='-4"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='130f...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='131d...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='132b...', 6, v='-3"/...', 2)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1339...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1347...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1355...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1364...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1372...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1380...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='138e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='139c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13aa...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13b8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13c6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13d4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13e2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13f0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='13fe...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='140c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='141a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1428...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1436...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1445...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1453...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1461...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='146f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='147d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='148b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1499...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14a7...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14b5...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14c3...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14d1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14df...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14ed...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='14fb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1509...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1517...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1526...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1542...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1550...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='155e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='156c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='157a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1588...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1596...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15a4...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15b2...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15c0...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ce...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15dc...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15ea...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='15f8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1607...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1615...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1623...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1631...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='163f...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='164d...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='165b...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1669...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1677...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1685...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1693...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16a1...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16af...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16bd...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16cb...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16d9...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16e8...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='16f6...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1704...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1712...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1720...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='172e...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='173c...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='174a...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1758...', 6, v='0"/>...', 1)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1766...', 6, v='-684...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1774...', 6, v='-684...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1782...', 6, v='-727...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1790...', 6, v='-671...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='179e...', 6, v='-604...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ac...', 6, v='-587...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17ba...', 6, v='-606...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17c9...', 6, v='-548...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='-543...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17e5...', 6, v='-534...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17f3...', 6, v='-498...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1801...', 6, v='-519...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='180f...', 6, v='-632...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='181d...', 6, v='-692...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='182b...', 6, v='-788...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1839...', 6, v='-134...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1847...', 6, v='-133...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1855...', 6, v='-128...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1863...', 6, v='-119...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1871...', 6, v='-124...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='187f...', 6, v='-116...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='188d...', 6, v='-125...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='189c...', 6, v='-119...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18b8...', 6, v='-756...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18c6...', 6, v='-810...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18d4...', 6, v='-767...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18e2...', 6, v='-656...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18f0...', 6, v='-616...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='18fe...', 6, v='-566...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='190c...', 6, v='-447...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='191a...', 6, v='-430...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1928...', 6, v='-425...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1936...', 6, v='-412...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1944...', 6, v='-412...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1952...', 6, v='-449...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1960...', 6, v='-513...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='196e...', 6, v='-596...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='197c...', 6, v='-635...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='198b...', 6, v='-596...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1999...', 6, v='-661...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19b5...', 6, v='-661...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19c3...', 6, v='-619...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19d1...', 6, v='-623...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19df...', 6, v='-631...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ed...', 6, v='-607...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19ee...', 6, v='-607...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='19fb...', 6, v='-239...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a09...', 6, v='-260...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a17...', 6, v='-305...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a25...', 6, v='-333...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a33...', 6, v='-223...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a41...', 6, v='-213...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a4f...', 6, v='-154...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a5e...', 6, v='-167...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a6c...', 6, v='-969...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a7a...', 6, v='-112...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a88...', 6, v='-107...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='-481...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aa4...', 6, v='-537...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ab2...', 6, v='-995...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ac0...', 6, v='-181...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ace...', 6, v='-263...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1adc...', 6, v='-292...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1aea...', 6, v='-259...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1af8...', 6, v='-289...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b06...', 6, v='-217...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1b14...', 6, v='-209...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='311"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c82...', 6, v='399"...', 3)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c90...', 6, v='3486...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c9e...', 6, v='3357...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cac...', 6, v='3670...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cba...', 6, v='3580...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cc8...', 6, v='5398...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cd6...', 6, v='5478...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ce4...', 6, v='5618...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1cf2...', 6, v='5659...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d01...', 6, v='5923...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d0f...', 6, v='6651...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d1d...', 6, v='6654...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d2b...', 6, v='6713...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d39...', 6, v='6885...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d47...', 6, v='6893...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d55...', 6, v='6705...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d63...', 6, v='5853...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d71...', 6, v='5545...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d7f...', 6, v='5589...', 4)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d8d...', 6, v='-321...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1d9b...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1da9...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1db7...', 6, v='-347...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dc5...', 6, v='-363...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dd3...', 6, v='-372...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1de1...', 6, v='-603...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1df0...', 6, v='-675...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1dfe...', 6, v='-664...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e0c...', 6, v='-677...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e1a...', 6, v='-679...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e28...', 6, v='-659...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e36...', 6, v='-613...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e44...', 6, v='-565...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e52...', 6, v='-491...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e60...', 6, v='-490...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e6e...', 6, v='-480...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e7c...', 6, v='-197...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e8a...', 6, v='-182...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1e98...', 6, v='-182...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ea6...', 6, v='-227...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eb4...', 6, v='-233...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ec2...', 6, v='-264...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ed1...', 6, v='-264...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1edf...', 6, v='-274...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1eed...', 6, v='-272...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1efb...', 6, v='-258...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f09...', 6, v='-254...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='-237...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f25...', 6, v='-233...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f33...', 6, v='-256...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f41...', 6, v='-278...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f4f...', 6, v='-319...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f5d...', 6, v='-358...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f6b...', 6, v='-359...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f79...', 6, v='-312...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f87...', 6, v='-333...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f95...', 6, v='-314...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fa4...', 6, v='-280...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fb2...', 6, v='-248...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fc0...', 6, v='-249...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fce...', 6, v='-217...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fdc...', 6, v='-213...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1fea...', 6, v='-215...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1ff8...', 6, v='-250...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2006...', 6, v='-239...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2014...', 6, v='-346...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2022...', 6, v='-451...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2030...', 6, v='-535...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='203e...', 6, v='-591...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='204c...', 6, v='-577...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='205a...', 6, v='-528...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2068...', 6, v='-538...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2076...', 6, v='-597...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2084...', 6, v='-610...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2093...', 6, v='-674...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20a1...', 6, v='-631...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20af...', 6, v='-553...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20bd...', 6, v='-545...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20cb...', 6, v='-463...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20d9...', 6, v='-434...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20e7...', 6, v='-404...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='20f5...', 6, v='-385...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2103...', 6, v='-351...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2111...', 6, v='-313...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='211f...', 6, v='-301...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='212d...', 6, v='-290...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='213b...', 6, v='-282...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2149...', 6, v='-368...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2157...', 6, v='-450...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2165...', 6, v='-584...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2174...', 6, v='-619...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2182...', 6, v='-616...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2190...', 6, v='-614...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='219e...', 6, v='-622...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ac...', 6, v='-593...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='-592...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21c8...', 6, v='-555...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21d6...', 6, v='-624...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21e4...', 6, v='-575...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21f2...', 6, v='-577...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2200...', 6, v='-546...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='220e...', 6, v='-539...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='221c...', 6, v='-454...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='222a...', 6, v='-387...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2238...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2247...', 6, v='-329...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2255...', 6, v='-168...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2263...', 6, v='-208...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2271...', 6, v='-204...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='227f...', 6, v='-167...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='228d...', 6, v='-178...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='229b...', 6, v='-349...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22a9...', 6, v='-408...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22b7...', 6, v='-445...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22c5...', 6, v='-481...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22d3...', 6, v='-440...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22e1...', 6, v='-462...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22ef...', 6, v='-482...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='22fd...', 6, v='-464...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='230b...', 6, v='-443...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2319...', 6, v='-539...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2327...', 6, v='-555...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2336...', 6, v='-588...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2344...', 6, v='-520...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2352...', 6, v='-520...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2360...', 6, v='-525...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='236e...', 6, v='-434...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='237c...', 6, v='-419...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='238a...', 6, v='-399...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2398...', 6, v='-319...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23a6...', 6, v='-332...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23b4...', 6, v='-319...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23c2...', 6, v='-296...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23d0...', 6, v='-295...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23de...', 6, v='-291...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23ec...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='23fa...', 6, v='-456...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2408...', 6, v='-501...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2417...', 6, v='-579...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2425...', 6, v='-660...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2433...', 6, v='-678...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2441...', 6, v='-673...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='244f...', 6, v='-643...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='-641...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2479...', 6, v='-626...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2487...', 6, v='-537...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2495...', 6, v='-570...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24a3...', 6, v='-566...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24b1...', 6, v='-581...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24bf...', 6, v='-549...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24cd...', 6, v='-536...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24db...', 6, v='-453...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24e9...', 6, v='-400...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='24f8...', 6, v='-348...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2506...', 6, v='-359...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2514...', 6, v='-357...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2522...', 6, v='-342...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2530...', 6, v='-361...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='253e...', 6, v='-406...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='254c...', 6, v='-420...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='255a...', 6, v='-497...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2568...', 6, v='-584...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2576...', 6, v='-566...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2584...', 6, v='-151...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2592...', 6, v='-862...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25a0...', 6, v='-460...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ae...', 6, v='-632...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25bc...', 6, v='-612...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25ca...', 6, v='-581...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25d9...', 6, v='-580...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25e7...', 6, v='-562...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='25f5...', 6, v='-531...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2603...', 6, v='-554...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2611...', 6, v='-491...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='261f...', 6, v='-458...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='262d...', 6, v='-467...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='263b...', 6, v='-369...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2649...', 6, v='-349...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2657...', 6, v='-358...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2665...', 6, v='-368...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2673...', 6, v='-360...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2681...', 6, v='-368...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='268f...', 6, v='-385...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='269d...', 6, v='-392...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ab...', 6, v='-395...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26ba...', 6, v='-446...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26c8...', 6, v='-425...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26d6...', 6, v='-391...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26e4...', 6, v='-389...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='26f2...', 6, v='-353...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2700...', 6, v='-379...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='-362...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='271c...', 6, v='-454...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='272a...', 6, v='-517...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2738...', 6, v='-503...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2746...', 6, v='-502...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2754...', 6, v='-502...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2762...', 6, v='-399...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2770...', 6, v='-355...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='277e...', 6, v='-320...', 5)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6746...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2212...', 155)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6738...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 147)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6734...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='7289...', 176)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='6730...', 6, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0:0:...', 87)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 258)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::5...', 185)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6::1...', 186)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6::1...', 201)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='629:...', 257)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='2289...', 258)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1954...', 292)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2.48...', 279)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.00...', 304)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5016...', 313)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1243...', 68)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8197...', 288)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8270...', 280)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6511...', 268)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='3280...', 278)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8226...', 56)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 162)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='273:...', 298)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='16::...', 298)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='14::...', 323)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 306)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 294)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 223)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1413...', 268)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='303:...', 270)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='5304...', 297)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1514...', 280)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1776...', 61)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 265)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::8...', 208)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8::1...', 206)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8::1...', 222)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2::4...', 228)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='0::0...', 292)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4757...', 350)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='3.74...', 307)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0::0...', 234)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1113...', 339)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='3972...', 63)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1295...', 285)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='3876...', 321)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6481...', 322)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='7162...', 331)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='5709...', 61)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='2627...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 157)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='1070...', 279)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1231...', 208)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='0::0...', 237)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='0.03...', 296)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='0::0...', 146)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='0::0...', 28)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='9208...', 271)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='0::0...', 25)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1314...', 7, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='2703...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3066...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1576...', 7)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='1313...', 7, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='1270...', 6)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::1...', 324)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='2226...', 336)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='2243...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='2261...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2937...', 336)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3974...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='4804...', 369)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='5025...', 523)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='5025...', 490)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='5944...', 361)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1369...', 78)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1748...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='2118...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2325...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2434...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='2668...', 70)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 165)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='2745...', 327)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='5015...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9659...', 415)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1317...', 573)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1317...', 539)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1382...', 386)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1443...', 78)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1627...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1747...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='2013...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='2534...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='3009...', 70)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::4...', 328)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='7309...', 336)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='7346...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='7382...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8444...', 336)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9988...', 377)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='2254...', 421)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1520...', 573)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1520...', 540)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='4071...', 386)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='7095...', 78)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='7709...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8856...', 400)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1085...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1306...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1537...', 79)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='5251...', 8, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='0::0...', 144)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='0::0...', 142)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='0::0...', 160)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='4546...', 306)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='1353...', 334)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='1715...', 374)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1715...', 526)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1715...', 486)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='1715...', 338)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1715...', 68)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='2636...', 367)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1270...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1270...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1270...', 382)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1270...', 70)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3460...', 5, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='6094...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='6116...', 432)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='6117...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='6117...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='6123...', 432)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='6134...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='6142...', 449)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1448...', 572)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1448...', 543)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='6154...', 434)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='6231...', 88)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='6269...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='6306...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='6327...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='6338...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='6361...', 79)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3380...', 5, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='8817...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='8817...', 480)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='8817...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='8817...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='8818...', 480)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='8822...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='8827...', 495)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='1111...', 570)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='1112...', 552)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='8831...', 482)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='8832...', 98)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='8834...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='8835...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='8838...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='8843...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='8848...', 88)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3340...', 5, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='9437...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='9510...', 432)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='9511...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='9511...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='9522...', 432)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='9537...', 430)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='9663...', 449)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='8980...', 518)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1534...', 6, v='8983...', 507)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='17d7...', 6, v='9844...', 466)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1a96...', 6, v='1014...', 98)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1c74...', 6, v='1020...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1f17...', 6, v='1032...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='21ba...', 6, v='1052...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='246b...', 6, v='1074...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='270e...', 6, v='1097...', 88)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.startElementNs(par, NULL, NULL, 0, 2, 0, memind='3300...', 5, h='3dc1...', 8)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='0" v...', 1, v='3861...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='2a30...', 5, v='3861...', 480)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='5541...', 5, v='3861...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='7f71...', 5, v='3861...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='a9a1...', 5, v='3861...', 480)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='d4b2...', 5, v='3862...', 478)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='fee2...', 5, v='3862...', 498)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+					, 6)
+SAX.startElementNs(val, NULL, NULL, 0, 2, 0, o='1291...', 6, v='2297...', 574)
+SAX.endElementNs(val, NULL, NULL)
+SAX.characters(
+				, 5)
+SAX.endElementNs(par, NULL, NULL)
+SAX.characters(
+			, 4)
+SAX.endElementNs(device, NULL, NULL)
+SAX.characters(
+		, 3)
+SAX.endElementNs(select, NULL, NULL)
+SAX.characters(
+	, 2)
+SAX.endElementNs(data, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(electroxml, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att5.sax2 b/result/noent/att5.sax2
new file mode 100644
index 0000000..22da39d
--- /dev/null
+++ b/result/noent/att5.sax2
@@ -0,0 +1,149 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.attributeDecl(normId, attr, 8, 3, NULL, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.comment( no normalization )
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='   '...', 3)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='   f...', 13)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='  fo...', 8)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' foo...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 8)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' & ...', 3)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='   f...', 13)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='  fo...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='&foo...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr=' < ...', 3)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='   f...', 13)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='  fo...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='<foo...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='foob...', 9)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(norm, NULL, NULL, 0, 1, 0, attr='  

+...', 6)
+SAX.endElementNs(norm, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( normalization )
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr=''/>
+...', 0)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo ...', 7)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 6)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&...', 1)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo&...', 7)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='&foo...', 8)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 8)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='<...', 1)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foo<...', 7)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 7)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='<foo...', 8)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='foob...', 8)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(normId, NULL, NULL, 0, 1, 0, attr='

+	...', 3)
+SAX.endElementNs(normId, NULL, NULL)
+SAX.characters( , 1)
+SAX.comment( PBM serializing back )
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att6.sax2 b/result/noent/att6.sax2
new file mode 100644
index 0000000..54dd6d3
--- /dev/null
+++ b/result/noent/att6.sax2
@@ -0,0 +1,20 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 4, xmlns:ccts='urn:oasis:names:tc:ubl:CoreComponentParameters:1.0:0.70', xmlns:cct='urn:oasis:names:tc:ubl:CoreComponentTypes:1.0:0.70', xmlns:cat='urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', xmlns='urn:oasis:names:tc:ubl:Invoice:1.0:0.70', 0, 0)
+SAX.characters(
+   , 4)
+SAX.startElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70', 0, 11, 0, schemeID='pval...', 47, schemeAgencyID='pval...', 53, schemeVersionID='pval...', 54, schemeAgencySchemeID='pval...', 59, schemeAgencySchemeAgencyID='pval...', 65, schemeDataURI='pval...', 52, schemeURI='pval...', 48, UID='pval...', 42, UIDRef='pval...', 45, UIDRefs='pval...', 47, language='pval...', 47)
+SAX.characters(pvalue-, 7)
+SAX.characters(>, 1)
+SAX.characters(ReferencedOrder.SellersOrderID, 30)
+SAX.endElementNs(SellersOrderID, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70')
+SAX.characters(
+   , 4)
+SAX.endElementNs(ReferencedOrder, cat, 'urn:oasis:names:tc:ubl:CommonAggregateTypes:1.0:0.70')
+SAX.characters(
+, 1)
+SAX.endElementNs(Invoice, NULL, 'urn:oasis:names:tc:ubl:Invoice:1.0:0.70')
+SAX.endDocument()
diff --git a/result/noent/att7.sax2 b/result/noent/att7.sax2
new file mode 100644
index 0000000..4a5f318
--- /dev/null
+++ b/result/noent/att7.sax2
@@ -0,0 +1,23 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(x, , )
+SAX.elementDecl(x, 4, ...)
+SAX.elementDecl(test, 1, ...)
+SAX.attributeDecl(test, att, 1, 1, attvalue, ...)
+SAX.entityDecl(test.ent, 1, (null), (null), <test/>)
+SAX.getEntity(test.ent)
+SAX.externalSubset(x, , )
+SAX.startElementNs(x, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8)
+SAX.endElementNs(test, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.getEntity(test.ent)
+SAX.startElementNs(test, NULL, NULL, 0, 1, 1, att='attv...', 8)
+SAX.endElementNs(test, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(x, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/att8.sax2 b/result/noent/att8.sax2
new file mode 100644
index 0000000..1f2344a
--- /dev/null
+++ b/result/noent/att8.sax2
@@ -0,0 +1,29 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2', 2, xmlns:ino='http://namespaces.softwareag.com/tamino/response2', xmlns:xql='http://metalab.unc.edu/xql/', 2, 0, ino:sessionid='556"...', 3, ino:sessionkey='1590...', 10)
+SAX.startElementNs(query, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0)
+SAX.characters(/bsk:DocPart[@docId=, 20)
+SAX.characters(', 1)
+SAX.characters(20040308152601345236, 20)
+SAX.characters(', 1)
+SAX.characters( and @docPartNo=1], 18)
+SAX.endElementNs(query, xql, 'http://metalab.unc.edu/xql/')
+SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1)
+SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0)
+SAX.characters(XQL Request processing, 22)
+SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2')
+SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2')
+SAX.startElementNs(result, xql, 'http://metalab.unc.edu/xql/', 0, 0, 0)
+SAX.startElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket', 1, xmlns:bsk='http://www.heitec.net/sara4/tamino/basket', 3, 0, docId='2004...', 20, docPartNo='1" i...', 1, ino:id='1529...', 5)
+SAX.startElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket', 0, 2, 0, name='4898...', 13, size='7519...', 5)
+SAX.characters( , 1)
+SAX.endElementNs(File, bsk, 'http://www.heitec.net/sara4/tamino/basket')
+SAX.endElementNs(DocPart, bsk, 'http://www.heitec.net/sara4/tamino/basket')
+SAX.endElementNs(result, xql, 'http://metalab.unc.edu/xql/')
+SAX.startElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 1, 0, ino:returnvalue='0"><...', 1)
+SAX.startElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2', 0, 0, 0)
+SAX.characters(XQL Request processed, 21)
+SAX.endElementNs(messageline, ino, 'http://namespaces.softwareag.com/tamino/response2')
+SAX.endElementNs(message, ino, 'http://namespaces.softwareag.com/tamino/response2')
+SAX.endElementNs(response, ino, 'http://namespaces.softwareag.com/tamino/response2')
+SAX.endDocument()
diff --git a/result/noent/att9.sax2 b/result/noent/att9.sax2
new file mode 100644
index 0000000..09b3a04
--- /dev/null
+++ b/result/noent/att9.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.attributeDecl(doc, a1, 8, 1, 1 2, ...)
+SAX.elementDecl(doc, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 1, 1, a1='1 2...', 3)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/attrib.xml.sax2 b/result/noent/attrib.xml.sax2
new file mode 100644
index 0000000..c7d2c87
--- /dev/null
+++ b/result/noent/attrib.xml.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(item, NULL, NULL, 0, 5, 0, title='Icro...', 173, url='http...', 24, first_time='9850...', 9, last_time='9850...', 9, visits='1"/>...', 1)
+SAX.endElementNs(item, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/badcomment.xml.sax2 b/result/noent/badcomment.xml.sax2
new file mode 100644
index 0000000..08e5622
--- /dev/null
+++ b/result/noent/badcomment.xml.sax2
@@ -0,0 +1,24 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(foo, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.comment( def='NT-Char')
+SAX.comment(>Char</nt>* ']]&gt;' <nt def='NT-Char'>Char</nt>*))
+']]&gt;'</rhs>
+<com>CDATA sections</com>
+<rhs>| '&lt;!DOCTYPE' 
+(<nt def="NT-Char">Char</nt> - ('[' | ']'))+
+('[' 
+<nt def="NT-simpleDTD">simpleDTD</nt>*
+']')? '&gt;'</rhs>
+<com>doc type declaration</com>
+<prod id="NT-simpleDTD"><lhs>simpleDTD</lhs>
+<rhs>'&lt;!&como;' 
+(<nt def='NT-Char'>Char</nt>* - 
+(<nt def='NT-Char'>Char</nt>* '&comc;' <nt def='NT-Char'>Char</nt>*))
+'&comc;&gt;'</rhs>)
+SAX.characters(
+, 1)
+SAX.endElementNs(foo, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/bigentname.xml.sax2 b/result/noent/bigentname.xml.sax2
new file mode 100644
index 0000000..1067843
--- /dev/null
+++ b/result/noent/bigentname.xml.sax2
@@ -0,0 +1,15 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.entityDecl(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name, 1, (null), (null), "Yes")
+SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name)
+SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name;)
+SAX.getEntity(WhatHeSaid)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.getEntity(WhatHeSaid)
+SAX.characters(He said , 8)
+SAX.getEntity(very_big_entity_name01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_very_big_ent_name)
+SAX.characters("Yes", 5)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/bigname.xml.sax2 b/result/noent/bigname.xml.sax2
new file mode 100644
index 0000000..ef939f9
--- /dev/null
+++ b/result/noent/bigname.xml.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(this_is_a_very_large_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/bigname2.xml.sax2 b/result/noent/bigname2.xml.sax2
new file mode 100644
index 0000000..6b406f4
--- /dev/null
+++ b/result/noent/bigname2.xml.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/', 1, xmlns:this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix='http://www.example.com/testns/', 0, 0)
+SAX.endElementNs(start_nc_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_the_very_large_name, this_is_a_very_large_qualified_name_01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789_end_of_prefix, 'http://www.example.com/testns/')
+SAX.endDocument()
diff --git a/result/noent/cdata-2-byte-UTF-8.xml.sax2 b/result/noent/cdata-2-byte-UTF-8.xml.sax2
new file mode 100644
index 0000000..2da2d50
--- /dev/null
+++ b/result/noent/cdata-2-byte-UTF-8.xml.sax2
@@ -0,0 +1,18 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( This tests that two-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata(ČČČČČČČČČČ, 1200)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata( ČČČČČČČČČÄ, 1201)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/cdata-3-byte-UTF-8.xml.sax2 b/result/noent/cdata-3-byte-UTF-8.xml.sax2
new file mode 100644
index 0000000..3969579
--- /dev/null
+++ b/result/noent/cdata-3-byte-UTF-8.xml.sax2
@@ -0,0 +1,23 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( This tests that three-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata(牛牛牛牛牛牛ç‰, 1200)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata( 牛牛牛牛牛牛ç, 1201)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata(  牛牛牛牛牛牛, 1202)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/cdata-4-byte-UTF-8.xml.sax2 b/result/noent/cdata-4-byte-UTF-8.xml.sax2
new file mode 100644
index 0000000..5e07d83
--- /dev/null
+++ b/result/noent/cdata-4-byte-UTF-8.xml.sax2
@@ -0,0 +1,28 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( This tests that four-byte UTF-8 characters are parsed properly when split across a buffer boundary of length XML_PARSER_BIG_BUFFER_SIZE (300 bytes). )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata(🍦🍦🍦🍦🍦, 1200)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata( 🍦🍦🍦🍦ðŸ, 1201)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata(  🍦🍦🍦🍦ðŸ, 1202)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.pcdata(   🍦🍦🍦🍦ð, 1203)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/cdata.sax2 b/result/noent/cdata.sax2
new file mode 100644
index 0000000..117b2b0
--- /dev/null
+++ b/result/noent/cdata.sax2
@@ -0,0 +1,10 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.pcdata(<greeting>Hello, wor, 34)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/cdata2.sax2 b/result/noent/cdata2.sax2
new file mode 100644
index 0000000..d1420e9
--- /dev/null
+++ b/result/noent/cdata2.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(collection, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(test, NULL, NULL, 0, 0, 0)
+SAX.pcdata(
+    <![CDATA[abc], 18)
+SAX.characters(], 1)
+SAX.characters(>, 1)
+SAX.pcdata(
+  , 3)
+SAX.endElementNs(test, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(collection, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment.xml.sax2 b/result/noent/comment.xml.sax2
new file mode 100644
index 0000000..da57f50
--- /dev/null
+++ b/result/noent/comment.xml.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.comment( document start )
+SAX.characters(
+, 1)
+SAX.startElementNs(empty, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(empty, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.comment( document end )
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment2.xml.sax2 b/result/noent/comment2.xml.sax2
new file mode 100644
index 0000000..a286744
--- /dev/null
+++ b/result/noent/comment2.xml.sax2
@@ -0,0 +1,13 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( document start )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(empty, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(empty, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.comment( document end )
+SAX.endDocument()
diff --git a/result/noent/comment3.xml.sax2 b/result/noent/comment3.xml.sax2
new file mode 100644
index 0000000..a5f1fd6
--- /dev/null
+++ b/result/noent/comment3.xml.sax2
@@ -0,0 +1,167 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( test of very very long comments and buffer limits
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+01234567890123456789012345678901234567890123456789
+)
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment4.xml.sax2 b/result/noent/comment4.xml.sax2
new file mode 100644
index 0000000..0e2611f
--- /dev/null
+++ b/result/noent/comment4.xml.sax2
@@ -0,0 +1,8 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( test of non ascii comments like là et très )
+SAX.comment(à another one )
+SAX.comment( another one à)
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment5.xml.sax2 b/result/noent/comment5.xml.sax2
new file mode 100644
index 0000000..f0940b2
--- /dev/null
+++ b/result/noent/comment5.xml.sax2
@@ -0,0 +1,12 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( test of hyphen and line break handling
+     some text - interrupted -
+- - - - - - - - - - - - - - - - - - - - - -
+                      this should stop here^
+
+
+)
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/comment6.xml.sax2 b/result/noent/comment6.xml.sax2
new file mode 100644
index 0000000..7dd7dc0
--- /dev/null
+++ b/result/noent/comment6.xml.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment(
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+long comment long comment long comment long comment long comment long comment
+)
+SAX.internalSubset(a, , )
+SAX.elementDecl(a, 1, ...)
+SAX.externalSubset(a, , )
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(a, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dav1.sax2 b/result/noent/dav1.sax2
new file mode 100644
index 0000000..44ad11c
--- /dev/null
+++ b/result/noent/dav1.sax2
@@ -0,0 +1,81 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema', 0, 0, 0)
+SAX.characters(Box type A, 10)
+SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema')
+SAX.characters(
+      , 7)
+SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema')
+SAX.characters(
+      , 7)
+SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema', 0, 0, 0)
+SAX.characters(J.J. Dingleheimerschmidt, 24)
+SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema')
+SAX.characters(
+      , 7)
+SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(DingALing, R, 'http://www.foo.bar/boxschema', 0, 0, 0)
+SAX.endElementNs(DingALing, R, 'http://www.foo.bar/boxschema')
+SAX.characters(
+      , 7)
+SAX.startElementNs(Random, R, 'http://www.foo.bar/boxschema', 0, 0, 0)
+SAX.endElementNs(Random, R, 'http://www.foo.bar/boxschema')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 403 Forbidden, 22)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters( The user does not have access, 64)
+SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters( There has been an access viol, 44)
+SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav10.sax2 b/result/noent/dav10.sax2
new file mode 100644
index 0000000..e93e22c
--- /dev/null
+++ b/result/noent/dav10.sax2
@@ -0,0 +1,12 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.ics.uci.edu/~ejw/co, 40)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav11.sax2 b/result/noent/dav11.sax2
new file mode 100644
index 0000000..d0f2329
--- /dev/null
+++ b/result/noent/dav11.sax2
@@ -0,0 +1,62 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(write, 5)
+SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(exclusive, 9)
+SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+		http://www.ics.uci.edu/~ejw, 46)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Second-604800, 13)
+SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+	   opaquelocktoken:xyz122393, 59)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav12.sax2 b/result/noent/dav12.sax2
new file mode 100644
index 0000000..61715b6
--- /dev/null
+++ b/result/noent/dav12.sax2
@@ -0,0 +1,6 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(http://www.ics.uci.edu/~ejw/co, 40)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav13.sax2 b/result/noent/dav13.sax2
new file mode 100644
index 0000000..f6c5381
--- /dev/null
+++ b/result/noent/dav13.sax2
@@ -0,0 +1,46 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+	   http://webdav.sb.aol.com/, 66)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+	   http://webdav.sb.aol.com/, 54)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 202 Accepted, 21)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/blah, 19)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 403 Forbidden, 22)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav15.sax2 b/result/noent/dav15.sax2
new file mode 100644
index 0000000..6040cd1
--- /dev/null
+++ b/result/noent/dav15.sax2
@@ -0,0 +1,76 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:F='http://www.foocorp.com/Project/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(Source, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0)
+SAX.characters(Source, 6)
+SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/program, 22)
+SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/src/main.c, 25)
+SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0)
+SAX.characters(Library, 7)
+SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/program, 22)
+SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/src/main.lib, 27)
+SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(projfiles, F, 'http://www.foocorp.com/Project/', 0, 0, 0)
+SAX.characters(Makefile, 8)
+SAX.endElementNs(projfiles, F, 'http://www.foocorp.com/Project/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(src, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/program, 22)
+SAX.endElementNs(src, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(dst, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.bar/src/makefile, 27)
+SAX.endElementNs(dst, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(link, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(Source, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav16.sax2 b/result/noent/dav16.sax2
new file mode 100644
index 0000000..1ede22e
--- /dev/null
+++ b/result/noent/dav16.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(lockdiscovery, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(lockdiscovery, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav17.sax2 b/result/noent/dav17.sax2
new file mode 100644
index 0000000..48185a2
--- /dev/null
+++ b/result/noent/dav17.sax2
@@ -0,0 +1,78 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(activelock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+          , 11)
+SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(write, 5)
+SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(exclusive, 9)
+SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+            , 13)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://foo.com/doc/, 19)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(addlocks, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(owner, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Jane Smith, 10)
+SAX.endElementNs(owner, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(timeout, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Infinite, 8)
+SAX.endElementNs(timeout, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+            , 13)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(iamuri:unique!!!!!, 18)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(locktoken, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+        , 9)
+SAX.endElementNs(activelock, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(lockdiscovery, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav18.sax2 b/result/noent/dav18.sax2
new file mode 100644
index 0000000..cddc100
--- /dev/null
+++ b/result/noent/dav18.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(propfind, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(supportedlock, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(supportedlock, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(propfind, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav19.sax2 b/result/noent/dav19.sax2
new file mode 100644
index 0000000..f0dd402
--- /dev/null
+++ b/result/noent/dav19.sax2
@@ -0,0 +1,62 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+          , 11)
+SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Write, 5)
+SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Exclusive, 9)
+SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+        , 9)
+SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+          , 11)
+SAX.startElementNs(locktype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Write, 5)
+SAX.endElementNs(locktype, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(Shared, 6)
+SAX.endElementNs(lockscope, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+        , 9)
+SAX.endElementNs(LockEntry, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(supportedlock, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav2.sax2 b/result/noent/dav2.sax2
new file mode 100644
index 0000000..22c7bb0
--- /dev/null
+++ b/result/noent/dav2.sax2
@@ -0,0 +1,84 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/', 2, xmlns:S='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/, 29)
+SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.characters(Box type A, 10)
+SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(Name, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.characters(Hadrian, 7)
+SAX.endElementNs(Name, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP 1.1 200 OK, 15)
+SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/i, 39)
+SAX.endElementNs(href, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(BoxType, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.characters(Box type B, 10)
+SAX.endElementNs(BoxType, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, S, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP 1.1 200 OK, 15)
+SAX.endElementNs(status, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, S, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, S, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav3.sax2 b/result/noent/dav3.sax2
new file mode 100644
index 0000000..0088f29
--- /dev/null
+++ b/result/noent/dav3.sax2
@@ -0,0 +1,63 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:R='http://www.foo.bar/boxschema/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/, 29)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(author, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.endElementNs(author, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP 1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/i, 39)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(bigbox, R, 'http://www.foo.bar/boxschema/', 0, 0, 0)
+SAX.endElementNs(bigbox, R, 'http://www.foo.bar/boxschema/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP 1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav4.sax2 b/result/noent/dav4.sax2
new file mode 100644
index 0000000..58fb8ac
--- /dev/null
+++ b/result/noent/dav4.sax2
@@ -0,0 +1,51 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(set, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0)
+SAX.characters(Jim Whitehead, 13)
+SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0)
+SAX.characters(Roy Fielding, 12)
+SAX.endElementNs(Author, Z, 'http://www.w3.com/standards/z39.50/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(authors, Z, 'http://www.w3.com/standards/z39.50/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(set, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(remove, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0)
+SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(remove, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(propertyupdate, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav5.sax2 b/result/noent/dav5.sax2
new file mode 100644
index 0000000..6062cca
--- /dev/null
+++ b/result/noent/dav5.sax2
@@ -0,0 +1,54 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 2, xmlns:D='http://www.ietf.org/standards/dav/', xmlns:Z='http://www.w3.com/standards/z39.50/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0)
+SAX.endElementNs(Authors, Z, 'http://www.w3.com/standards/z39.50/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 420 Method Failure, 27)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/', 0, 0, 0)
+SAX.endElementNs(Copyright-Owner, Z, 'http://www.w3.com/standards/z39.50/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 409 Conflict, 21)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters( Copyright Owner can not be de, 47)
+SAX.endElementNs(responsedescription, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav6.sax2 b/result/noent/dav6.sax2
new file mode 100644
index 0000000..31952c5
--- /dev/null
+++ b/result/noent/dav6.sax2
@@ -0,0 +1,66 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/', 1, xmlns:D='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.microsoft.com/user/, 55)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(collection, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.endElementNs(collection, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP 1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      http://www.microsoft.co, 66)
+SAX.endElementNs(href, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(prop, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.endElementNs(resourcetype, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(prop, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, D, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP 1.1 200 OK, 15)
+SAX.endElementNs(status, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, D, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, D, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav7.sax2 b/result/noent/dav7.sax2
new file mode 100644
index 0000000..1d51e74
--- /dev/null
+++ b/result/noent/dav7.sax2
@@ -0,0 +1,60 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/r, 38)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/r, 38)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 200 OK, 15)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/, 29)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 420 Method Failure, 27)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/r, 38)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 412 Precondition Fail, 32)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav8.sax2 b/result/noent/dav8.sax2
new file mode 100644
index 0000000..7de547e
--- /dev/null
+++ b/result/noent/dav8.sax2
@@ -0,0 +1,54 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/othercontai, 43)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/othercontai, 43)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/othercontai, 34)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/othercontai, 39)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 201 Created, 20)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/othercontai, 37)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 412 Precondition Fail, 32)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/dav9.sax2 b/result/noent/dav9.sax2
new file mode 100644
index 0000000..26e4942
--- /dev/null
+++ b/result/noent/dav9.sax2
@@ -0,0 +1,70 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/', 1, xmlns:d='http://www.ietf.org/standards/dav/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/r, 38)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/r, 38)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/, 29)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/C, 34)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 201 Created, 20)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/container/C, 31)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 420 Method Failure, 27)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(response, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(href, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(http://www.foo.bar/othercontai, 36)
+SAX.endElementNs(href, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(status, d, 'http://www.ietf.org/standards/dav/', 0, 0, 0)
+SAX.characters(HTTP/1.1 409 Conflict, 21)
+SAX.endElementNs(status, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(response, d, 'http://www.ietf.org/standards/dav/')
+SAX.characters(
+, 1)
+SAX.endElementNs(multistatus, d, 'http://www.ietf.org/standards/dav/')
+SAX.endDocument()
diff --git a/result/noent/defattr.xml.sax2 b/result/noent/defattr.xml.sax2
new file mode 100644
index 0000000..dfeba49
--- /dev/null
+++ b/result/noent/defattr.xml.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 1, ...)
+SAX.attributeDecl(doc, xmlns, 1, 4, http://www.example.com/, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, 'http://www.example.com/', 1, xmlns='http://www.example.com/', 0, 0)
+SAX.endElementNs(doc, NULL, 'http://www.example.com/')
+SAX.endDocument()
diff --git a/result/noent/defattr2.xml.sax2 b/result/noent/defattr2.xml.sax2
new file mode 100644
index 0000000..0f77271
--- /dev/null
+++ b/result/noent/defattr2.xml.sax2
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 1, ...)
+SAX.attributeDecl(doc, defatt, 9, 1, 0, ...)
+SAX.attributeDecl(doc, xmlns:tst, 1, 4, http://example.org, ...)
+SAX.attributeDecl(doc, tst:att, 9, 1, 1, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 1, xmlns:tst='http://example.org', 3, 2, att='1"/>...', 1, defatt='0...', 1, tst:att='1...', 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dia1.sax2 b/result/noent/dia1.sax2
new file mode 100644
index 0000000..4821c9b
--- /dev/null
+++ b/result/noent/dia1.sax2
@@ -0,0 +1,323 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10)
+SAX.characters(
+      , 7)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4)
+SAX.characters(
+    , 5)
+SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2)
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6)
+SAX.characters(
+        , 9)
+SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15)
+SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1)
+SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2)
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6)
+SAX.characters(
+        , 9)
+SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27)
+SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4)
+SAX.characters(
+        , 9)
+SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4)
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6)
+SAX.characters(
+            , 13)
+SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7)
+SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4)
+SAX.characters(
+            , 13)
+SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7)
+SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6)
+SAX.characters(
+            , 13)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3)
+SAX.characters(
+            , 13)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5)
+SAX.characters(
+            , 13)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9)
+SAX.characters(
+            , 13)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+        , 9)
+SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2)
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6)
+SAX.characters(
+        , 9)
+SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20)
+SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12)
+SAX.characters(
+        , 9)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+, 1)
+SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.endDocument()
diff --git a/result/noent/dia2.sax2 b/result/noent/dia2.sax2
new file mode 100644
index 0000000..4821c9b
--- /dev/null
+++ b/result/noent/dia2.sax2
@@ -0,0 +1,323 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='back...', 10)
+SAX.characters(
+      , 7)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+  , 3)
+SAX.startElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 2, 0, name='Back...', 10, visible='true...', 4)
+SAX.characters(
+    , 5)
+SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O0">...', 2)
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6)
+SAX.characters(
+        , 9)
+SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.9,...', 15)
+SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='conn...', 14)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1.95...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='star...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='end_...', 9)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, handle='1" t...', 1, to='O2" ...', 2, connection='3"/>...', 1)
+SAX.endElementNs(connection, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(connections, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 15, version='0" i...', 1, id='O1">...', 2)
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6)
+SAX.characters(
+        , 9)
+SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.57...', 27)
+SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='text...', 4)
+SAX.characters(
+        , 9)
+SAX.startElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, type='text...', 4)
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='stri...', 6)
+SAX.characters(
+            , 13)
+SAX.startElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='sdfs...', 7)
+SAX.endElementNs(string, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='font...', 4)
+SAX.characters(
+            , 13)
+SAX.startElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='Cour...', 7)
+SAX.endElementNs(font, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='heig...', 6)
+SAX.characters(
+            , 13)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='pos"...', 3)
+SAX.characters(
+            , 13)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='4.8,...', 8)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='colo...', 5)
+SAX.characters(
+            , 13)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='alig...', 9)
+SAX.characters(
+            , 13)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='1"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+          , 11)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+        , 9)
+SAX.endElementNs(composite, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 3, 0, type='Stan...', 14, version='0" i...', 1, id='O2">...', 2)
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 7)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='obj_...', 6)
+SAX.characters(
+        , 9)
+SAX.startElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 20)
+SAX.endElementNs(rectangle, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='10.9...', 9)
+SAX.endElementNs(point, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2.05...', 4)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='elem...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='2"/>...', 1)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12)
+SAX.characters(
+        , 9)
+SAX.startElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0.1"...', 3)
+SAX.endElementNs(real, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='bord...', 12)
+SAX.characters(
+        , 9)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#000...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='inne...', 11)
+SAX.characters(
+        , 9)
+SAX.startElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='#fff...', 7)
+SAX.endElementNs(color, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.startElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, name='line...', 10)
+SAX.characters(
+        , 9)
+SAX.startElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, val='0"/>...', 1)
+SAX.endElementNs(enum, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(attribute, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+    , 5)
+SAX.endElementNs(object, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(layer, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+, 1)
+SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.endDocument()
diff --git a/result/noent/dtd1.sax2 b/result/noent/dtd1.sax2
new file mode 100644
index 0000000..47be5e0
--- /dev/null
+++ b/result/noent/dtd1.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd)
+SAX.externalSubset(MEMO, -//SGMLSOURCE//DTD MEMO//EN, http://www.sgmlsource.com/dtds/memo.dtd)
+SAX.startElementNs(MEMO, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.endElementNs(MEMO, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd10.sax2 b/result/noent/dtd10.sax2
new file mode 100644
index 0000000..7f15a09
--- /dev/null
+++ b/result/noent/dtd10.sax2
@@ -0,0 +1,21 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 4, ...)
+SAX.elementDecl(a, 3, ...)
+SAX.elementDecl(b, 3, ...)
+SAX.elementDecl(c, 3, ...)
+SAX.elementDecl(d, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.characters(This, 4)
+SAX.endElementNs(b, NULL, NULL)
+SAX.startElementNs(c, NULL, NULL, 0, 0, 0)
+SAX.characters( is a, 5)
+SAX.endElementNs(c, NULL, NULL)
+SAX.startElementNs(d, NULL, NULL, 0, 0, 0)
+SAX.characters( valid document, 15)
+SAX.endElementNs(d, NULL, NULL)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd11.sax2 b/result/noent/dtd11.sax2
new file mode 100644
index 0000000..a9cae5d
--- /dev/null
+++ b/result/noent/dtd11.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 3, ...)
+SAX.attributeDecl(doc, val, 1, 3, NULL, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 1, 0, val='v1"/...', 2)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd12.sax2 b/result/noent/dtd12.sax2
new file mode 100644
index 0000000..53206d4
--- /dev/null
+++ b/result/noent/dtd12.sax2
@@ -0,0 +1,15 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.entityDecl(YN, 1, (null), (null), "Yes")
+SAX.getEntity(YN)
+SAX.entityDecl(WhatHeSaid, 1, (null), (null), He said &YN;)
+SAX.getEntity(WhatHeSaid)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.getEntity(WhatHeSaid)
+SAX.characters(He said , 8)
+SAX.getEntity(YN)
+SAX.characters("Yes", 5)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd13.sax2 b/result/noent/dtd13.sax2
new file mode 100644
index 0000000..b631501
--- /dev/null
+++ b/result/noent/dtd13.sax2
@@ -0,0 +1,10 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( comment before the DTD )
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 2, ...)
+SAX.externalSubset(doc, , )
+SAX.comment( comment after the DTD )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd2.sax2 b/result/noent/dtd2.sax2
new file mode 100644
index 0000000..ff6b568
--- /dev/null
+++ b/result/noent/dtd2.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(This is a valid document !, 26)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd3.sax2 b/result/noent/dtd3.sax2
new file mode 100644
index 0000000..9625ad5
--- /dev/null
+++ b/result/noent/dtd3.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 2, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(This is a valid document !, 26)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd4.sax2 b/result/noent/dtd4.sax2
new file mode 100644
index 0000000..8366d48
--- /dev/null
+++ b/result/noent/dtd4.sax2
@@ -0,0 +1,8 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 1, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd5.sax2 b/result/noent/dtd5.sax2
new file mode 100644
index 0000000..f48c01c
--- /dev/null
+++ b/result/noent/dtd5.sax2
@@ -0,0 +1,18 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 3, ...)
+SAX.elementDecl(a, 3, ...)
+SAX.elementDecl(b, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.characters(This, 4)
+SAX.endElementNs(a, NULL, NULL)
+SAX.characters( is a , 6)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.characters(valid, 5)
+SAX.endElementNs(b, NULL, NULL)
+SAX.characters( document, 9)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd6.sax2 b/result/noent/dtd6.sax2
new file mode 100644
index 0000000..6e78924
--- /dev/null
+++ b/result/noent/dtd6.sax2
@@ -0,0 +1,19 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 4, ...)
+SAX.elementDecl(a, 3, ...)
+SAX.elementDecl(b, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.characters(This, 4)
+SAX.endElementNs(a, NULL, NULL)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.characters( is a valid, 11)
+SAX.endElementNs(b, NULL, NULL)
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.characters( document, 9)
+SAX.endElementNs(a, NULL, NULL)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd7.sax2 b/result/noent/dtd7.sax2
new file mode 100644
index 0000000..4a47191
--- /dev/null
+++ b/result/noent/dtd7.sax2
@@ -0,0 +1,16 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 4, ...)
+SAX.elementDecl(a, 3, ...)
+SAX.elementDecl(b, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.characters(This, 4)
+SAX.endElementNs(a, NULL, NULL)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.characters( is a valid document, 20)
+SAX.endElementNs(b, NULL, NULL)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd8.sax2 b/result/noent/dtd8.sax2
new file mode 100644
index 0000000..d38b60d
--- /dev/null
+++ b/result/noent/dtd8.sax2
@@ -0,0 +1,18 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 4, ...)
+SAX.elementDecl(a, 3, ...)
+SAX.elementDecl(b, 3, ...)
+SAX.elementDecl(c, 3, ...)
+SAX.elementDecl(d, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.characters(This, 4)
+SAX.endElementNs(b, NULL, NULL)
+SAX.startElementNs(c, NULL, NULL, 0, 0, 0)
+SAX.characters( is a valid document, 20)
+SAX.endElementNs(c, NULL, NULL)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/dtd9.sax2 b/result/noent/dtd9.sax2
new file mode 100644
index 0000000..a5b537f
--- /dev/null
+++ b/result/noent/dtd9.sax2
@@ -0,0 +1,18 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.elementDecl(doc, 4, ...)
+SAX.elementDecl(a, 3, ...)
+SAX.elementDecl(b, 3, ...)
+SAX.elementDecl(c, 3, ...)
+SAX.elementDecl(d, 3, ...)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.characters(This, 4)
+SAX.endElementNs(b, NULL, NULL)
+SAX.startElementNs(d, NULL, NULL, 0, 0, 0)
+SAX.characters( is a valid document, 20)
+SAX.endElementNs(d, NULL, NULL)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ebcdic_566012.xml.sax2 b/result/noent/ebcdic_566012.xml.sax2
new file mode 100644
index 0000000..b8a4ce0
--- /dev/null
+++ b/result/noent/ebcdic_566012.xml.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(test, NULL, NULL, 0, 1, 0, attr='ÄÖ...', 6)
+SAX.endElementNs(test, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/emptycdata.xml.sax2 b/result/noent/emptycdata.xml.sax2
new file mode 100644
index 0000000..7f80296
--- /dev/null
+++ b/result/noent/emptycdata.xml.sax2
@@ -0,0 +1,10 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(html, NULL, 'http://www.w3.org/1999/xhtml', 1, xmlns='http://www.w3.org/1999/xhtml', 0, 0)
+SAX.characters(
+, 1)
+SAX.pcdata(, 0)
+SAX.characters(
+, 1)
+SAX.endElementNs(html, NULL, 'http://www.w3.org/1999/xhtml')
+SAX.endDocument()
diff --git a/result/noent/ent1.sax2 b/result/noent/ent1.sax2
new file mode 100644
index 0000000..9f270ef
--- /dev/null
+++ b/result/noent/ent1.sax2
@@ -0,0 +1,15 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(EXAMPLE, , example.dtd)
+SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language)
+SAX.getEntity(xml)
+SAX.externalSubset(EXAMPLE, , example.dtd)
+SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.getEntity(xml)
+SAX.characters(Extensible Markup Language, 26)
+SAX.characters(
+, 1)
+SAX.endElementNs(EXAMPLE, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent10.sax2 b/result/noent/ent10.sax2
new file mode 100644
index 0000000..4b86bfb
--- /dev/null
+++ b/result/noent/ent10.sax2
@@ -0,0 +1,30 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(rnode, , )
+SAX.elementDecl(rnode, 4, ...)
+SAX.elementDecl(f, 3, ...)
+SAX.attributeDecl(f, att1, 1, 4, J, ...)
+SAX.entityDecl(f, 1, (null), (null), 
+   <f>
+   hello world
+   </f>
+   )
+SAX.getEntity(f)
+SAX.externalSubset(rnode, , )
+SAX.startElementNs(rnode, NULL, NULL, 0, 0, 0)
+SAX.characters(
+   , 4)
+SAX.getEntity(f)
+SAX.ignorableWhitespace(
+   , 4)
+SAX.startElementNs(f, NULL, NULL, 0, 1, 1, att1='J...', 1)
+SAX.characters(
+   hello world
+   , 19)
+SAX.endElementNs(f, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.characters(
+, 1)
+SAX.endElementNs(rnode, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent11.sax2 b/result/noent/ent11.sax2
new file mode 100644
index 0000000..5c2c916
--- /dev/null
+++ b/result/noent/ent11.sax2
Binary files differ
diff --git a/result/noent/ent12.sax2 b/result/noent/ent12.sax2
new file mode 100644
index 0000000..fd5c71e
--- /dev/null
+++ b/result/noent/ent12.sax2
@@ -0,0 +1,20 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(root, , )
+SAX.entityDecl(foo, 1, (null), (null), abc)
+SAX.getEntity(foo)
+SAX.entityDecl(bar, 1, (null), (null), def)
+SAX.getEntity(bar)
+SAX.externalSubset(root, , )
+SAX.getEntity(foo)
+SAX.startElementNs(root, NULL, NULL, 0, 1, 0, attribute='abc...', 3)
+SAX.characters(
+   , 4)
+SAX.startElementNs(element, NULL, NULL, 0, 0, 0)
+SAX.getEntity(bar)
+SAX.characters(def, 3)
+SAX.endElementNs(element, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(root, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent13.sax2 b/result/noent/ent13.sax2
new file mode 100644
index 0000000..9add146
--- /dev/null
+++ b/result/noent/ent13.sax2
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(test, , )
+SAX.entityDecl(ampproblem, 1, (null), (null), &amp;)
+SAX.getEntity(ampproblem)
+SAX.externalSubset(test, , )
+SAX.getEntity(ampproblem)
+SAX.startElementNs(t, NULL, NULL, 0, 1, 0, a='&...', 1)
+SAX.characters(a, 1)
+SAX.endElementNs(t, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent2.sax2 b/result/noent/ent2.sax2
new file mode 100644
index 0000000..88c6aa6
--- /dev/null
+++ b/result/noent/ent2.sax2
@@ -0,0 +1,37 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(EXAMPLE, , example.dtd)
+SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language)
+SAX.getEntity(xml)
+SAX.entityDecl(title, 2, -//MY-TITLE//FR, title.xml, (null))
+SAX.unparsedEntityDecl(image, (null), img.gif, GIF)
+SAX.externalSubset(EXAMPLE, , example.dtd)
+SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.getEntity(title)
+SAX.ignorableWhitespace(
+, 1)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(my title, 8)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.ignorableWhitespace(
+, 1)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(my title, 8)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.characters(
+  This text is about XML, the, 31)
+SAX.getEntity(xml)
+SAX.characters(Extensible Markup Language, 26)
+SAX.characters( and this is an embedded , 25)
+SAX.startElementNs(IMG, NULL, NULL, 0, 1, 0, src='imag...', 5)
+SAX.endElementNs(IMG, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(EXAMPLE, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent3.sax2 b/result/noent/ent3.sax2
new file mode 100644
index 0000000..96f605f
--- /dev/null
+++ b/result/noent/ent3.sax2
@@ -0,0 +1,12 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(EXAMPLE, , example.dtd)
+SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language)
+SAX.getEntity(xml)
+SAX.externalSubset(EXAMPLE, , example.dtd)
+SAX.getEntity(xml)
+SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 2, 0, prop1='a&b...', 3, prop2='Exte...', 26)
+SAX.characters(
+  Test of entities in attribu, 35)
+SAX.endElementNs(EXAMPLE, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent4.sax2 b/result/noent/ent4.sax2
new file mode 100644
index 0000000..b0a6b08
--- /dev/null
+++ b/result/noent/ent4.sax2
@@ -0,0 +1,16 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(EXAMPLE, , example.dtd)
+SAX.entityDecl(xml, 1, (null), (null), Extensible Markup Language)
+SAX.getEntity(xml)
+SAX.externalSubset(EXAMPLE, , example.dtd)
+SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  Test of , 11)
+SAX.characters(&, 1)
+SAX.characters(amp; behaviour a, 16)
+SAX.characters(&, 1)
+SAX.characters(b .
+, 4)
+SAX.endElementNs(EXAMPLE, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent5.sax2 b/result/noent/ent5.sax2
new file mode 100644
index 0000000..f7251e4
--- /dev/null
+++ b/result/noent/ent5.sax2
@@ -0,0 +1,13 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(EXAMPLE, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    This is an inverted excla, 42)
+SAX.characters(¡, 2)
+SAX.characters(
+    This is a space , 21)
+SAX.characters( , 1)
+SAX.characters( 
+, 2)
+SAX.endElementNs(EXAMPLE, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent6.sax2 b/result/noent/ent6.sax2
new file mode 100644
index 0000000..a70d0bb
--- /dev/null
+++ b/result/noent/ent6.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.entityDecl(lt, 1, (null), (null), &#60;)
+SAX.getEntity(lt)
+SAX.entityDecl(gt, 1, (null), (null), >)
+SAX.getEntity(gt)
+SAX.entityDecl(amp, 1, (null), (null), &#38;)
+SAX.getEntity(amp)
+SAX.entityDecl(apos, 1, (null), (null), ')
+SAX.getEntity(apos)
+SAX.entityDecl(quot, 1, (null), (null), ")
+SAX.getEntity(quot)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent7.sax2 b/result/noent/ent7.sax2
new file mode 100644
index 0000000..3228de3
--- /dev/null
+++ b/result/noent/ent7.sax2
@@ -0,0 +1,17 @@
+xmlSAXUserParseFile returned error 27
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(item, , )
+SAX.entityDecl(sampleEnt, 4, (null), (null), <!ELEMENT item (para)+>)
+SAX.getParameterEntity(sampleEnt)
+SAX.entityDecl(sampleEnt, 1, (null), (null), the hyacinth girl)
+SAX.getEntity(sampleEnt)
+SAX.getParameterEntity(sampleEnt)
+SAX.error: PEReference: %sampleEnt; not found
+SAX.characters('they called me , 16)
+SAX.getEntity(sampleEnt)
+SAX.error: Entity 'sampleEnt' not defined
+SAX.reference(sampleEnt)
+SAX.characters(', 1)
+SAX.endDocument()
+xmlSAXUserParseFile returned error 27
diff --git a/result/noent/ent8.sax2 b/result/noent/ent8.sax2
new file mode 100644
index 0000000..c8418fa
--- /dev/null
+++ b/result/noent/ent8.sax2
@@ -0,0 +1,35 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.entityDecl(test1, 1, (null), (null), test 1)
+SAX.getEntity(test1)
+SAX.entityDecl(test2, 1, (null), (null), test 2)
+SAX.getEntity(test2)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+   , 4)
+SAX.startElementNs(Content, NULL, NULL, 0, 0, 0)
+SAX.characters(Reten, 5)
+SAX.characters(ç, 2)
+SAX.characters(ã, 2)
+SAX.characters(o, 1)
+SAX.endElementNs(Content, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(Content, NULL, NULL, 0, 0, 0)
+SAX.characters(<, 1)
+SAX.characters(>, 1)
+SAX.endElementNs(Content, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(Content, NULL, NULL, 0, 0, 0)
+SAX.getEntity(test1)
+SAX.characters(test 1, 6)
+SAX.getEntity(test2)
+SAX.characters(test 2, 6)
+SAX.endElementNs(Content, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent9.sax2 b/result/noent/ent9.sax2
new file mode 100644
index 0000000..442333e
--- /dev/null
+++ b/result/noent/ent9.sax2
@@ -0,0 +1,308 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(doc, , )
+SAX.entityDecl(test1, 1, (null), (null), <a/>,<b/>,<c/>,<d/>)
+SAX.getEntity(test1)
+SAX.externalSubset(doc, , )
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+   , 4)
+SAX.startElementNs(ent, NULL, NULL, 0, 0, 0)
+SAX.getEntity(test1)
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(a, NULL, NULL)
+SAX.characters(,, 1)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(b, NULL, NULL)
+SAX.characters(,, 1)
+SAX.startElementNs(c, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(c, NULL, NULL)
+SAX.characters(,, 1)
+SAX.startElementNs(d, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(d, NULL, NULL)
+SAX.endElementNs(ent, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters( WE need lot of garbage now to, 50)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(ent, NULL, NULL, 0, 0, 0)
+SAX.getEntity(test1)
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(a, NULL, NULL)
+SAX.characters(,, 1)
+SAX.startElementNs(b, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(b, NULL, NULL)
+SAX.characters(,, 1)
+SAX.startElementNs(c, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(c, NULL, NULL)
+SAX.characters(,, 1)
+SAX.startElementNs(d, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(d, NULL, NULL)
+SAX.endElementNs(ent, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ent_738805.xml.sax2 b/result/noent/ent_738805.xml.sax2
new file mode 100644
index 0000000..d8a4f1e
--- /dev/null
+++ b/result/noent/ent_738805.xml.sax2
@@ -0,0 +1,54 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(somedoc, , )
+SAX.entityDecl(a, 1, (null), (null), something)
+SAX.getEntity(a)
+SAX.entityDecl(b, 1, (null), (null), &a;)
+SAX.getEntity(b)
+SAX.externalSubset(somedoc, , )
+SAX.startElementNs(somedoc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+
+, 2)
+SAX.getEntity(b)
+SAX.getEntity(a)
+SAX.startElementNs(somebeacon, NULL, NULL, 0, 1, 0, someattribute='some...', 9)
+SAX.endElementNs(somebeacon, NULL, NULL)
+SAX.characters(
+
+, 2)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters( should appear after colon: , 28)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters(
+, 1)
+SAX.getEntity(b)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters( should appear after colon: , 28)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters(
+, 1)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters( should appear after colon: , 28)
+SAX.getEntity(b)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters(
+, 1)
+SAX.getEntity(b)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters( should appear after colon: , 28)
+SAX.getEntity(b)
+SAX.getEntity(a)
+SAX.characters(something, 9)
+SAX.characters(
+
+, 2)
+SAX.endElementNs(somedoc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/eve.xml.sax2 b/result/noent/eve.xml.sax2
new file mode 100644
index 0000000..ea3b430
--- /dev/null
+++ b/result/noent/eve.xml.sax2
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(spec, -//testspec//, dtds/eve.dtd)
+SAX.entityDecl(iso6.doc.date, 1, (null), (null), 29-May-1999)
+SAX.getEntity(iso6.doc.date)
+SAX.externalSubset(spec, -//testspec//, dtds/eve.dtd)
+SAX.startElementNs(spec, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.endElementNs(spec, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/icu_parse_test.xml b/result/noent/icu_parse_test.xml
new file mode 100644
index 0000000..031a967
--- /dev/null
+++ b/result/noent/icu_parse_test.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="EUC-JP"?>
+<foo>
+Text with EUC-JP chars at position 214 (0xd6)
+___
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______é®Äé___
+_</foo>
diff --git a/result/noent/icu_parse_test.xml.sax2 b/result/noent/icu_parse_test.xml.sax2
new file mode 100644
index 0000000..eb0d6c6
--- /dev/null
+++ b/result/noent/icu_parse_test.xml.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(foo, NULL, NULL, 0, 0, 0)
+SAX.characters(
+Text with EUC-JP chars at pos, 170)
+SAX.characters(駪槗___
+_, 11)
+SAX.endElementNs(foo, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/intsubset.xml.sax2 b/result/noent/intsubset.xml.sax2
new file mode 100644
index 0000000..f4db2a8
--- /dev/null
+++ b/result/noent/intsubset.xml.sax2
@@ -0,0 +1,9 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(root, , )
+SAX.elementDecl(root, 1, ...)
+SAX.comment(  " )
+SAX.externalSubset(root, , )
+SAX.startElementNs(root, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(root, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/intsubset2.xml.sax2 b/result/noent/intsubset2.xml.sax2
new file mode 100644
index 0000000..5558701
--- /dev/null
+++ b/result/noent/intsubset2.xml.sax2
@@ -0,0 +1,286 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(kanjidic2, , )
+SAX.comment( Version 1.3
+	This is the DTD of the XML-format kanji file combining information from
+	the KANJIDIC and KANJD212 files. It is intended to be largely self-
+	documenting, with each field being accompanied by an explanatory
+	comment.
+
+	The file covers the following kanji:
+	(a) the 6,355 kanji from JIS X 0208;
+	(b) the 5,801 kanji from JIS X 0212;
+	(c) the 3,625 kanji from JIS X 0213 as follows:
+		(i) the 2,741 kanji which are also in JIS X 0212 have
+		JIS X 0213 code-points (kuten) added to the existing entry;
+		(ii) the 884 "new" kanji have new entries.
+
+	At the end of the explanation for a number of fields there is a tag
+	with the format [N]. This indicates the leading letter(s) of the
+	equivalent field in the KANJIDIC and KANJD212 files.
+
+	The KANJIDIC documentation should also be read for additional 
+	information about the information in the file.
+	)
+SAX.elementDecl(kanjidic2, 4, ...)
+SAX.elementDecl(header, 4, ...)
+SAX.comment(
+	The single header element will contain identification information
+	about the version of the file 
+	)
+SAX.elementDecl(file_version, 3, ...)
+SAX.comment(
+	This field denotes the version of kanjidic2 structure, as more
+	than one version may exist.
+	)
+SAX.elementDecl(database_version, 3, ...)
+SAX.comment(
+	The version of the file, in the format YYYY-NN, where NN will be
+	a number starting with 01 for the first version released in a
+	calendar year, then increasing for each version in that year.
+	)
+SAX.elementDecl(date_of_creation, 3, ...)
+SAX.comment(
+	The date the file was created in international format (YYYY-MM-DD).
+	)
+SAX.elementDecl(character, 4, ...)
+SAX.elementDecl(literal, 3, ...)
+SAX.comment(
+	The character itself in UTF8 coding.
+	)
+SAX.elementDecl(codepoint, 4, ...)
+SAX.comment( 
+	The codepoint element states the code of the character in the various
+	character set standards.
+	)
+SAX.elementDecl(cp_value, 3, ...)
+SAX.comment( 
+	The cp_value contains the codepoint of the character in a particular
+	standard. The standard will be identified in the cp_type attribute.
+	)
+SAX.attributeDecl(cp_value, cp_type, 1, 2, NULL, ...)
+SAX.comment( 
+	The cp_type attribute states the coding standard applying to the
+	element. The values assigned so far are:
+		jis208 - JIS X 0208-1997 - kuten coding (nn-nn)
+		jis212 - JIS X 0212-1990 - kuten coding (nn-nn)
+		jis213 - JIS X 0213-2000 - kuten coding (p-nn-nn)
+		ucs - Unicode 4.0 - hex coding (4 or 5 hexadecimal digits)
+	)
+SAX.elementDecl(radical, 4, ...)
+SAX.elementDecl(rad_value, 3, ...)
+SAX.comment( 
+	The radical number, in the range 1 to 214. The particular
+	classification type is stated in the rad_type attribute.
+	)
+SAX.attributeDecl(rad_value, rad_type, 1, 2, NULL, ...)
+SAX.comment( 
+	The rad_type attribute states the type of radical classification.
+		classical - as recorded in the KangXi Zidian.
+		nelson - as used in the Nelson "Modern Japanese-English 
+		Character Dictionary" (i.e. the Classic, not the New Nelson).
+		This will only be used where Nelson reclassified the kanji.
+	)
+SAX.elementDecl(misc, 4, ...)
+SAX.elementDecl(grade, 3, ...)
+SAX.comment( 
+	The Jouyou Kanji grade level. 1 through 6 indicate the grade in which
+	the kanji is taught in Japanese schools. 8 indicates it is one of the
+	remaining Jouyou Kanji to be learned in junior high school, and 9 
+	indicates it is a Jinmeiyou (for use in names) kanji. [G]
+	)
+SAX.elementDecl(stroke_count, 3, ...)
+SAX.comment( 
+	The stroke count of the kanji, including the radical. If more than 
+	one, the first is considered the accepted count, while subsequent ones 
+	are common miscounts. (See Appendix E. of the KANJIDIC documentation
+	for some of the rules applied when counting strokes in some of the 
+	radicals.) [S]
+	)
+SAX.elementDecl(variant, 3, ...)
+SAX.comment( 
+	A cross-reference code to another kanji, usually regarded as a variant.
+	The type of cross-reference is given in the var_type attribute.
+	)
+SAX.attributeDecl(variant, var_type, 1, 2, NULL, ...)
+SAX.comment( 
+	The var_type attribute indicates the type of variant code. The current
+	values are: 
+		jis208 - in JIS X 0208 - kuten coding
+		jis212 - in JIS X 0212 - kuten coding
+		jis213 - in JIS X 0213 - kuten coding
+		deroo - De Roo number - numeric
+		njecd - Halpern NJECD index number - numeric
+		s_h - The Kanji Dictionary (Spahn & Hadamitzky) - descriptor
+		nelson - "Classic" Nelson - numeric
+		oneill - Japanese Names (O'Neill) - numeric
+	)
+SAX.elementDecl(freq, 3, ...)
+SAX.comment( 
+	A frequency-of-use ranking. The 2,500 most-used characters have a 
+	ranking; those characters that lack this field are not ranked. The 
+	frequency is a number from 1 to 2,500 that expresses the relative 
+	frequency of occurrence of a character in modern Japanese. This is
+	based on a survey in newspapers, so it is biassed towards kanji
+	used in newspaper articles. The discrimination between the less
+	frequently used kanji is not strong.
+	)
+SAX.elementDecl(rad_name, 3, ...)
+SAX.comment( 
+	When the kanji is itself a radical and has a name, this element
+	contains the name (in hiragana.) [T2]
+	)
+SAX.elementDecl(dic_number, 4, ...)
+SAX.comment( 
+	This element contains the index numbers and similar unstructured
+	information such as page numbers in a number of published dictionaries,
+	and instructional books on kanji.
+	)
+SAX.elementDecl(dic_ref, 3, ...)
+SAX.comment( 
+	Each dic_ref contains an index number. The particular dictionary,
+	etc. is defined by the dr_type attribute.
+	)
+SAX.attributeDecl(dic_ref, dr_type, 1, 2, NULL, ...)
+SAX.comment( 
+	The dr_type defines the dictionary or reference book, etc. to which
+	dic_ref element applies. The initial allocation is:
+	  nelson_c - "Modern Reader's Japanese-English Character Dictionary",  
+	  	edited by Andrew Nelson (now published as the "Classic" 
+	  	Nelson).
+	  nelson_n - "The New Nelson Japanese-English Character Dictionary", 
+	  	edited by John Haig.
+	  halpern_njecd - "New Japanese-English Character Dictionary", 
+	  	edited by Jack Halpern.
+	  halpern_kkld - "Kanji Learners Dictionary" (Kodansha) edited by 
+	  	Jack Halpern.
+	  heisig - "Remembering The  Kanji"  by  James Heisig.
+	  gakken - "A  New Dictionary of Kanji Usage" (Gakken)
+	  oneill_names - "Japanese Names", by P.G. O'Neill. 
+	  oneill_kk - "Essential Kanji" by P.G. O'Neill.
+	  moro - "Daikanwajiten" compiled by Morohashi. For some kanji two
+	  	additional attributes are used: m_vol:  the volume of the
+	  	dictionary in which the kanji is found, and m_page: the page
+	  	number in the volume.
+	  henshall - "A Guide To Remembering Japanese Characters" by
+	  	Kenneth G.  Henshall.
+	  sh_kk - "Kanji and Kana" by Spahn and Hadamitzky.
+	  sakade - "A Guide To Reading and Writing Japanese" edited by
+	  	Florence Sakade.
+	  henshall3 - "A Guide To Reading and Writing Japanese" 3rd
+		edition, edited by Henshall, Seeley and De Groot.
+	  tutt_cards - Tuttle Kanji Cards, compiled by Alexander Kask.
+	  crowley - "The Kanji Way to Japanese Language Power" by
+	  	Dale Crowley.
+	  kanji_in_context - "Kanji in Context" by Nishiguchi and Kono.
+	  busy_people - "Japanese For Busy People" vols I-III, published
+		by the AJLT. The codes are the volume.chapter.
+	  kodansha_compact - the "Kodansha Compact Kanji Guide".
+	)
+SAX.attributeDecl(dic_ref, m_vol, 1, 3, NULL, ...)
+SAX.comment( 
+	See above under "moro".
+	)
+SAX.attributeDecl(dic_ref, m_page, 1, 3, NULL, ...)
+SAX.comment( 
+	See above under "moro".
+	)
+SAX.elementDecl(query_code, 4, ...)
+SAX.comment( 
+	These codes contain information relating to the glyph, and can be used
+	for finding a required kanji. The type of code is defined by the
+	qc_type attribute.
+	)
+SAX.elementDecl(q_code, 3, ...)
+SAX.comment(
+	The q_code contains the actual query-code value, according to the
+	qc_type attribute.
+	)
+SAX.attributeDecl(q_code, qc_type, 1, 2, NULL, ...)
+SAX.comment( 
+	The q_code attribute defines the type of query code. The current values
+	are:
+	  skip -  Halpern's SKIP (System  of  Kanji  Indexing  by  Patterns) 
+	  	code. The  format is n-nn-nn.  See the KANJIDIC  documentation 
+	  	for  a description of the code and restrictions on  the 
+	  	commercial  use  of this data. [P]
+
+	  sh_desc - the descriptor codes for The Kanji Dictionary (Tuttle 
+	  	1996) by Spahn and Hadamitzky. They are in the form nxnn.n,  
+	  	e.g.  3k11.2, where the  kanji has 3 strokes in the 
+	  	identifying radical, it is radical "k" in the SH 
+	  	classification system, there are 11 other strokes, and it is 
+	  	the 2nd kanji in the 3k11 sequence. (I am very grateful to 
+	  	Mark Spahn for providing the list of these descriptor codes 
+	  	for the kanji in this file.) [I]
+	  four_corner - the "Four Corner" code for the kanji. This is a code 
+	  	invented by Wang Chen in 1928. See the KANJIDIC documentation 
+	  	for  an overview of  the Four Corner System. [Q]
+
+	  deroo - the codes developed by the late Father Joseph De Roo, and 
+	  	published in  his book "2001 Kanji" (Bojinsha). Fr De Roo 
+	  	gave his permission for these codes to be included. [DR]
+	  misclass - a possible misclassification of the kanji according
+		to one of the code types. (See the "Z" codes in the KANJIDIC
+		documentation for more details.)
+	  
+	)
+SAX.elementDecl(reading_meaning, 4, ...)
+SAX.comment( 
+	The readings for the kanji in several languages, and the meanings, also
+	in several languages. The readings and meanings are grouped to enable
+	the handling of the situation where the meaning is differentiated by 
+	reading. [T1]
+	)
+SAX.elementDecl(nanori, 3, ...)
+SAX.comment( 
+	Japanese readings that are now only associated with names.
+	)
+SAX.elementDecl(rmgroup, 4, ...)
+SAX.elementDecl(reading, 3, ...)
+SAX.comment( 
+	The reading element contains the reading or pronunciation
+	of the kanji.
+	)
+SAX.attributeDecl(reading, r_type, 1, 2, NULL, ...)
+SAX.comment( 
+	The r_type attribute defines the type of reading in the reading
+	element. The current values are:
+	  pinyin - the modern PinYin romanization of the Chinese reading 
+	  	of the kanji. The tones are represented by a concluding 
+	  	digit. [Y]
+	  korean_r - the romanized form of the Korean reading(s) of the 
+	  	kanji.  The readings are in the (Republic of Korea) Ministry 
+	  	of Education style of romanization. [W]
+	  korean_h - the Korean reading(s) of the kanji in hangul.
+	  ja_on - the "on" Japanese reading of the kanji, in katakana. A
+	  	second attribute r_status, if present, will indicate with
+	  	a value of "jy" whether the reading is approved for a
+	  	"Jouyou kanji".
+	  ja_kun - the "kun" Japanese reading of the kanji, in hiragana. 
+	  	Where relevant the okurigana is also included separated by a 
+	  	".". Readings associated with prefixes and suffixes are 
+	  	marked with a "-". A second attribute r_status, if present, 
+	  	will indicate with a value of "jy" whether the reading is 
+	  	approved for a "Jouyou kanji".
+	)
+SAX.attributeDecl(reading, r_status, 1, 3, NULL, ...)
+SAX.comment( 
+	See under ja_on and ja_kun above.
+	)
+SAX.elementDecl(meaning, 3, ...)
+SAX.comment( 
+	The meaning associated with the kanji.
+	)
+SAX.attributeDecl(meaning, m_lang, 1, 3, NULL, ...)
+SAX.comment( 
+	The m_lang attribute defines the target language of the meaning. It 
+	will be coded using the two-letter language code from the ISO 639 
+	standard. When absent, the value "en" (i.e. English) is implied. [{}]
+	)
+SAX.externalSubset(kanjidic2, , )
+SAX.startElementNs(kanjidic2, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.endElementNs(kanjidic2, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/isolat1.sax2 b/result/noent/isolat1.sax2
new file mode 100644
index 0000000..b97920a
--- /dev/null
+++ b/result/noent/isolat1.sax2
@@ -0,0 +1,7 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(très, NULL, NULL, 0, 0, 0)
+SAX.characters(l, 1)
+SAX.characters(à, 2)
+SAX.endElementNs(très, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/isolat2.sax2 b/result/noent/isolat2.sax2
new file mode 100644
index 0000000..0ac3f56
--- /dev/null
+++ b/result/noent/isolat2.sax2
@@ -0,0 +1,35 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(tst, NULL, NULL, 0, 0, 0)
+SAX.characters(
+
+       The following table d, 345)
+SAX.characters(¡     INVERTED EXCLAMATION MA, 300)
+SAX.characters(      250   168   A8     ¨   , 300)
+SAX.characters(SOFT HYPHEN
+       256   174  , 300)
+SAX.characters(  264   180   B4     ´     AC, 300)
+SAX.characters(SCULINE ORDINAL INDICATOR
+    , 300)
+SAX.characters(1   BF     ¿     INVERTED QUE, 300)
+SAX.characters( A WITH TILDE
+       304   196, 300)
+SAX.characters(  C8     È     LATIN CAPITAL , 300)
+SAX.characters(APITAL LETTER I WITH GRAVE
+   , 300)
+SAX.characters(  321   209   D1     Ñ     LA, 300)
+SAX.characters( LATIN CAPITAL LETTER O WITH T, 300)
+SAX.characters( 332   218   DA     Ú     LAT, 300)
+SAX.characters(    LATIN CAPITAL LETTER THORN, 300)
+SAX.characters(3   227   E3     ã     LATIN , 300)
+SAX.characters(R C WITH CEDILLA
+       350   , 300)
+SAX.characters(36   EC     ì     LATIN SMALL, 300)
+SAX.characters(LETTER ETH
+       361   241   , 300)
+SAX.characters(  õ     LATIN SMALL LETTER O , 300)
+SAX.characters( 250   FA     ú     LATIN SMA, 300)
+SAX.characters(L LETTER THORN
+       377   25, 85)
+SAX.endElementNs(tst, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/isolat3.sax2 b/result/noent/isolat3.sax2
new file mode 100644
index 0000000..31296af
--- /dev/null
+++ b/result/noent/isolat3.sax2
@@ -0,0 +1,29 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(rec, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(eg, NULL, NULL, 0, 0, 0)
+SAX.pcdata(<!ENTITY % pub    "&, 162)
+SAX.endElementNs(eg, NULL, NULL)
+SAX.characters(
+then the replacement text for, 43)
+SAX.startElementNs(code, NULL, NULL, 0, 0, 0)
+SAX.characters(book, 4)
+SAX.endElementNs(code, NULL, NULL)
+SAX.characters(" is:
+, 6)
+SAX.startElementNs(eg, NULL, NULL, 0, 0, 0)
+SAX.characters(La Peste: Albert Camus, 
+, 25)
+SAX.characters(©, 2)
+SAX.characters( 1947 , 6)
+SAX.characters(É, 2)
+SAX.characters(ditions Gallimard. , 19)
+SAX.characters(&, 1)
+SAX.characters(rights;, 7)
+SAX.endElementNs(eg, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(rec, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/japancrlf.xml.sax2 b/result/noent/japancrlf.xml.sax2
new file mode 100644
index 0000000..878eae4
--- /dev/null
+++ b/result/noent/japancrlf.xml.sax2
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0)
+SAX.characters(
+	, 2)
+SAX.startElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 1, xmlns:c8c='http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826', 0, 0)
+SAX.endElementNs(Ele, c8c, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826')
+SAX.characters(
+, 1)
+SAX.endElementNs(入力メッセージ, NULL, 'http://schemas.cordys.com/webapps/1.0/bpm/c8c8b82a-0ac0-3d19-01e2-bda74af9b826')
+SAX.endDocument()
diff --git a/result/noent/ns.sax2 b/result/noent/ns.sax2
new file mode 100644
index 0000000..c615db3
--- /dev/null
+++ b/result/noent/ns.sax2
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/', 0, 1, 0, dia:testattr='test...', 4)
+SAX.endElementNs(diagramdata, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.characters(
+, 1)
+SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.endDocument()
diff --git a/result/noent/ns2.sax2 b/result/noent/ns2.sax2
new file mode 100644
index 0000000..fc8d6f4
--- /dev/null
+++ b/result/noent/ns2.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4)
+SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.endDocument()
diff --git a/result/noent/ns3.sax2 b/result/noent/ns3.sax2
new file mode 100644
index 0000000..fc8d6f4
--- /dev/null
+++ b/result/noent/ns3.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/', 1, xmlns:dia='http://www.lysator.liu.se/~alla/dia/', 1, 0, dia:testattr='test...', 4)
+SAX.endElementNs(diagram, dia, 'http://www.lysator.liu.se/~alla/dia/')
+SAX.endDocument()
diff --git a/result/noent/ns4.sax2 b/result/noent/ns4.sax2
new file mode 100644
index 0000000..e31cc56
--- /dev/null
+++ b/result/noent/ns4.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(diagram, NULL, NULL, 0, 4, 0, testattr='test...', 4, xml:lang='en" ...', 2, xml:link='simp...', 6, xml:space='pres...', 8)
+SAX.endElementNs(diagram, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ns5.sax2 b/result/noent/ns5.sax2
new file mode 100644
index 0000000..a434d6b
--- /dev/null
+++ b/result/noent/ns5.sax2
@@ -0,0 +1,11 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(element, NULL, 'http://example.org/ns/1', 2, xmlns:rng='http://example.org/ns/1', xmlns='http://example.org/ns/1', 1, 0, name='foo"...', 3)
+SAX.characters(
+  , 3)
+SAX.startElementNs(empty, NULL, 'http://example.org/ns/1', 0, 0, 0)
+SAX.endElementNs(empty, NULL, 'http://example.org/ns/1')
+SAX.characters(
+, 1)
+SAX.endElementNs(element, NULL, 'http://example.org/ns/1')
+SAX.endDocument()
diff --git a/result/noent/ns6.sax2 b/result/noent/ns6.sax2
new file mode 100644
index 0000000..7b54552
--- /dev/null
+++ b/result/noent/ns6.sax2
@@ -0,0 +1,15 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(root, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(foo, NULL, 'http://abc', 1, xmlns='http://abc', 0, 0)
+SAX.endElementNs(foo, NULL, 'http://abc')
+SAX.characters(
+  , 3)
+SAX.startElementNs(bar, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(bar, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(root, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/ns7.sax2 b/result/noent/ns7.sax2
new file mode 100644
index 0000000..2a2c714
--- /dev/null
+++ b/result/noent/ns7.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace', 0, 0, 0)
+SAX.endElementNs(test, xml, 'http://www.w3.org/XML/1998/namespace')
+SAX.endDocument()
diff --git a/result/noent/nsclean.xml.sax2 b/result/noent/nsclean.xml.sax2
new file mode 100644
index 0000000..d443e2b
--- /dev/null
+++ b/result/noent/nsclean.xml.sax2
@@ -0,0 +1,13 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo', 3, xmlns='tag:foofoofoofoofoofoofoofoo', xmlns:dc='http://purl.org/dc/elements/1.1/', xmlns:dcterms='http://purl.org/dc/terms/', 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo', 2, xmlns='http://www.w3.org/1999/xhtml', xmlns:foop='tag:foofoofoofoofoofoofoofoo', 0, 0)
+SAX.characters(
+, 1)
+SAX.endElementNs(content, foop, 'tag:foofoofoofoofoofoofoofoo')
+SAX.characters(
+, 1)
+SAX.endElementNs(article, NULL, 'tag:foofoofoofoofoofoofoofoo')
+SAX.endDocument()
diff --git a/result/noent/p3p.sax2 b/result/noent/p3p.sax2
new file mode 100644
index 0000000..6815789
--- /dev/null
+++ b/result/noent/p3p.sax2
@@ -0,0 +1,65 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:p3p='http://www.w3.org/TR/1998/WD-P3P10-syntax#proposal.DTD', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(PROP, NULL, NULL, 0, 4, 0, realm='http...', 37, entity='Cool...', 11, agreeID='94df...', 16, assurance='http...', 22)
+SAX.characters(
+  , 3)
+SAX.startElementNs(USES, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, purp='2,3"...', 3, recpnt='0" i...', 1, id='0"
+ ...', 1, consq='a si...', 37)
+SAX.characters(
+    , 5)
+SAX.startElementNs(WITH, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(PREFIX, NULL, NULL, 0, 1, 0, name='User...', 5)
+SAX.characters(
+     , 6)
+SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Name...', 10)
+SAX.endElementNs(REF, NULL, NULL)
+SAX.characters(
+     , 6)
+SAX.startElementNs(REF, NULL, NULL, 0, 2, 0, name='Bdat...', 10, optional='1"/>...', 1)
+SAX.endElementNs(REF, NULL, NULL)
+SAX.characters(
+     , 6)
+SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='Gend...', 6)
+SAX.endElementNs(REF, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.endElementNs(PREFIX, NULL, NULL)
+SAX.endElementNs(WITH, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(STATEMENT, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(USES, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(USES, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(STATEMENT, NULL, NULL, 0, 4, 0, action='read...', 10, purp='0" r...', 1, recpnt='0" i...', 1, id='1">
+...', 1)
+SAX.characters(
+    , 5)
+SAX.startElementNs(REF, NULL, NULL, 0, 1, 0, name='User...', 14)
+SAX.endElementNs(REF, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(STATEMENT, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(USES, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(DISCLOSURE, NULL, NULL, 0, 3, 0, discURI='http...', 47, access='3" o...', 1, other='0,1"...', 3)
+SAX.endElementNs(DISCLOSURE, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(PROP, NULL, NULL)
+SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.endDocument()
diff --git a/result/noent/pi.xml.sax2 b/result/noent/pi.xml.sax2
new file mode 100644
index 0000000..a4490ea
--- /dev/null
+++ b/result/noent/pi.xml.sax2
@@ -0,0 +1,17 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.processingInstruction(document-start, doc)
+SAX.characters(
+, 1)
+SAX.startElementNs(empty, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(empty, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.processingInstruction(document-end, doc)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/pi2.xml.sax2 b/result/noent/pi2.xml.sax2
new file mode 100644
index 0000000..1e6caad
--- /dev/null
+++ b/result/noent/pi2.xml.sax2
@@ -0,0 +1,13 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.processingInstruction(document-start, doc)
+SAX.startElementNs(doc, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(empty, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(empty, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(doc, NULL, NULL)
+SAX.processingInstruction(document-end, doc)
+SAX.endDocument()
diff --git a/result/noent/rdf1.sax2 b/result/noent/rdf1.sax2
new file mode 100644
index 0000000..24822e1
--- /dev/null
+++ b/result/noent/rdf1.sax2
@@ -0,0 +1,186 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RPM='http://www.rpm.org/', xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, HREF='ftp:...', 78)
+SAX.characters(
+    , 5)
+SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(rpm, 3)
+SAX.endElementNs(Name, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(2.5, 3)
+SAX.endElementNs(Version, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(2, 1)
+SAX.endElementNs(Release, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(i386, 4)
+SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Linux, 5)
+SAX.endElementNs(Os, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Manhattan , 10)
+SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Red Hat Software, 16)
+SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Red Hat Software , 17)
+SAX.characters(<, 1)
+SAX.characters(bugs@redhat.com, 15)
+SAX.characters(>, 1)
+SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Utilities/System, 16)
+SAX.endElementNs(Group, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Red Hat Package Manager, 23)
+SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(RPM is a powerful package mana, 248)
+SAX.endElementNs(Description, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(GPL, 3)
+SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Changelog, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(* Sun May 10 1998 Prospector S, 36)
+SAX.characters(<, 1)
+SAX.characters(bugs@redhat.com, 15)
+SAX.characters(>, 1)
+SAX.characters(
+  - translations modified for, 42)
+SAX.endElementNs(Changelog, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(rpm-2.5-2.src.rpm, 17)
+SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(SourcesFtp, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(ftp://ftp.redhat.com/pub/redha, 48)
+SAX.endElementNs(SourcesFtp, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Sun May 10 14:52:32 1998, 24)
+SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(894826352, 9)
+SAX.endElementNs(Date, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(850599, 6)
+SAX.endElementNs(Size, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(porky.redhat.com, 16)
+SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(rpm, 3)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.characters(
+    , 5)
+SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Requires, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(/bin/sh, 7)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(ld-linux.so.2, 13)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(libc.so.6, 9)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(libdb.so.2, 10)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(libz.so.1, 9)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(/bin/bash, 9)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(/bin/sh, 7)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.characters(
+    , 5)
+SAX.endElementNs(Requires, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(/bin/rpm
+/usr/bin/find-provide, 885)
+SAX.endElementNs(Files, RPM, 'http://www.rpm.org/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.characters(
+, 1)
+SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.endDocument()
diff --git a/result/noent/rdf2.sax2 b/result/noent/rdf2.sax2
new file mode 100644
index 0000000..388174f
--- /dev/null
+++ b/result/noent/rdf2.sax2
@@ -0,0 +1,191 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 2, xmlns:RDF='http://www.w3.org/TR/WD-rdf-syntax#', xmlns:RPM='http://www.rpm.org/', 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 1, 0, about='ftp:...', 71)
+SAX.characters(
+    , 5)
+SAX.startElementNs(Name, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(ncurses4, 8)
+SAX.endElementNs(Name, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Version, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(4.2, 3)
+SAX.endElementNs(Version, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Release, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(3, 1)
+SAX.endElementNs(Release, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Arch, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(i386, 4)
+SAX.endElementNs(Arch, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Os, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Linux, 5)
+SAX.endElementNs(Os, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Distribution, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(DLD, 3)
+SAX.endElementNs(Distribution, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Vendor, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(delix Computer GmbH, 19)
+SAX.endElementNs(Vendor, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Packager, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Till Bubeck , 12)
+SAX.characters(<, 1)
+SAX.characters(bubeck@delix.de, 15)
+SAX.characters(>, 1)
+SAX.characters(, Ngo Than , 11)
+SAX.characters(<, 1)
+SAX.characters(than@delix.de, 13)
+SAX.characters(>, 1)
+SAX.endElementNs(Packager, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Group, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Libraries, 9)
+SAX.endElementNs(Group, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Summary, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Bibliothek zur Ansteuerung von, 40)
+SAX.endElementNs(Summary, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Description, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Diese Library stellt dem Progr, 57)
+SAX.characters(ä, 2)
+SAX.characters(ngige
+Routinen zur Ansteuerung, 57)
+SAX.characters(ü, 2)
+SAX.characters(gung, die
+speziell optimiert s, 57)
+SAX.characters(', 1)
+SAX.characters(new curses, 10)
+SAX.characters(', 1)
+SAX.characters( (ncurses) Variante und ist de, 51)
+SAX.characters(ü, 2)
+SAX.characters(r die klassische Curses-Librar, 70)
+SAX.endElementNs(Description, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Copyright, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(GPL, 3)
+SAX.endElementNs(Copyright, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Sources, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(ncurses4-4.2-3.src.rpm, 22)
+SAX.endElementNs(Sources, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(BuildDate, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(Tue May 12 19:30:26 1998, 24)
+SAX.endElementNs(BuildDate, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Date, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(895015826, 9)
+SAX.endElementNs(Date, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Size, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(1373513, 7)
+SAX.endElementNs(Size, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(BuildHost, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(erdbeere.delix.de, 17)
+SAX.endElementNs(BuildHost, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Provides, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(
+      , 7)
+SAX.startElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#', 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 37)
+SAX.characters(ncurses4, 8)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 42)
+SAX.characters(libpanel.so.4, 13)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 44)
+SAX.characters(libncurses.so.4, 15)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41)
+SAX.characters(libmenu.so.4, 12)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 41)
+SAX.characters(libform.so.4, 12)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+        , 9)
+SAX.startElementNs(Resource, RPM, 'http://www.rpm.org/', 0, 1, 0, href='../....', 36)
+SAX.characters(ncurses, 7)
+SAX.endElementNs(Resource, RPM, 'http://www.rpm.org/')
+SAX.characters(
+      , 7)
+SAX.endElementNs(Bag, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.characters(
+    , 5)
+SAX.endElementNs(Provides, RPM, 'http://www.rpm.org/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(Files, RPM, 'http://www.rpm.org/', 0, 0, 0)
+SAX.characters(/lib/libncurses.so.4
+/lib/libn, 2008)
+SAX.characters(/share/ncurses4/terminfo/P/P14, 4000)
+SAX.characters(es4/terminfo/a/alt7pc
+/usr/sha, 4000)
+SAX.characters(/a/att4415-w
+/usr/share/ncurse, 4000)
+SAX.characters(ses4/terminfo/b/bee
+/usr/share, 4000)
+SAX.characters(r/share/ncurses4/terminfo/c/co, 4000)
+SAX.characters(/usr/share/ncurses4/terminfo/d, 4000)
+SAX.characters(sr/share/ncurses4/terminfo/g/g, 4000)
+SAX.characters(/terminfo/h/hp2626-12x40
+/usr/, 4000)
+SAX.characters(e/ncurses4/terminfo/i/intertub, 4000)
+SAX.characters(rses4/terminfo/m/mskermit22714, 4000)
+SAX.characters(are/ncurses4/terminfo/p/p12-m
+, 4000)
+SAX.characters(pt100w
+/usr/share/ncurses4/ter, 4000)
+SAX.characters(sr/share/ncurses4/terminfo/s/s, 4000)
+SAX.characters(usr/share/ncurses4/terminfo/t/, 4000)
+SAX.characters(share/ncurses4/terminfo/v/vi55, 4000)
+SAX.characters(are/ncurses4/terminfo/w/wy160-, 4000)
+SAX.characters(/wy99gt-vb
+/usr/share/ncurses4, 4000)
+SAX.characters(/w/wyse99gt
+/usr/share/ncurses, 2907)
+SAX.endElementNs(Files, RPM, 'http://www.rpm.org/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(Description, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.characters(
+, 1)
+SAX.endElementNs(RDF, RDF, 'http://www.w3.org/TR/WD-rdf-syntax#')
+SAX.endDocument()
diff --git a/result/noent/slashdot.rdf.sax2 b/result/noent/slashdot.rdf.sax2
new file mode 100644
index 0000000..c561cf8
--- /dev/null
+++ b/result/noent/slashdot.rdf.sax2
@@ -0,0 +1,221 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 2, xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#', xmlns='http://my.netscape.com/rdf/simple/0.9/', 0, 0)
+SAX.characters(
+
+  , 4)
+SAX.startElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Slashdot:News for Nerds. Stuff, 44)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/, 20)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(News for Nerds.  Stuff that Ma, 35)
+SAX.endElementNs(description, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(channel, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+
+  , 4)
+SAX.startElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Slashdot, 8)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/images/sla, 41)
+SAX.endElementNs(url, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org, 19)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(image, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(100 Mbit/s on Fibre to the hom, 31)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Gimp 1.2 Preview, 16)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Sony's AIBO robot Sold Out, 26)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Ask Slashdot: Another Word for, 40)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/askslashdo, 54)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Corel Linux FAQ, 15)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Upside downsides MP3.COM., 25)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(2 Terabits of Bandwidth, 23)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Suppression of cold fusion res, 36)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(California Gov. Halts Wage Inf, 36)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 50)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  
+  , 6)
+SAX.startElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(Red Hat Announces IPO, 21)
+SAX.endElementNs(title, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+    , 5)
+SAX.startElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/', 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(link, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+  , 3)
+SAX.endElementNs(item, NULL, 'http://my.netscape.com/rdf/simple/0.9/')
+SAX.characters(
+, 1)
+SAX.endElementNs(RDF, rdf, 'http://www.w3.org/1999/02/22-rdf-syntax-ns#')
+SAX.endDocument()
diff --git a/result/noent/slashdot.xml.sax2 b/result/noent/slashdot.xml.sax2
new file mode 100644
index 0000000..2ead70d
--- /dev/null
+++ b/result/noent/slashdot.xml.sax2
@@ -0,0 +1,517 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(100 Mbit/s on Fibre to the hom, 31)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:39:59, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(wouldn't-it-be-nice, 19)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(internet, 8)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(20, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicinternet.jpg, 17)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Gimp 1.2 Preview, 16)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:38:40, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-read, 13)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(gimp, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(12, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicgimp.gif, 13)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Sony's AIBO robot Sold Out, 26)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:32:51, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-see, 12)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(tech, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(10, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topictech2.jpg, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Ask Slashdot: Another Word for, 40)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/askslashdo, 54)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 20:00:00, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Cliff, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(hacker-vs-cracker, 17)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(news, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(385, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(askslashdot, 11)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicnews.gif, 13)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Corel Linux FAQ, 15)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 18:42:06, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-read, 13)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(corel, 5)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(164, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topiccorel.gif, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Upside downsides MP3.COM., 25)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 15:56:45, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-think-about, 20)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(music, 5)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(48, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicmusic.gif, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(2 Terabits of Bandwidth, 23)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 15:53:43, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(faster-porn, 11)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(internet, 8)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(66, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicinternet.jpg, 17)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Suppression of cold fusion res, 36)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-04 23:12:29, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Hemos, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(possibly-probably, 17)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(science, 7)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(217, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicscience.gif, 16)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(California Gov. Halts Wage Inf, 36)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 50)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-04 23:05:34, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Hemos, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(woo-hoo!, 8)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(usa, 3)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(16, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicus.gif, 11)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Red Hat Announces IPO, 21)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-04 19:30:18, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Justin, 6)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(details-sketchy, 15)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(redhat, 6)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(155, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicredhat.gif, 15)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(ultramode, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/slashdot16.xml.sax2 b/result/noent/slashdot16.xml.sax2
new file mode 100644
index 0000000..785e699
--- /dev/null
+++ b/result/noent/slashdot16.xml.sax2
@@ -0,0 +1,721 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(ultramode, NULL, NULL, 0, 0, 0)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(100 Mbit/s on Fibre to the hom, 31)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:39:59, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(wouldn't-it-be-nice, 19)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(internet, 8)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(20, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicinternet.jpg, 17)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Gimp 1.2 Preview, 16)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:38:40, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-read, 13)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(gimp, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(12, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicgimp.gif, 13)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Sony's AIBO robot Sold Out, 26)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:32:51, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-see, 12)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(tech, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(10, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topictech2.jpg, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Ask Slashdot: Another Word for, 40)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/askslashdo, 54)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 20:00:00, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Cliff, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(hacker-vs-cracker, 17)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(news, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(385, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(askslashdot, 11)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicnews.gif, 13)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(100 Mbit/s on Fibre to the hom, 31)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:39:59, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(wouldn't-it-be-nice, 19)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(internet, 8)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(20, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicinternet.jpg, 17)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Gimp 1.2 Preview, 16)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:38:40, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-read, 13)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(gimp, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(12, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicgimp.gif, 13)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Sony's AIBO robot Sold Out, 26)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-06 14:32:51, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-see, 12)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(tech, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(10, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topictech2.jpg, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Ask Slashdot: Another Word for, 40)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/askslashdo, 54)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 20:00:00, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Cliff, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(hacker-vs-cracker, 17)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(news, 4)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(385, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(askslashdot, 11)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicnews.gif, 13)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Corel Linux FAQ, 15)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 18:42:06, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-read, 13)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(corel, 5)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(164, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topiccorel.gif, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Upside downsides MP3.COM., 25)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 15:56:45, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(stuff-to-think-about, 20)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(music, 5)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(48, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicmusic.gif, 14)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(2 Terabits of Bandwidth, 23)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-05 15:53:43, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(CmdrTaco, 8)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(faster-porn, 11)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(internet, 8)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(66, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicinternet.jpg, 17)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Suppression of cold fusion res, 36)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-04 23:12:29, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Hemos, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(possibly-probably, 17)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(science, 7)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(217, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicscience.gif, 16)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(California Gov. Halts Wage Inf, 36)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 50)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-04 23:05:34, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Hemos, 5)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(woo-hoo!, 8)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(usa, 3)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(16, 2)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicus.gif, 11)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(story, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Red Hat Announces IPO, 21)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(url, NULL, NULL, 0, 0, 0)
+SAX.characters(http://slashdot.org/articles/9, 51)
+SAX.endElementNs(url, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(time, NULL, NULL, 0, 0, 0)
+SAX.characters(1999-06-04 19:30:18, 19)
+SAX.endElementNs(time, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(author, NULL, NULL, 0, 0, 0)
+SAX.characters(Justin, 6)
+SAX.endElementNs(author, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(department, NULL, NULL, 0, 0, 0)
+SAX.characters(details-sketchy, 15)
+SAX.endElementNs(department, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(topic, NULL, NULL, 0, 0, 0)
+SAX.characters(redhat, 6)
+SAX.endElementNs(topic, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(comments, NULL, NULL, 0, 0, 0)
+SAX.characters(155, 3)
+SAX.endElementNs(comments, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(section, NULL, NULL, 0, 0, 0)
+SAX.characters(articles, 8)
+SAX.endElementNs(section, NULL, NULL)
+SAX.characters(
+    , 5)
+SAX.startElementNs(image, NULL, NULL, 0, 0, 0)
+SAX.characters(topicredhat.gif, 15)
+SAX.endElementNs(image, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(story, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(ultramode, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/svg1.sax2 b/result/noent/svg1.sax2
new file mode 100644
index 0000000..7b81459
--- /dev/null
+++ b/result/noent/svg1.sax2
@@ -0,0 +1,613 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd)
+SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd)
+SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='242p...', 5, height='383p...', 5)
+SAX.characters(
+, 1)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 337)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 190)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 71)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 178...', 128)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 273)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 203)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 212...', 448)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 208)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 106)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 21,...', 90)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 71,...', 150)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 101)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 141...', 70)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 156)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 97,...', 156)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 238)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 69)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 86,...', 217)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 65)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 144...', 70)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 57,...', 294)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 194)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 109...', 70)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 80)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 156)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 82,...', 284)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 142...', 239)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 114...', 80)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 102...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 51,...', 154)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 2,3...', 120)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 154)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 11,...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 97)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 202...', 152)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 151...', 168)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 202)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 31,...', 96)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 76)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 181...', 91)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 132...', 80)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 80)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 78)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 20,...', 105)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 93,...', 92)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 70)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 116...', 260)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 74,...', 245)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 104)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 133...', 64)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 121...', 334)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 79,...', 70)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 91,...', 80)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 110...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 126...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 30,...', 266)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 319)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 13,...', 84)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 9,2...', 45)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 33,...', 385)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 7,3...', 51)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 44,...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 128)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 208...', 360)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 152)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 107...', 93)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 80,...', 192)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 87,...', 55)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 55)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 119)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 145...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 26,...', 60)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 160...', 91)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 265)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 148...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 50,...', 144)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 231)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 102)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 112...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 195)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 67,...', 109)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 56,...', 276)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 101...', 307)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 41,...', 116)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 245)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 134...', 136)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 173...', 280)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 165...', 88)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 124)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 117...', 64)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 122...', 64)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 69,...', 262)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 100...', 54)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 115...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 127...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 5,2...', 218)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 10,...', 48)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 37,...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 49,...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 130...', 88)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 106...', 49)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 139...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 25,...', 91)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 98,...', 92)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 83,...', 56)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 155...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 153...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 152...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 68,...', 58)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 105...', 68)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 108...', 65)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 85,...', 156)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 140...', 126)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 146...', 237)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 150...', 320)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 147...', 64)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 157...', 72)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 99,...', 63)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.endElementNs(svg, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/svg2.sax2 b/result/noent/svg2.sax2
new file mode 100644
index 0000000..ab73992
--- /dev/null
+++ b/result/noent/svg2.sax2
@@ -0,0 +1,189 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd)
+SAX.externalSubset(svg, -//W3C//DTD SVG April 1999//EN, http://www.w3.org/Graphics/SVG/svg-19990412.dtd)
+SAX.startElementNs(svg, NULL, NULL, 0, 2, 0, width='268p...', 5, height='207p...', 5)
+SAX.characters(
+, 1)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' M 2...', 9)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d=' L 1...', 9)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 32,...', 46)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(rect, NULL, NULL, 0, 4, 0, x='30" ...', 2, y='101"...', 3, width='51" ...', 2, height='33"/...', 2)
+SAX.endElementNs(rect, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='182"...', 3, cy='127"...', 3, major='37" ...', 2, minor='31" ...', 2, angle='90"/...', 2)
+SAX.endElementNs(ellipse, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(polyline, NULL, NULL, 0, 1, 0, verts=' 78,...', 445)
+SAX.endElementNs(polyline, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(g, NULL, NULL, 0, 0, 0)
+SAX.characters(
+     , 6)
+SAX.startElementNs(desc, NULL, NULL, 0, 0, 0)
+SAX.characters( Java Font definition:Dialog 0, 30)
+SAX.endElementNs(desc, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(g, NULL, NULL, 0, 0, 0)
+SAX.characters(
+     , 6)
+SAX.startElementNs(desc, NULL, NULL, 0, 0, 0)
+SAX.characters( Java Font definition:Helvetic, 33)
+SAX.endElementNs(desc, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='188"...', 3, y='36" ...', 2)
+SAX.characters(this is text, 12)
+SAX.endElementNs(text, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(g, NULL, NULL, 0, 0, 0)
+SAX.characters(
+     , 6)
+SAX.startElementNs(desc, NULL, NULL, 0, 0, 0)
+SAX.characters( Java Font definition:Dialog 0, 30)
+SAX.endElementNs(desc, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(g, NULL, NULL, 0, 0, 0)
+SAX.characters(
+     , 6)
+SAX.startElementNs(desc, NULL, NULL, 0, 0, 0)
+SAX.characters( Java Font definition:Helvetic, 35)
+SAX.endElementNs(desc, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(text, NULL, NULL, 0, 2, 0, x='176"...', 3, y='85" ...', 2)
+SAX.characters(sadfsadfsad, 11)
+SAX.endElementNs(text, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(ellipse, NULL, NULL, 0, 5, 0, cx='208"...', 3, cy='180"...', 3, major='45" ...', 2, minor='31" ...', 2, angle='0"/>...', 1)
+SAX.endElementNs(ellipse, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 15)
+SAX.characters( 
+, 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters( 
+, 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters( 
+   , 5)
+SAX.startElementNs(g, NULL, NULL, 0, 0, 0)
+SAX.characters(
+     , 6)
+SAX.startElementNs(desc, NULL, NULL, 0, 0, 0)
+SAX.characters( Java Font definition:Dialog 7, 32)
+SAX.endElementNs(desc, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+   , 4)
+SAX.startElementNs(g, NULL, NULL, 0, 0, 0)
+SAX.characters(
+     , 6)
+SAX.startElementNs(desc, NULL, NULL, 0, 0, 0)
+SAX.characters( Java Font definition:Dialog 7, 32)
+SAX.endElementNs(desc, NULL, NULL)
+SAX.characters( 
+   , 5)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(g, NULL, NULL)
+SAX.endElementNs(svg, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/svg3.sax2 b/result/noent/svg3.sax2
new file mode 100644
index 0000000..b63dff0
--- /dev/null
+++ b/result/noent/svg3.sax2
@@ -0,0 +1,2407 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(svg, NULL, NULL, 0, 0, 0)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 149)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M81....', 149)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M108...', 153)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 157)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 157)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M90....', 150)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M83....', 149)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M80....', 151)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91....', 144)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M71....', 105)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 150)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 49)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M72....', 145)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M70....', 3523)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M499...', 1458)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 598)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M333...', 739)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M334...', 757)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M336...', 760)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M337...', 761)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M338...', 762)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M340...', 760)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M341...', 760)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M342...', 760)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 725)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M345...', 762)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 637)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 221)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 273)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M145...', 431)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 131)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M179...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M165...', 911)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M170...', 501)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 262)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 209)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 475)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 29)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 405)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 219)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M271...', 327)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 98)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 137)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M185...', 152)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 152)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 154)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 154)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 132)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 142)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 211)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 50)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M253...', 56)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 179)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 219)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M111...', 221)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M132...', 208)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 334)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 183)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 161)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M147...', 160)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M154...', 158)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 158)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 182)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M190...', 247)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 361)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M208...', 393)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 393)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M210...', 393)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M244...', 301)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M290...', 155)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 309)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M247...', 193)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M243...', 200)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M255...', 77)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 191)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M141...', 411)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 494)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 484)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M148...', 495)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 486)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M137...', 119)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 115)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M128...', 132)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M214...', 1619)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M409...', 389)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M464...', 271)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 289)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M463...', 287)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 280)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 289)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M462...', 250)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M250...', 709)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M389...', 91)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M436...', 125)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M492...', 99)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M304...', 123)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M494...', 111)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M343...', 2441)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M309...', 1201)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M380...', 429)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M368...', 1598)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M291...', 929)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M259...', 1006)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 383)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 181)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M233...', 2425)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M251...', 74)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M224...', 84)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 112)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 30)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 114)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 6993)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M197...', 185)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 193)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M138...', 197)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 195)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M134...', 11)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M89 ...', 570)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M87....', 491)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M91 ...', 497)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M88....', 626)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M79....', 183)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M101...', 359)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M240...', 1223)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 816)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M294...', 902)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 3281)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M202...', 837)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M182...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M142...', 177)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M133...', 289)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M120...', 215)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M349...', 1047)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M339...', 444)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 503)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 445)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M177...', 379)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 438)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 109)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 113)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 105)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M163...', 113)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 111)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M191...', 114)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M180...', 109)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M173...', 105)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 111)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M205...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M215...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M209...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M219...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M196...', 109)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M123...', 117)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M105...', 111)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 101)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 1246)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M126...', 311)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M125...', 125)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M127...', 160)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M129...', 160)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M130...', 158)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 157)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M242...', 154)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 158)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 157)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M204...', 387)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M277...', 379)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M218...', 127)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 126)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 126)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 128)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M235...', 128)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 126)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M254...', 129)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M264...', 126)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M226...', 126)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M262...', 161)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M265...', 363)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M207...', 143)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M217...', 147)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M229...', 143)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M239...', 137)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 133)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M172...', 135)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M164...', 137)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 160)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M222...', 160)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M201...', 158)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M181...', 161)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M193...', 155)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M174...', 159)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 160)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M236...', 161)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M203...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M213...', 135)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M228...', 161)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M238...', 161)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M198...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M188...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M249...', 159)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M257...', 159)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 47)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M267...', 159)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M156...', 111)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M187...', 105)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M178...', 111)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M82....', 121)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M84....', 121)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M77....', 121)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M157...', 137)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M245...', 349)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M234...', 346)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M194...', 445)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M168...', 247)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 396)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M171...', 206)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M186...', 803)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M246...', 179)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M231...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M221...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M211...', 139)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M192...', 261)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M189...', 131)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M167...', 181)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 183)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M155...', 99)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M140...', 181)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M470...', 101)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M476...', 97)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M493...', 91)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='fill...', 13)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M501...', 67)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M110...', 25)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M161...', 38)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M166...', 40)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.startElementNs(g, NULL, NULL, 0, 1, 0, style='stro...', 14)
+SAX.characters(
+  , 3)
+SAX.startElementNs(path, NULL, NULL, 0, 1, 0, d='M220...', 46)
+SAX.endElementNs(path, NULL, NULL)
+SAX.characters(
+ , 2)
+SAX.endElementNs(g, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(svg, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/title.xml.sax2 b/result/noent/title.xml.sax2
new file mode 100644
index 0000000..6fa4fa9
--- /dev/null
+++ b/result/noent/title.xml.sax2
@@ -0,0 +1,6 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(my title, 8)
+SAX.endElementNs(title, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/tstblanks.xml.sax2 b/result/noent/tstblanks.xml.sax2
new file mode 100644
index 0000000..45563a4
--- /dev/null
+++ b/result/noent/tstblanks.xml.sax2
@@ -0,0 +1,6 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(a, NULL, NULL, 0, 1, 0, test='pass...', 6)
+SAX.characters(content, 7)
+SAX.endElementNs(a, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/utf16bebom.xml.sax2 b/result/noent/utf16bebom.xml.sax2
new file mode 100644
index 0000000..4326890
--- /dev/null
+++ b/result/noent/utf16bebom.xml.sax2
@@ -0,0 +1,8 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( This file is encoded in UTF-16BE )
+SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4)
+SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4)
+SAX.endElementNs(namespace, NULL, NULL)
+SAX.endElementNs(repository, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/utf16bom.xml.sax2 b/result/noent/utf16bom.xml.sax2
new file mode 100644
index 0000000..2b2db15
--- /dev/null
+++ b/result/noent/utf16bom.xml.sax2
@@ -0,0 +1,7 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4)
+SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4)
+SAX.endElementNs(namespace, NULL, NULL)
+SAX.endElementNs(repository, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/utf16lebom.xml.sax2 b/result/noent/utf16lebom.xml.sax2
new file mode 100644
index 0000000..3b62346
--- /dev/null
+++ b/result/noent/utf16lebom.xml.sax2
@@ -0,0 +1,8 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.comment( This file is encoded in UTF-16LE )
+SAX.startElementNs(repository, NULL, NULL, 0, 1, 0, repositroy_id='test...', 4)
+SAX.startElementNs(namespace, NULL, NULL, 0, 1, 0, name='test...', 4)
+SAX.endElementNs(namespace, NULL, NULL)
+SAX.endElementNs(repository, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/utf8bom.xml.sax2 b/result/noent/utf8bom.xml.sax2
new file mode 100644
index 0000000..cf7f20f
--- /dev/null
+++ b/result/noent/utf8bom.xml.sax2
@@ -0,0 +1,5 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(foo, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(foo, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/wap.xml.sax2 b/result/noent/wap.xml.sax2
new file mode 100644
index 0000000..6d40b25
--- /dev/null
+++ b/result/noent/wap.xml.sax2
@@ -0,0 +1,87 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd)
+SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://dark.wapit.com/vswap/tests/wap/DTD/wml11.dtd)
+SAX.comment( (C) 1999, 2000 WAP Forum Ltd.  All rights reserved )
+SAX.startElementNs(wml, NULL, NULL, 0, 0, 0)
+SAX.characters(
+, 1)
+SAX.startElementNs(card, NULL, NULL, 0, 1, 0, id='card...', 5)
+SAX.characters(
+, 1)
+SAX.startElementNs(onevent, NULL, NULL, 0, 1, 0, type='onen...', 14)
+SAX.characters(
+, 1)
+SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='var"...', 3, value='$tes...', 5)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v" v...', 1, value='dark...', 4)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(go, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(onevent, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters(If automatic testing failed, s, 36)
+SAX.startElementNs(anchor, NULL, NULL, 0, 0, 0)
+SAX.characters(Failed, 6)
+SAX.startElementNs(go, NULL, NULL, 0, 1, 0, href='/vsw...', 21)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='SUBM...', 6, value='No"/...', 2)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='v"
+v...', 1, value='dark...', 4)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ts" ...', 2, value='0003...', 4)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='tp" ...', 2, value='wml/...', 29)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='ti" ...', 2, value='1"/>...', 1)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.characters(
+        , 9)
+SAX.startElementNs(postfield, NULL, NULL, 0, 2, 0, name='expe...', 8, value='var:...', 8)
+SAX.endElementNs(postfield, NULL, NULL)
+SAX.endElementNs(go, NULL, NULL)
+SAX.endElementNs(anchor, NULL, NULL)
+SAX.characters(., 1)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(card, NULL, NULL)
+SAX.characters(
+
+, 2)
+SAX.endElementNs(wml, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/winblanks.xml.sax2 b/result/noent/winblanks.xml.sax2
new file mode 100644
index 0000000..6e9d693
--- /dev/null
+++ b/result/noent/winblanks.xml.sax2
@@ -0,0 +1,18 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.startElementNs(a, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(B, NULL, NULL, 0, 0, 0)
+SAX.characters(
+        , 9)
+SAX.startElementNs(C, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(C, NULL, NULL)
+SAX.characters(   , 3)
+SAX.characters(
+, 1)
+SAX.endElementNs(B, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(a, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/wml.xml.sax2 b/result/noent/wml.xml.sax2
new file mode 100644
index 0000000..7772d04
--- /dev/null
+++ b/result/noent/wml.xml.sax2
@@ -0,0 +1,31 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml)
+SAX.externalSubset(wml, -//WAPFORUM//DTD WML 1.1//EN, http://www.wapforum.org/DTD/wml_1.1.xml)
+SAX.startElementNs(wml, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(card, NULL, NULL, 0, 2, 0, id='card...', 5, title='Rubr...', 15)
+SAX.characters(
+	, 2)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters(
+		, 3)
+SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='rubm...', 26)
+SAX.characters(Cin, 3)
+SAX.characters(é, 2)
+SAX.characters(ma, 2)
+SAX.endElementNs(a, NULL, NULL)
+SAX.startElementNs(br, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(br, NULL, NULL)
+SAX.characters(
+	, 2)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+
+, 2)
+SAX.endElementNs(card, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(wml, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/xhtml1.sax2 b/result/noent/xhtml1.sax2
new file mode 100644
index 0000000..e6952c8
--- /dev/null
+++ b/result/noent/xhtml1.sax2
@@ -0,0 +1,104 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)
+SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)
+SAX.comment( 3.1.1 3/ )
+SAX.startElementNs(html, NULL, NULL, 0, 2, 0, xml:lang='en" ...', 2, lang='en">...', 2)
+SAX.characters(
+  , 3)
+SAX.startElementNs(head, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(title, NULL, NULL, 0, 0, 0)
+SAX.characters(Virtual Library, 15)
+SAX.endElementNs(title, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(head, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( 4.8 )
+SAX.characters(
+  , 3)
+SAX.startElementNs(script, NULL, NULL, 0, 1, 0, type='text...', 15)
+SAX.characters(
+  ... unescaped script , 24)
+SAX.characters(<, 1)
+SAX.characters( content ...
+  , 15)
+SAX.endElementNs(script, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(body, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters(Moved to , 9)
+SAX.startElementNs(a, NULL, NULL, 0, 1, 0, href='http...', 19)
+SAX.characters(example.org, 11)
+SAX.endElementNs(a, NULL, NULL)
+SAX.characters(., 1)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(body, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( C2 )
+SAX.characters(
+  , 3)
+SAX.startElementNs(img, NULL, NULL, 0, 2, 0, src='foo....', 7, alt='foo"...', 3)
+SAX.endElementNs(img, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( C3 )
+SAX.characters(
+  , 3)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( C7 )
+SAX.characters(
+  , 3)
+SAX.startElementNs(p, NULL, NULL, 0, 1, 0, lang='fr">...', 2)
+SAX.characters(coucou, 6)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(p, NULL, NULL, 0, 1, 0, xml:lang='fr">...', 2)
+SAX.characters(salut, 5)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( C8 )
+SAX.characters(
+  , 3)
+SAX.startElementNs(p, NULL, NULL, 0, 1, 0, name='frag...', 6)
+SAX.characters(test, 4)
+SAX.endElementNs(p, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.comment( 4.5 )
+SAX.characters(
+  , 3)
+SAX.startElementNs(dl, NULL, NULL, 0, 1, 0, compact='">
+ ...', 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(dt, NULL, NULL, 0, 0, 0)
+SAX.characters(Internet Engineering Task Forc, 31)
+SAX.endElementNs(dt, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.startElementNs(dd, NULL, NULL, 0, 0, 0)
+SAX.characters(An organization which establis, 70)
+SAX.endElementNs(dd, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(dl, NULL, NULL)
+SAX.characters(
+
+, 2)
+SAX.endElementNs(html, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/xhtmlcomp.sax2 b/result/noent/xhtmlcomp.sax2
new file mode 100644
index 0000000..085b770
--- /dev/null
+++ b/result/noent/xhtmlcomp.sax2
@@ -0,0 +1,23 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)
+SAX.externalSubset(html, -//W3C//DTD XHTML 1.0 Strict//EN, http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd)
+SAX.startElementNs(html, NULL, NULL, 0, 0, 0)
+SAX.characters(
+  , 3)
+SAX.startElementNs(body, NULL, NULL, 0, 0, 0)
+SAX.characters(
+    , 5)
+SAX.startElementNs(h1, NULL, NULL, 0, 0, 0)
+SAX.startElementNs(abbr, NULL, NULL, 0, 0, 0)
+SAX.characters(a, 1)
+SAX.endElementNs(abbr, NULL, NULL)
+SAX.characters( b, 2)
+SAX.endElementNs(h1, NULL, NULL)
+SAX.characters(
+  , 3)
+SAX.endElementNs(body, NULL, NULL)
+SAX.characters(
+, 1)
+SAX.endElementNs(html, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/xml1.sax2 b/result/noent/xml1.sax2
new file mode 100644
index 0000000..2dce925
--- /dev/null
+++ b/result/noent/xml1.sax2
@@ -0,0 +1,22 @@
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(test, , )
+SAX.entityDecl(example, 1, (null), (null), <p>An ampersand (&#38;) may be escaped
+ numerically (&#38;#38;) or with a general entity
+  (&amp;amp;).</p>)
+SAX.getEntity(example)
+SAX.externalSubset(test, , )
+SAX.startElementNs(test, NULL, NULL, 0, 0, 0)
+SAX.getEntity(example)
+SAX.startElementNs(p, NULL, NULL, 0, 0, 0)
+SAX.characters(An ampersand (, 14)
+SAX.characters(&, 1)
+SAX.characters() may be escaped
+ numerically , 31)
+SAX.characters(&, 1)
+SAX.characters(#38;) or with a general entity, 34)
+SAX.characters(&, 1)
+SAX.characters(amp;)., 6)
+SAX.endElementNs(p, NULL, NULL)
+SAX.endElementNs(test, NULL, NULL)
+SAX.endDocument()
diff --git a/result/noent/xml2.sax2 b/result/noent/xml2.sax2
new file mode 100644
index 0000000..141accd
--- /dev/null
+++ b/result/noent/xml2.sax2
@@ -0,0 +1,18 @@
+xmlSAXUserParseFile returned error 27
+SAX.setDocumentLocator()
+SAX.startDocument()
+SAX.internalSubset(test, , )
+SAX.elementDecl(test, 3, ...)
+SAX.entityDecl(xx, 4, (null), (null), %zz;)
+SAX.getParameterEntity(xx)
+SAX.entityDecl(zz, 4, (null), (null), <!ENTITY tricky "error-prone" >)
+SAX.getParameterEntity(zz)
+SAX.getParameterEntity(xx)
+SAX.error: PEReference: %xx; not found
+SAX.characters(This sample shows a , 20)
+SAX.getEntity(tricky)
+SAX.error: Entity 'tricky' not defined
+SAX.reference(tricky)
+SAX.characters( method., 8)
+SAX.endDocument()
+xmlSAXUserParseFile returned error 27
diff --git a/result/relaxng/pattern3_err b/result/relaxng/pattern3_err
new file mode 100644
index 0000000..a7a1f46
--- /dev/null
+++ b/result/relaxng/pattern3_err
@@ -0,0 +1 @@
+./test/relaxng/pattern3.rng validates
diff --git a/result/relaxng/pattern3_valid b/result/relaxng/pattern3_valid
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/relaxng/pattern3_valid
diff --git a/result/scripts/set3.err b/result/scripts/set3.err
index 18f0d69..0dd7792 100644
--- a/result/scripts/set3.err
+++ b/result/scripts/set3.err
@@ -1,3 +1,3 @@
-./test/scripts/set3.xml:1: parser warning : xmlns: URI bar is not absolute
+./test/scripts/set3.xml:1: namespace warning : xmlns: URI bar is not absolute
 <a xmlns="bar">foo</a>
               ^
diff --git a/result/valid/766956.xml b/result/valid/766956.xml
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/result/valid/766956.xml
diff --git a/result/valid/766956.xml.err b/result/valid/766956.xml.err
new file mode 100644
index 0000000..b4ac1e5
--- /dev/null
+++ b/result/valid/766956.xml.err
@@ -0,0 +1,9 @@
+test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';'
+%ä%ent;
+   ^
+test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset
+%ä%ent;
+        ^
+Entity: line 1: 
+value
+^
diff --git a/result/valid/766956.xml.err.rdr b/result/valid/766956.xml.err.rdr
new file mode 100644
index 0000000..4286379
--- /dev/null
+++ b/result/valid/766956.xml.err.rdr
@@ -0,0 +1,10 @@
+test/valid/dtds/766956.dtd:2: parser error : PEReference: expecting ';'
+%ä%ent;
+   ^
+test/valid/dtds/766956.dtd:2: parser error : Content error in the external subset
+%ä%ent;
+        ^
+Entity: line 1: 
+value
+^
+./test/valid/766956.xml : failed to parse
diff --git a/result/valid/781333.xml b/result/valid/781333.xml
new file mode 100644
index 0000000..45dc451
--- /dev/null
+++ b/result/valid/781333.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<!DOCTYPE a [
+<!ELEMENT a (pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp:llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll)>
+]>
+<a/>
diff --git a/result/valid/781333.xml.err b/result/valid/781333.xml.err
new file mode 100644
index 0000000..b401b49
--- /dev/null
+++ b/result/valid/781333.xml.err
@@ -0,0 +1,3 @@
+./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got 
+<a/>
+    ^
diff --git a/result/valid/781333.xml.err.rdr b/result/valid/781333.xml.err.rdr
new file mode 100644
index 0000000..5ff5699
--- /dev/null
+++ b/result/valid/781333.xml.err.rdr
@@ -0,0 +1,6 @@
+./test/valid/781333.xml:4: element a: validity error : Element a content does not follow the DTD, expecting ( ..., got 
+<a/>
+    ^
+./test/valid/781333.xml:5: element a: validity error : Element a content does not follow the DTD, Expecting more child
+
+^
diff --git a/result/valid/t8.xml.err b/result/valid/t8.xml.err
index 1a3c006..5272694 100644
--- a/result/valid/t8.xml.err
+++ b/result/valid/t8.xml.err
@@ -1,19 +1,21 @@
-Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
- %defroot; 
-          ^
+%defroot; %defmiddle; %deftest;
+         ^
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-Entity: line 1: parser error : DOCTYPE improperly terminated
- %defroot; 
-          ^
+./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot; %defmiddle; %deftest;
+                     ^
 Entity: line 1: 
-&lt;!ELEMENT root (middle) >
+&lt;!ELEMENT middle (test) >
 ^
-Entity: line 1: parser error : Start tag expected, '<' not found
- %defroot; 
-          ^
+./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot; %defmiddle; %deftest;
+                               ^
 Entity: line 1: 
-&lt;!ELEMENT root (middle) >
+&lt;!ELEMENT test (#PCDATA) >
 ^
diff --git a/result/valid/t8.xml.err.rdr b/result/valid/t8.xml.err.rdr
index c198a16..8da08fb 100644
--- a/result/valid/t8.xml.err.rdr
+++ b/result/valid/t8.xml.err.rdr
@@ -1,14 +1,22 @@
-Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
- %defroot; 
-          ^
+%defroot; %defmiddle; %deftest;
+         ^
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-Entity: line 1: parser error : DOCTYPE improperly terminated
- %defroot; 
-          ^
+./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot; %defmiddle; %deftest;
+                     ^
 Entity: line 1: 
-&lt;!ELEMENT root (middle) >
+&lt;!ELEMENT middle (test) >
+^
+./test/valid/t8.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot; %defmiddle; %deftest;
+                               ^
+Entity: line 1: 
+&lt;!ELEMENT test (#PCDATA) >
 ^
 ./test/valid/t8.xml : failed to parse
diff --git a/result/valid/t8a.xml.err b/result/valid/t8a.xml.err
index 1a3c006..2846b19 100644
--- a/result/valid/t8a.xml.err
+++ b/result/valid/t8a.xml.err
@@ -1,19 +1,21 @@
-Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
- %defroot; 
-          ^
+%defroot;%defmiddle;%deftest;
+         ^
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-Entity: line 1: parser error : DOCTYPE improperly terminated
- %defroot; 
-          ^
+./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot;%defmiddle;%deftest;
+                    ^
 Entity: line 1: 
-&lt;!ELEMENT root (middle) >
+&lt;!ELEMENT middle (test) >
 ^
-Entity: line 1: parser error : Start tag expected, '<' not found
- %defroot; 
-          ^
+./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot;%defmiddle;%deftest;
+                             ^
 Entity: line 1: 
-&lt;!ELEMENT root (middle) >
+&lt;!ELEMENT test (#PCDATA) >
 ^
diff --git a/result/valid/t8a.xml.err.rdr b/result/valid/t8a.xml.err.rdr
index b6bdcbe..6abe75a 100644
--- a/result/valid/t8a.xml.err.rdr
+++ b/result/valid/t8a.xml.err.rdr
@@ -1,14 +1,22 @@
-Entity: line 1: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
 
- %defroot; 
-          ^
+%defroot;%defmiddle;%deftest;
+         ^
 Entity: line 1: 
 &lt;!ELEMENT root (middle) >
 ^
-Entity: line 1: parser error : DOCTYPE improperly terminated
- %defroot; 
-          ^
+./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot;%defmiddle;%deftest;
+                    ^
 Entity: line 1: 
-&lt;!ELEMENT root (middle) >
+&lt;!ELEMENT middle (test) >
+^
+./test/valid/t8a.xml:6: parser error : internal error: xmlParseInternalSubset: error detected in Markup declaration
+
+%defroot;%defmiddle;%deftest;
+                             ^
+Entity: line 1: 
+&lt;!ELEMENT test (#PCDATA) >
 ^
 ./test/valid/t8a.xml : failed to parse
diff --git a/runtest.c b/runtest.c
index 1861577..605c1d1 100644
--- a/runtest.c
+++ b/runtest.c
@@ -23,8 +23,10 @@
 #include <fcntl.h>
 
 #include <libxml/parser.h>
+#include <libxml/parserInternals.h>
 #include <libxml/tree.h>
 #include <libxml/uri.h>
+#include <libxml/encoding.h>
 
 #ifdef LIBXML_OUTPUT_ENABLED
 #ifdef LIBXML_READER_ENABLED
@@ -118,8 +120,8 @@
 } glob_t;
 
 #define GLOB_DOOFFS 0
-static int glob(const char *pattern, int flags,
-                int errfunc(const char *epath, int eerrno),
+static int glob(const char *pattern, ATTRIBUTE_UNUSED int flags,
+                ATTRIBUTE_UNUSED int errfunc(const char *epath, int eerrno),
                 glob_t *pglob) {
     glob_t *ret;
     WIN32_FIND_DATA FindFileData;
@@ -688,7 +690,7 @@
     }
     if (info.st_size != size) {
         fprintf(stderr, "file %s is %ld bytes, result is %d bytes\n",
-	        filename, info.st_size, size);
+	        filename, (long) info.st_size, size);
         return(-1);
     }
     fd = open(filename, RD_FLAGS);
@@ -1677,7 +1679,6 @@
 static xmlSAXHandlerPtr debugHTMLSAXHandler = &debugHTMLSAXHandlerStruct;
 #endif /* LIBXML_HTML_ENABLED */
 
-#ifdef LIBXML_SAX1_ENABLED
 /**
  * saxParseTest:
  * @filename: the file to parse
@@ -1718,7 +1719,15 @@
 	ret = 0;
     } else
 #endif
-    ret = xmlSAXUserParseFile(emptySAXHandler, NULL, filename);
+    {
+        xmlParserCtxtPtr ctxt = xmlCreateFileParserCtxt(filename);
+        memcpy(ctxt->sax, emptySAXHandler, sizeof(xmlSAXHandler));
+        xmlCtxtUseOptions(ctxt, options);
+        xmlParseDocument(ctxt);
+        ret = ctxt->wellFormed ? 0 : ctxt->errNo;
+        xmlFreeDoc(ctxt->myDoc);
+        xmlFreeParserCtxt(ctxt);
+    }
     if (ret == XML_WAR_UNDECLARED_ENTITY) {
         fprintf(SAXdebug, "xmlSAXUserParseFile returned error %d\n", ret);
         ret = 0;
@@ -1734,10 +1743,19 @@
 	ret = 0;
     } else
 #endif
-    if (options & XML_PARSE_SAX1) {
-	ret = xmlSAXUserParseFile(debugSAXHandler, NULL, filename);
-    } else {
-	ret = xmlSAXUserParseFile(debugSAX2Handler, NULL, filename);
+    {
+        xmlParserCtxtPtr ctxt = xmlCreateFileParserCtxt(filename);
+        if (options & XML_PARSE_SAX1) {
+            memcpy(ctxt->sax, debugSAXHandler, sizeof(xmlSAXHandler));
+            options -= XML_PARSE_SAX1;
+        } else {
+            memcpy(ctxt->sax, debugSAX2Handler, sizeof(xmlSAXHandler));
+        }
+        xmlCtxtUseOptions(ctxt, options);
+        xmlParseDocument(ctxt);
+        ret = ctxt->wellFormed ? 0 : ctxt->errNo;
+        xmlFreeDoc(ctxt->myDoc);
+        xmlFreeParserCtxt(ctxt);
     }
     if (ret == XML_WAR_UNDECLARED_ENTITY) {
         fprintf(SAXdebug, "xmlSAXUserParseFile returned error %d\n", ret);
@@ -1761,7 +1779,6 @@
 
     return(ret);
 }
-#endif
 
 /************************************************************************
  *									*
@@ -1854,6 +1871,7 @@
     const char *base;
     int size, res;
     int cur = 0;
+    int chunkSize = 4;
 
     nb_tests++;
     /*
@@ -1864,17 +1882,21 @@
 	return(-1);
     }
 
+    if (chunkSize > size)
+        chunkSize = size;
+
 #ifdef LIBXML_HTML_ENABLED
     if (options & XML_PARSE_HTML)
-	ctxt = htmlCreatePushParserCtxt(NULL, NULL, base + cur, 4, filename,
+	ctxt = htmlCreatePushParserCtxt(NULL, NULL, base + cur, chunkSize, filename,
 	                                XML_CHAR_ENCODING_NONE);
     else
 #endif
-    ctxt = xmlCreatePushParserCtxt(NULL, NULL, base + cur, 4, filename);
+    ctxt = xmlCreatePushParserCtxt(NULL, NULL, base + cur, chunkSize, filename);
     xmlCtxtUseOptions(ctxt, options);
-    cur += 4;
+    cur += chunkSize;
+    chunkSize = 1024;
     do {
-        if (cur + 1024 >= size) {
+        if (cur + chunkSize >= size) {
 #ifdef LIBXML_HTML_ENABLED
 	    if (options & XML_PARSE_HTML)
 		htmlParseChunk(ctxt, base + cur, size - cur, 1);
@@ -1885,11 +1907,11 @@
 	} else {
 #ifdef LIBXML_HTML_ENABLED
 	    if (options & XML_PARSE_HTML)
-		htmlParseChunk(ctxt, base + cur, 1024, 0);
+		htmlParseChunk(ctxt, base + cur, chunkSize, 0);
 	    else
 #endif
-	    xmlParseChunk(ctxt, base + cur, 1024, 0);
-	    cur += 1024;
+	    xmlParseChunk(ctxt, base + cur, chunkSize, 0);
+	    cur += chunkSize;
 	}
     } while (cur < size);
     doc = ctxt->myDoc;
@@ -2142,7 +2164,8 @@
 }
 static int
 streamProcessTest(const char *filename, const char *result, const char *err,
-                  xmlTextReaderPtr reader, const char *rng, int options) {
+                  xmlTextReaderPtr reader, const char *rng,
+                  int options ATTRIBUTE_UNUSED) {
     int ret;
     char *temp = NULL;
     FILE *t = NULL;
@@ -3917,7 +3940,7 @@
     return(c14nCommonTest(filename, 0, XML_C14N_1_1, "1-1-without-comments"));
 }
 #endif
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined (LIBXML_SAX1_ENABLED)
+#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
 /************************************************************************
  *									*
  *			Catalog and threads test			*
@@ -3929,19 +3952,23 @@
  */
 #define	MAX_ARGC	20
 
-static const char *catalog = "test/threads/complex.xml";
-static const char *testfiles[] = {
-    "test/threads/abc.xml",
-    "test/threads/acb.xml",
-    "test/threads/bac.xml",
-    "test/threads/bca.xml",
-    "test/threads/cab.xml",
-    "test/threads/cba.xml",
-    "test/threads/invalid.xml",
-};
+typedef struct {
+    const char *filename;
+    int okay;
+} xmlThreadParams;
 
-static const char *Okay = "OK";
-static const char *Failed = "Failed";
+static const char *catalog = "test/threads/complex.xml";
+static xmlThreadParams threadParams[] = {
+    { "test/threads/abc.xml", 0 },
+    { "test/threads/acb.xml", 0 },
+    { "test/threads/bac.xml", 0 },
+    { "test/threads/bca.xml", 0 },
+    { "test/threads/cab.xml", 0 },
+    { "test/threads/cba.xml", 0 },
+    { "test/threads/invalid.xml", 0 }
+};
+static const unsigned int num_threads = sizeof(threadParams) /
+                                        sizeof(threadParams[0]);
 
 #ifndef xmlDoValidityCheckingDefaultValue
 #error xmlDoValidityCheckingDefaultValue is not a macro
@@ -3954,7 +3981,8 @@
 thread_specific_data(void *private_data)
 {
     xmlDocPtr myDoc;
-    const char *filename = (const char *) private_data;
+    xmlThreadParams *params = (xmlThreadParams *) private_data;
+    const char *filename = params->filename;
     int okay = 1;
 
     if (!strcmp(filename, "test/threads/invalid.xml")) {
@@ -3964,7 +3992,11 @@
         xmlDoValidityCheckingDefaultValue = 1;
         xmlGenericErrorContext = stderr;
     }
+#ifdef LIBXML_SAX1_ENABLED
     myDoc = xmlParseFile(filename);
+#else
+    myDoc = xmlReadFile(filename, NULL, XML_WITH_CATALOG);
+#endif
     if (myDoc) {
         xmlFreeDoc(myDoc);
     } else {
@@ -3990,12 +4022,11 @@
             okay = 0;
         }
     }
-    if (okay == 0)
-        return ((void *) Failed);
-    return ((void *) Okay);
+    params->okay = okay;
+    return(NULL);
 }
 
-#if defined WIN32
+#if defined(_WIN32) && !defined(__CYGWIN__)
 #include <windows.h>
 #include <string.h>
 
@@ -4006,15 +4037,14 @@
 static DWORD WINAPI
 win32_thread_specific_data(void *private_data)
 {
-    return((DWORD) thread_specific_data(private_data));
+    thread_specific_data(private_data);
+    return(0);
 }
 
 static int
 testThread(void)
 {
     unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    DWORD results[MAX_ARGC];
     BOOL ret;
     int res = 0;
 
@@ -4024,7 +4054,6 @@
         nb_tests++;
 
         for (i = 0; i < num_threads; i++) {
-            results[i] = 0;
             tid[i] = (HANDLE) - 1;
         }
 
@@ -4033,7 +4062,7 @@
 
             tid[i] = CreateThread(NULL, 0,
                                   win32_thread_specific_data,
-				  (void *) testfiles[i], 0,
+				  (void *) &threadParams[i], 0,
                                   &useless);
             if (tid[i] == NULL) {
                 fprintf(stderr, "CreateThread failed\n");
@@ -4048,7 +4077,8 @@
 	}
 
         for (i = 0; i < num_threads; i++) {
-            ret = GetExitCodeThread(tid[i], &results[i]);
+            DWORD exitCode;
+            ret = GetExitCodeThread(tid[i], &exitCode);
             if (ret == 0) {
                 fprintf(stderr, "GetExitCodeThread failed\n");
                 return(1);
@@ -4058,9 +4088,9 @@
 
         xmlCatalogCleanup();
         for (i = 0; i < num_threads; i++) {
-            if (results[i] != (DWORD) Okay) {
+            if (threadParams[i].okay == 0) {
                 fprintf(stderr, "Thread %d handling %s failed\n",
-		        i, testfiles[i]);
+		        i, threadParams[i].filename);
 	        res = 1;
 	    }
         }
@@ -4078,8 +4108,6 @@
 testThread(void)
 {
     unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    void *results[MAX_ARGC];
     status_t ret;
     int res = 0;
 
@@ -4087,13 +4115,12 @@
     for (repeat = 0; repeat < 500; repeat++) {
         xmlLoadCatalog(catalog);
         for (i = 0; i < num_threads; i++) {
-            results[i] = NULL;
             tid[i] = (thread_id) - 1;
         }
         for (i = 0; i < num_threads; i++) {
             tid[i] =
                 spawn_thread(thread_specific_data, "xmlTestThread",
-                             B_NORMAL_PRIORITY, (void *) testfiles[i]);
+                             B_NORMAL_PRIORITY, (void *) &threadParams[i]);
             if (tid[i] < B_OK) {
                 fprintf(stderr, "beos_thread_create failed\n");
                 return (1);
@@ -4101,7 +4128,8 @@
             printf("beos_thread_create %d -> %d\n", i, tid[i]);
         }
         for (i = 0; i < num_threads; i++) {
-            ret = wait_for_thread(tid[i], &results[i]);
+            void *result;
+            ret = wait_for_thread(tid[i], &result);
             printf("beos_thread_wait %d -> %d\n", i, ret);
             if (ret != B_OK) {
                 fprintf(stderr, "beos_thread_wait failed\n");
@@ -4112,8 +4140,9 @@
         xmlCatalogCleanup();
         ret = B_OK;
         for (i = 0; i < num_threads; i++)
-            if (results[i] != (void *) Okay) {
-                printf("Thread %d handling %s failed\n", i, testfiles[i]);
+            if (threadParams[i].okay == 0) {
+                printf("Thread %d handling %s failed\n", i,
+                       threadParams[i].filename);
                 ret = B_ERROR;
             }
     }
@@ -4131,8 +4160,6 @@
 testThread(void)
 {
     unsigned int i, repeat;
-    unsigned int num_threads = sizeof(testfiles) / sizeof(testfiles[0]);
-    void *results[MAX_ARGC];
     int ret;
     int res = 0;
 
@@ -4143,20 +4170,20 @@
         nb_tests++;
 
         for (i = 0; i < num_threads; i++) {
-            results[i] = NULL;
             tid[i] = (pthread_t) - 1;
         }
 
         for (i = 0; i < num_threads; i++) {
             ret = pthread_create(&tid[i], 0, thread_specific_data,
-                                 (void *) testfiles[i]);
+                                 (void *) &threadParams[i]);
             if (ret != 0) {
                 fprintf(stderr, "pthread_create failed\n");
                 return (1);
             }
         }
         for (i = 0; i < num_threads; i++) {
-            ret = pthread_join(tid[i], &results[i]);
+            void *result;
+            ret = pthread_join(tid[i], &result);
             if (ret != 0) {
                 fprintf(stderr, "pthread_join failed\n");
                 return (1);
@@ -4165,9 +4192,9 @@
 
         xmlCatalogCleanup();
         for (i = 0; i < num_threads; i++)
-            if (results[i] != (void *) Okay) {
+            if (threadParams[i].okay == 0) {
                 fprintf(stderr, "Thread %d handling %s failed\n",
-                        i, testfiles[i]);
+                        i, threadParams[i].filename);
                 res = 1;
             }
     }
@@ -4214,6 +4241,9 @@
     { "Error cases regression tests",
       errParseTest, "./test/errors/*.xml", "result/errors/", "", ".err",
       0 },
+    { "Error cases regression tests (old 1.0)",
+      errParseTest, "./test/errors10/*.xml", "result/errors10/", "", ".err",
+      XML_PARSE_OLD10 },
 #ifdef LIBXML_READER_ENABLED
     { "Error cases stream regression tests",
       streamParseTest, "./test/errors/*.xml", "result/errors/", NULL, ".str",
@@ -4235,10 +4265,13 @@
     { "SAX1 callbacks regression tests" ,
       saxParseTest, "./test/*", "result/", ".sax", NULL,
       XML_PARSE_SAX1 },
+#endif
     { "SAX2 callbacks regression tests" ,
       saxParseTest, "./test/*", "result/", ".sax2", NULL,
       0 },
-#endif
+    { "SAX2 callbacks regression tests with entity substitution" ,
+      saxParseTest, "./test/*", "result/noent/", ".sax2", NULL,
+      XML_PARSE_NOENT },
 #ifdef LIBXML_PUSH_ENABLED
     { "XML push regression tests" ,
       pushParseTest, "./test/*", "result/", "", NULL,
@@ -4253,12 +4286,10 @@
       pushParseTest, "./test/HTML/*", "result/HTML/", "", ".err",
       XML_PARSE_HTML },
 #endif
-#ifdef LIBXML_SAX1_ENABLED
     { "HTML SAX regression tests" ,
       saxParseTest, "./test/HTML/*", "result/HTML/", ".sax", NULL,
       XML_PARSE_HTML },
 #endif
-#endif
 #ifdef LIBXML_VALID_ENABLED
     { "Valid documents regression tests" ,
       errParseTest, "./test/VCM/*", NULL, NULL, NULL,
@@ -4361,7 +4392,7 @@
       c14n11WithoutCommentTest, "./test/c14n/1-1-without-comments/*.xml", NULL, NULL, NULL,
       0 },
 #endif
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_SAX1_ENABLED)
+#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
     { "Catalog and Threads regression tests" ,
       threadsTest, NULL, NULL, NULL, NULL,
       0 },
@@ -4382,6 +4413,9 @@
     char *result;
     char *error;
     int mem;
+    xmlCharEncodingHandlerPtr ebcdicHandler;
+
+    ebcdicHandler = xmlGetCharEncodingHandler(XML_CHAR_ENCODING_EBCDIC);
 
     if (tst == NULL) return(-1);
     if (tst->in != NULL) {
@@ -4392,6 +4426,9 @@
 	for (i = 0;i < globbuf.gl_pathc;i++) {
 	    if (!checkTestFile(globbuf.gl_pathv[i]))
 	        continue;
+            if ((ebcdicHandler == NULL) &&
+                (strstr(globbuf.gl_pathv[i], "ebcdic") != NULL))
+                continue;
 	    if (tst->suffix != NULL) {
 		result = resultFilename(globbuf.gl_pathv[i], tst->out,
 					tst->suffix);
@@ -4457,6 +4494,9 @@
 	    err++;
 	}
     }
+
+    xmlCharEncCloseFunc(ebcdicHandler);
+
     return(err);
 }
 
@@ -4493,6 +4533,11 @@
     int i, a, ret = 0;
     int subset = 0;
 
+#if defined(_WIN32) && !defined(__CYGWIN__)
+    setvbuf(stdout, NULL, _IONBF, 0);
+    setvbuf(stderr, NULL, _IONBF, 0);
+#endif
+
     initializeLibxml2();
 
     for (a = 1; a < argc;a++) {
diff --git a/test/HTML/758518-entity.html b/test/HTML/758518-entity.html
new file mode 100644
index 0000000..d31c8ff
--- /dev/null
+++ b/test/HTML/758518-entity.html
@@ -0,0 +1 @@
+&jÙ
\ No newline at end of file
diff --git a/test/HTML/758518-tag.html b/test/HTML/758518-tag.html
new file mode 100644
index 0000000..935e752
--- /dev/null
+++ b/test/HTML/758518-tag.html
@@ -0,0 +1 @@
+<?a“
\ No newline at end of file
diff --git a/test/XPath/docs/ns b/test/XPath/docs/ns
index 88f4575..2338a6f 100644
--- a/test/XPath/docs/ns
+++ b/test/XPath/docs/ns
@@ -1,3 +1,5 @@
 <doc xmlns:ns1="nsuri1">
+  <preceding/>
   <elem xmlns:ns2="nsuri2"/>
+  <following/>
 </doc>
diff --git a/test/XPath/docs/str b/test/XPath/docs/str
index 547e54d..449de01 100644
--- a/test/XPath/docs/str
+++ b/test/XPath/docs/str
@@ -6,4 +6,6 @@
   <p><p>a span</p>n<p>ing one</p></p>
   <p><p>and an unbal</p><empty/>anced test</p>
   <p>for empty string <seq>123</seq></p>
+  <p id="1">a<b>b</b>c</p>
+  <p id="2"><!--X-->abc</p>
 </chapter>
diff --git a/test/XPath/expr/base b/test/XPath/expr/base
index f57e4d0..cc18735 100644
--- a/test/XPath/expr/base
+++ b/test/XPath/expr/base
@@ -4,4 +4,14 @@
 1+2*3+4
 (1+2)*(3+4)
 1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1+1*1
+0.000000000000000000000000000000000000000000000000001
+-0.000000000000000000000000000000000000000000000000001
+1e2147483648
+1e4294967296
+1e9223372036854775808
+1e18446744073709551616
+1e-2147483649
+1e-4294967296
+1e-9223372036854775809
+1e-18446744073709551616
 self::-name
diff --git a/test/XPath/expr/floats b/test/XPath/expr/floats
index 96c10d1..b447524 100644
--- a/test/XPath/expr/floats
+++ b/test/XPath/expr/floats
@@ -59,3 +59,5 @@
 -5 mod 2
 -5 mod -2
 8 mod 3 = 2
+12345678901234567890
+-12345678901234567890
diff --git a/test/XPath/expr/functions b/test/XPath/expr/functions
index d168b18..00b9461 100644
--- a/test/XPath/expr/functions
+++ b/test/XPath/expr/functions
@@ -9,12 +9,22 @@
 floor(0)
 floor(5.2)
 floor(-5.2)
+floor(100000000000000000000)
+floor(-100000000000000000000)
+floor(0 div 0)
+floor(1 div 0)
+floor(-1 div 0)
 ceiling(0.1)
 ceiling(-0.1)
 ceiling(-0)
 ceiling(0)
 ceiling(5.2)
 ceiling(-5.2)
+ceiling(100000000000000000000)
+ceiling(-100000000000000000000)
+ceiling(0 div 0)
+ceiling(1 div 0)
+ceiling(-1 div 0)
 round(0.1)
 round(5.2)
 round(5.5)
@@ -23,3 +33,10 @@
 round(-5.2)
 round(-5.5)
 round(-5.6)
+round(0.5)
+round(-0.5)
+round(100000000000000000000)
+round(-100000000000000000000)
+round(0 div 0)
+round(1 div 0)
+round(-1 div 0)
diff --git a/test/XPath/expr/strings b/test/XPath/expr/strings
index 849ca14..ba02c79 100644
--- a/test/XPath/expr/strings
+++ b/test/XPath/expr/strings
@@ -3,6 +3,8 @@
 string(-0.5)
 string(true())
 string(false())
+string(12345678901234567890)
+string(-12345678901234567890)
 concat("titi","toto")
 concat("titi","toto","tata")
 concat("titi",'toto')
diff --git a/test/XPath/tests/chaptersbase b/test/XPath/tests/chaptersbase
index 17638f7..f8fbe2a 100644
--- a/test/XPath/tests/chaptersbase
+++ b/test/XPath/tests/chaptersbase
@@ -8,3 +8,6 @@
 /descendant::title
 /descendant::p/ancestor::chapter
 //p[1]
+//p[0 div 0]
+//p[100000000000000000000]
+//p[-100000000000000000000]
diff --git a/test/XPath/tests/nssimple b/test/XPath/tests/nssimple
index d2a9528..8b343a3 100644
--- a/test/XPath/tests/nssimple
+++ b/test/XPath/tests/nssimple
@@ -1,3 +1,5 @@
 /doc/elem/namespace::node()/..
 /doc/elem/namespace::*/self::node()[true()]
 //*[namespace::ns1]
+/doc/elem/namespace::ns2/following::*
+/doc/elem/namespace::ns2/preceding::*
diff --git a/test/XPath/tests/simplebase b/test/XPath/tests/simplebase
index 8b2c7d1..7b302af 100644
--- a/test/XPath/tests/simplebase
+++ b/test/XPath/tests/simplebase
@@ -13,3 +13,4 @@
 /child::EXAMPLE/attribute::prop1/ancestor-or-self::*
 /descendant::title
 /descendant::p/ancestor::chapter
+/child::EXAMPLE/attribute::prop2/preceding::text()
diff --git a/test/XPath/tests/strbase b/test/XPath/tests/strbase
new file mode 100644
index 0000000..b818325
--- /dev/null
+++ b/test/XPath/tests/strbase
@@ -0,0 +1 @@
+//p[.='abc']
diff --git a/test/errors/754946.xml b/test/errors/754946.xml
index 6b5f9b0..edeab32 100644
--- a/test/errors/754946.xml
+++ b/test/errors/754946.xml
Binary files differ
diff --git a/test/errors/759579.xml b/test/errors/759579.xml
new file mode 100644
index 0000000..7fadd70
--- /dev/null
+++ b/test/errors/759579.xml
@@ -0,0 +1,11 @@
+<!DOCTYPE doc [
+    <!ENTITY % z '
+        &#37;z; &#37;z; &#37;z; &#37;z; &#37;z;
+        &#37;z; &#37;z; &#37;z; &#37;z; &#37;z;
+        &#37;z; &#37;z; &#37;z; &#37;z; &#37;z;
+        &#37;z; &#37;z; &#37;z; &#37;z; &#37;z;
+        &#37;z; &#37;z; &#37;z; &#37;z; &#37;z;
+    '>
+    %z;
+]>
+<doc/>
diff --git a/test/errors10/781205.xml b/test/errors10/781205.xml
new file mode 100644
index 0000000..d9e9e83
--- /dev/null
+++ b/test/errors10/781205.xml
@@ -0,0 +1,3 @@
+<!DOCTYPE D [
+  <!ENTITY % a "<:0000">
+  %a;
diff --git a/test/errors10/781361.xml b/test/errors10/781361.xml
new file mode 100644
index 0000000..67476bc
--- /dev/null
+++ b/test/errors10/781361.xml
@@ -0,0 +1,3 @@
+<!DOCTYPE doc [
+  <!ENTITY % elem "<!ELEMENT e0000000000">
+  %elem;
diff --git a/test/icu_parse_test.xml b/test/icu_parse_test.xml
new file mode 100644
index 0000000..031a967
--- /dev/null
+++ b/test/icu_parse_test.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="EUC-JP"?>
+<foo>
+Text with EUC-JP chars at position 214 (0xd6)
+___
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______________
+_______é®Äé___
+_</foo>
diff --git a/test/valid/766956.xml b/test/valid/766956.xml
new file mode 100644
index 0000000..19a95a0
--- /dev/null
+++ b/test/valid/766956.xml
@@ -0,0 +1,2 @@
+<!DOCTYPE test SYSTEM "dtds/766956.dtd">
+<test/>
diff --git a/test/valid/781333.xml b/test/valid/781333.xml
new file mode 100644
index 0000000..b29e5a6
--- /dev/null
+++ b/test/valid/781333.xml
@@ -0,0 +1,4 @@
+<!DOCTYPE a [
+    <!ELEMENT a (pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp:llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll)>
+]>
+<a/>
diff --git a/test/valid/dtds/766956.dtd b/test/valid/dtds/766956.dtd
new file mode 100644
index 0000000..dddde68
--- /dev/null
+++ b/test/valid/dtds/766956.dtd
@@ -0,0 +1,2 @@
+<!ENTITY % ent "value">
+%ä%ent;
diff --git a/testThreads.c b/testThreads.c
index bff5391..2ef70a7 100644
--- a/testThreads.c
+++ b/testThreads.c
@@ -3,7 +3,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED) && defined(LIBXML_SAX1_ENABLED)
+#if defined(LIBXML_THREAD_ENABLED) && defined(LIBXML_CATALOG_ENABLED)
 #include <libxml/globals.h>
 #include <libxml/threads.h>
 #include <libxml/parser.h>
@@ -61,7 +61,11 @@
         xmlDoValidityCheckingDefaultValue = 1;
         xmlGenericErrorContext = stderr;
     }
+#ifdef LIBXML_SAX1_ENABLED
     myDoc = xmlParseFile(filename);
+#else
+    myDoc = xmlReadFile(filename, NULL, XML_WITH_CATALOG);
+#endif
     if (myDoc) {
         xmlFreeDoc(myDoc);
     } else {
diff --git a/testapi.c b/testapi.c
index 60f4bdd..4a751e2 100644
--- a/testapi.c
+++ b/testapi.c
@@ -737,7 +737,8 @@
 
 #define gen_nb_xmlHashDeallocator 2
 static void
-test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED, xmlChar *name ATTRIBUTE_UNUSED) {
+test_xmlHashDeallocator(void *payload ATTRIBUTE_UNUSED,
+                        const xmlChar *name ATTRIBUTE_UNUSED) {
 }
 
 static xmlHashDeallocator gen_xmlHashDeallocator(int no, int nr ATTRIBUTE_UNUSED) {
@@ -1480,6 +1481,9 @@
         mem_base = xmlMemBlocks();
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = htmlCreateMemoryParserCtxt((const char *)buffer, size);
         desret_htmlParserCtxtPtr(ret_val);
@@ -1547,6 +1551,9 @@
         size = gen_int(n_size, 3);
         filename = gen_fileoutput(n_filename, 4);
         enc = gen_xmlCharEncoding(n_enc, 5);
+        if ((chunk != NULL) &&
+            (size > (int) strlen((const char *) chunk) + 1))
+            continue;
 
         ret_val = htmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename, enc);
         desret_htmlParserCtxtPtr(ret_val);
@@ -1721,6 +1728,9 @@
         URL = gen_filepath(n_URL, 3);
         encoding = gen_const_char_ptr(n_encoding, 4);
         options = gen_int(n_options, 5);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = htmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
         desret_htmlDocPtr(ret_val);
@@ -2278,6 +2288,9 @@
         chunk = gen_const_char_ptr(n_chunk, 1);
         size = gen_int(n_size, 2);
         terminate = gen_int(n_terminate, 3);
+        if ((chunk != NULL) &&
+            (size > (int) strlen((const char *) chunk) + 1))
+            continue;
 
         ret_val = htmlParseChunk(ctxt, (const char *)chunk, size, terminate);
         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
@@ -2321,16 +2334,16 @@
     char * encoding; /* a free form C string describing the HTML document encoding, or NULL */
     int n_encoding;
 
-    for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
+    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
         mem_base = xmlMemBlocks();
-        cur = gen_xmlChar_ptr(n_cur, 0);
+        cur = gen_const_xmlChar_ptr(n_cur, 0);
         encoding = gen_const_char_ptr(n_encoding, 1);
 
-        ret_val = htmlParseDoc(cur, (const char *)encoding);
+        ret_val = htmlParseDoc((const xmlChar *)cur, (const char *)encoding);
         desret_htmlDocPtr(ret_val);
         call_tests++;
-        des_xmlChar_ptr(n_cur, cur, 0);
+        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
         xmlResetLastError();
         if (mem_base != xmlMemBlocks()) {
@@ -2621,6 +2634,9 @@
         URL = gen_filepath(n_URL, 2);
         encoding = gen_const_char_ptr(n_encoding, 3);
         options = gen_int(n_options, 4);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = htmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
         desret_htmlDocPtr(ret_val);
@@ -2670,20 +2686,20 @@
     void * userData; /* if using SAX, this pointer will be provided on callbacks. */
     int n_userData;
 
-    for (n_cur = 0;n_cur < gen_nb_xmlChar_ptr;n_cur++) {
+    for (n_cur = 0;n_cur < gen_nb_const_xmlChar_ptr;n_cur++) {
     for (n_encoding = 0;n_encoding < gen_nb_const_char_ptr;n_encoding++) {
     for (n_sax = 0;n_sax < gen_nb_htmlSAXHandlerPtr;n_sax++) {
     for (n_userData = 0;n_userData < gen_nb_userdata;n_userData++) {
         mem_base = xmlMemBlocks();
-        cur = gen_xmlChar_ptr(n_cur, 0);
+        cur = gen_const_xmlChar_ptr(n_cur, 0);
         encoding = gen_const_char_ptr(n_encoding, 1);
         sax = gen_htmlSAXHandlerPtr(n_sax, 2);
         userData = gen_userdata(n_userData, 3);
 
-        ret_val = htmlSAXParseDoc(cur, (const char *)encoding, sax, userData);
+        ret_val = htmlSAXParseDoc((const xmlChar *)cur, (const char *)encoding, sax, userData);
         desret_htmlDocPtr(ret_val);
         call_tests++;
-        des_xmlChar_ptr(n_cur, cur, 0);
+        des_const_xmlChar_ptr(n_cur, (const xmlChar *)cur, 0);
         des_const_char_ptr(n_encoding, (const char *)encoding, 1);
         des_htmlSAXHandlerPtr(n_sax, sax, 2);
         des_userdata(n_userData, userData, 3);
@@ -3870,6 +3886,9 @@
         ctx = gen_void_ptr(n_ctx, 0);
         value = gen_const_xmlChar_ptr(n_value, 1);
         len = gen_int(n_len, 2);
+        if ((value != NULL) &&
+            (len > (int) strlen((const char *) value) + 1))
+            continue;
 
         xmlSAX2CDataBlock(ctx, (const xmlChar *)value, len);
         call_tests++;
@@ -3914,6 +3933,9 @@
         ctx = gen_void_ptr(n_ctx, 0);
         ch = gen_const_xmlChar_ptr(n_ch, 1);
         len = gen_int(n_len, 2);
+        if ((ch != NULL) &&
+            (len > (int) strlen((const char *) ch) + 1))
+            continue;
 
         xmlSAX2Characters(ctx, (const xmlChar *)ch, len);
         call_tests++;
@@ -4554,6 +4576,9 @@
         ctx = gen_void_ptr(n_ctx, 0);
         ch = gen_const_xmlChar_ptr(n_ch, 1);
         len = gen_int(n_len, 2);
+        if ((ch != NULL) &&
+            (len > (int) strlen((const char *) ch) + 1))
+            continue;
 
         xmlSAX2IgnorableWhitespace(ctx, (const xmlChar *)ch, len);
         call_tests++;
@@ -8221,6 +8246,9 @@
         dict = gen_xmlDictPtr(n_dict, 0);
         name = gen_const_xmlChar_ptr(n_name, 1);
         len = gen_int(n_len, 2);
+        if ((name != NULL) &&
+            (len > (int) strlen((const char *) name) + 1))
+            continue;
 
         ret_val = xmlDictExists(dict, (const xmlChar *)name, len);
         desret_const_xmlChar_ptr(ret_val);
@@ -8277,6 +8305,9 @@
         dict = gen_xmlDictPtr(n_dict, 0);
         name = gen_const_xmlChar_ptr(n_name, 1);
         len = gen_int(n_len, 2);
+        if ((name != NULL) &&
+            (len > (int) strlen((const char *) name) + 1))
+            continue;
 
         ret_val = xmlDictLookup(dict, (const xmlChar *)name, len);
         desret_const_xmlChar_ptr(ret_val);
@@ -9958,6 +9989,43 @@
 
 
 static int
+test_xmlHashDefaultDeallocator(void) {
+    int test_ret = 0;
+
+    int mem_base;
+    void * entry; /* the hash table entry */
+    int n_entry;
+    xmlChar * name; /* the entry's name */
+    int n_name;
+
+    for (n_entry = 0;n_entry < gen_nb_void_ptr;n_entry++) {
+    for (n_name = 0;n_name < gen_nb_const_xmlChar_ptr;n_name++) {
+        mem_base = xmlMemBlocks();
+        entry = gen_void_ptr(n_entry, 0);
+        name = gen_const_xmlChar_ptr(n_name, 1);
+
+        xmlHashDefaultDeallocator(entry, (const xmlChar *)name);
+        call_tests++;
+        des_void_ptr(n_entry, entry, 0);
+        des_const_xmlChar_ptr(n_name, (const xmlChar *)name, 1);
+        xmlResetLastError();
+        if (mem_base != xmlMemBlocks()) {
+            printf("Leak of %d blocks found in xmlHashDefaultDeallocator",
+	           xmlMemBlocks() - mem_base);
+	    test_ret++;
+            printf(" %d", n_entry);
+            printf(" %d", n_name);
+            printf("\n");
+        }
+    }
+    }
+    function_tests++;
+
+    return(test_ret);
+}
+
+
+static int
 test_xmlHashLookup(void) {
     int test_ret = 0;
 
@@ -10689,13 +10757,14 @@
 test_hash(void) {
     int test_ret = 0;
 
-    if (quiet == 0) printf("Testing hash : 16 of 24 functions ...\n");
+    if (quiet == 0) printf("Testing hash : 17 of 25 functions ...\n");
     test_ret += test_xmlHashAddEntry();
     test_ret += test_xmlHashAddEntry2();
     test_ret += test_xmlHashAddEntry3();
     test_ret += test_xmlHashCopy();
     test_ret += test_xmlHashCreate();
     test_ret += test_xmlHashCreateDict();
+    test_ret += test_xmlHashDefaultDeallocator();
     test_ret += test_xmlHashLookup();
     test_ret += test_xmlHashLookup2();
     test_ret += test_xmlHashLookup3();
@@ -12727,6 +12796,9 @@
         chunk = gen_const_char_ptr(n_chunk, 2);
         size = gen_int(n_size, 3);
         filename = gen_fileoutput(n_filename, 4);
+        if ((chunk != NULL) &&
+            (size > (int) strlen((const char *) chunk) + 1))
+            continue;
 
         ret_val = xmlCreatePushParserCtxt(sax, user_data, (const char *)chunk, size, filename);
         desret_xmlParserCtxtPtr(ret_val);
@@ -12905,6 +12977,9 @@
         URL = gen_filepath(n_URL, 3);
         encoding = gen_const_char_ptr(n_encoding, 4);
         options = gen_parseroptions(n_options, 5);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlCtxtReadMemory(ctxt, (const char *)buffer, size, URL, (const char *)encoding, options);
         desret_xmlDocPtr(ret_val);
@@ -12998,6 +13073,9 @@
         size = gen_int(n_size, 2);
         filename = gen_filepath(n_filename, 3);
         encoding = gen_const_char_ptr(n_encoding, 4);
+        if ((chunk != NULL) &&
+            (size > (int) strlen((const char *) chunk) + 1))
+            continue;
 
         ret_val = xmlCtxtResetPush(ctxt, (const char *)chunk, size, filename, (const char *)encoding);
         desret_int(ret_val);
@@ -13709,6 +13787,9 @@
         chunk = gen_const_char_ptr(n_chunk, 1);
         size = gen_int(n_size, 2);
         terminate = gen_int(n_terminate, 3);
+        if ((chunk != NULL) &&
+            (size > (int) strlen((const char *) chunk) + 1))
+            continue;
 
         ret_val = xmlParseChunk(ctxt, (const char *)chunk, size, terminate);
         if (ctxt != NULL) {xmlFreeDoc(ctxt->myDoc); ctxt->myDoc = NULL;}
@@ -14166,6 +14247,9 @@
         mem_base = xmlMemBlocks();
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlParseMemory((const char *)buffer, size);
         desret_xmlDocPtr(ret_val);
@@ -14578,6 +14662,9 @@
         URL = gen_filepath(n_URL, 2);
         encoding = gen_const_char_ptr(n_encoding, 3);
         options = gen_parseroptions(n_options, 4);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlReadMemory((const char *)buffer, size, URL, (const char *)encoding, options);
         desret_xmlDocPtr(ret_val);
@@ -14700,6 +14787,9 @@
         mem_base = xmlMemBlocks();
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlRecoverMemory((const char *)buffer, size);
         desret_xmlDocPtr(ret_val);
@@ -15001,6 +15091,9 @@
         buffer = gen_const_char_ptr(n_buffer, 1);
         size = gen_int(n_size, 2);
         recovery = gen_int(n_recovery, 3);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlSAXParseMemory(sax, (const char *)buffer, size, recovery);
         desret_xmlDocPtr(ret_val);
@@ -15062,6 +15155,9 @@
         size = gen_int(n_size, 2);
         recovery = gen_int(n_recovery, 3);
         data = gen_userdata(n_data, 4);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlSAXParseMemoryWithData(sax, (const char *)buffer, size, recovery, data);
         desret_xmlDocPtr(ret_val);
@@ -15177,6 +15273,9 @@
         user_data = gen_userdata(n_user_data, 1);
         buffer = gen_const_char_ptr(n_buffer, 2);
         size = gen_int(n_size, 3);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
         
 #ifdef LIBXML_SAX1_ENABLED
         if (sax == (xmlSAXHandlerPtr)&xmlDefaultSAXHandler) user_data = NULL;
@@ -15948,6 +16047,9 @@
         mem_base = xmlMemBlocks();
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlCreateMemoryParserCtxt((const char *)buffer, size);
         desret_xmlParserCtxtPtr(ret_val);
@@ -16603,6 +16705,9 @@
         end = gen_xmlChar(n_end, 4);
         end2 = gen_xmlChar(n_end2, 5);
         end3 = gen_xmlChar(n_end3, 6);
+        if ((str != NULL) &&
+            (len > (int) strlen((const char *) str) + 1))
+            continue;
 
         ret_val = xmlStringLenDecodeEntities(ctxt, (const xmlChar *)str, len, what, end, end2, end3);
         desret_xmlChar_ptr(ret_val);
@@ -17573,6 +17678,9 @@
         mem_base = xmlMemBlocks();
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlRelaxNGNewMemParserCtxt((const char *)buffer, size);
         desret_xmlRelaxNGParserCtxtPtr(ret_val);
@@ -17849,6 +17957,9 @@
         ctxt = gen_xmlRelaxNGValidCtxtPtr(n_ctxt, 0);
         data = gen_const_xmlChar_ptr(n_data, 1);
         len = gen_int(n_len, 2);
+        if ((data != NULL) &&
+            (len > (int) strlen((const char *) data) + 1))
+            continue;
 
         ret_val = xmlRelaxNGValidatePushCData(ctxt, (const xmlChar *)data, len);
         desret_int(ret_val);
@@ -18591,6 +18702,9 @@
         buf = gen_xmlBufferPtr(n_buf, 0);
         str = gen_const_xmlChar_ptr(n_str, 1);
         len = gen_int(n_len, 2);
+        if ((str != NULL) &&
+            (len > (int) strlen((const char *) str) + 1))
+            continue;
 
         ret_val = xmlBufferAdd(buf, (const xmlChar *)str, len);
         desret_int(ret_val);
@@ -18637,6 +18751,9 @@
         buf = gen_xmlBufferPtr(n_buf, 0);
         str = gen_const_xmlChar_ptr(n_str, 1);
         len = gen_int(n_len, 2);
+        if ((str != NULL) &&
+            (len > (int) strlen((const char *) str) + 1))
+            continue;
 
         ret_val = xmlBufferAddHead(buf, (const xmlChar *)str, len);
         desret_int(ret_val);
@@ -19209,6 +19326,9 @@
         prefix = gen_const_xmlChar_ptr(n_prefix, 1);
         memory = gen_xmlChar_ptr(n_memory, 2);
         len = gen_int(n_len, 3);
+        if ((prefix != NULL) &&
+            (len > (int) strlen((const char *) prefix) + 1))
+            continue;
 
         ret_val = xmlBuildQName((const xmlChar *)ncname, (const xmlChar *)prefix, memory, len);
         if ((ret_val != NULL) && (ret_val != ncname) &&
@@ -20980,6 +21100,9 @@
         doc = gen_xmlDocPtr(n_doc, 0);
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         ret_val = xmlNewCDataBlock(doc, (const xmlChar *)content, len);
         desret_xmlNodePtr(ret_val);
@@ -21553,6 +21676,9 @@
         doc = gen_xmlDocPtr(n_doc, 0);
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         ret_val = xmlNewDocTextLen(doc, (const xmlChar *)content, len);
         desret_xmlNodePtr(ret_val);
@@ -22096,6 +22222,9 @@
         mem_base = xmlMemBlocks();
         content = gen_const_xmlChar_ptr(n_content, 0);
         len = gen_int(n_len, 1);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         ret_val = xmlNewTextLen((const xmlChar *)content, len);
         desret_xmlNodePtr(ret_val);
@@ -22209,6 +22338,9 @@
         cur = gen_xmlNodePtr(n_cur, 0);
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         xmlNodeAddContentLen(cur, (const xmlChar *)content, len);
         call_tests++;
@@ -22759,6 +22891,9 @@
         cur = gen_xmlNodePtr(n_cur, 0);
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         xmlNodeSetContentLen(cur, (const xmlChar *)content, len);
         call_tests++;
@@ -23823,6 +23958,9 @@
         doc = gen_const_xmlDoc_ptr(n_doc, 0);
         value = gen_const_xmlChar_ptr(n_value, 1);
         len = gen_int(n_len, 2);
+        if ((value != NULL) &&
+            (len > (int) strlen((const char *) value) + 1))
+            continue;
 
         ret_val = xmlStringLenGetNodeList((const xmlDoc *)doc, (const xmlChar *)value, len);
         desret_xmlNodePtr(ret_val);
@@ -23869,6 +24007,9 @@
         node = gen_xmlNodePtr(n_node, 0);
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         ret_val = xmlTextConcat(node, (const xmlChar *)content, len);
         desret_int(ret_val);
@@ -27125,6 +27266,9 @@
         ctxt = gen_xmlValidCtxtPtr(n_ctxt, 0);
         data = gen_const_xmlChar_ptr(n_data, 1);
         len = gen_int(n_len, 2);
+        if ((data != NULL) &&
+            (len > (int) strlen((const char *) data) + 1))
+            continue;
 
         ret_val = xmlValidatePushCData(ctxt, (const xmlChar *)data, len);
         desret_int(ret_val);
@@ -28661,6 +28805,9 @@
         out = gen_xmlOutputBufferPtr(n_out, 0);
         len = gen_int(n_len, 1);
         buf = gen_const_char_ptr(n_buf, 2);
+        if ((buf != NULL) &&
+            (len > (int) strlen((const char *) buf) + 1))
+            continue;
 
         ret_val = xmlOutputBufferWrite(out, len, (const char *)buf);
         desret_int(ret_val);
@@ -28887,6 +29034,9 @@
         mem = gen_const_char_ptr(n_mem, 0);
         size = gen_int(n_size, 1);
         enc = gen_xmlCharEncoding(n_enc, 2);
+        if ((mem != NULL) &&
+            (size > (int) strlen((const char *) mem) + 1))
+            continue;
 
         ret_val = xmlParserInputBufferCreateMem((const char *)mem, size, enc);
         desret_xmlParserInputBufferPtr(ret_val);
@@ -28933,6 +29083,9 @@
         mem = gen_const_char_ptr(n_mem, 0);
         size = gen_int(n_size, 1);
         enc = gen_xmlCharEncoding(n_enc, 2);
+        if ((mem != NULL) &&
+            (size > (int) strlen((const char *) mem) + 1))
+            continue;
 
         ret_val = xmlParserInputBufferCreateStatic((const char *)mem, size, enc);
         desret_xmlParserInputBufferPtr(ret_val);
@@ -29018,6 +29171,9 @@
         in = gen_xmlParserInputBufferPtr(n_in, 0);
         len = gen_int(n_len, 1);
         buf = gen_const_char_ptr(n_buf, 2);
+        if ((buf != NULL) &&
+            (len > (int) strlen((const char *) buf) + 1))
+            continue;
 
         ret_val = xmlParserInputBufferPush(in, len, (const char *)buf);
         desret_int(ret_val);
@@ -30200,6 +30356,9 @@
         URL = gen_filepath(n_URL, 2);
         encoding = gen_const_char_ptr(n_encoding, 3);
         options = gen_parseroptions(n_options, 4);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlReaderForMemory((const char *)buffer, size, URL, (const char *)encoding, options);
         desret_xmlTextReaderPtr(ret_val);
@@ -30383,6 +30542,9 @@
         URL = gen_filepath(n_URL, 3);
         encoding = gen_const_char_ptr(n_encoding, 4);
         options = gen_parseroptions(n_options, 5);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlReaderNewMemory(reader, (const char *)buffer, size, URL, (const char *)encoding, options);
         desret_int(ret_val);
@@ -34420,6 +34582,9 @@
         mem_base = xmlMemBlocks();
         buffer = gen_const_char_ptr(n_buffer, 0);
         size = gen_int(n_size, 1);
+        if ((buffer != NULL) &&
+            (size > (int) strlen((const char *) buffer) + 1))
+            continue;
 
         ret_val = xmlSchemaNewMemParserCtxt((const char *)buffer, size);
         desret_xmlSchemaParserCtxtPtr(ret_val);
@@ -36304,6 +36469,9 @@
         mem_base = xmlMemBlocks();
         cur = gen_const_char_ptr(n_cur, 0);
         len = gen_int(n_len, 1);
+        if ((cur != NULL) &&
+            (len > (int) strlen((const char *) cur) + 1))
+            continue;
 
         ret_val = xmlCharStrndup((const char *)cur, len);
         desret_xmlChar_ptr(ret_val);
@@ -36743,6 +36911,9 @@
         str1 = gen_const_xmlChar_ptr(n_str1, 0);
         str2 = gen_const_xmlChar_ptr(n_str2, 1);
         len = gen_int(n_len, 2);
+        if ((str2 != NULL) &&
+            (len > (int) strlen((const char *) str2) + 1))
+            continue;
 
         ret_val = xmlStrncasecmp((const xmlChar *)str1, (const xmlChar *)str2, len);
         desret_int(ret_val);
@@ -36789,6 +36960,9 @@
         str1 = gen_const_xmlChar_ptr(n_str1, 0);
         str2 = gen_const_xmlChar_ptr(n_str2, 1);
         len = gen_int(n_len, 2);
+        if ((str2 != NULL) &&
+            (len > (int) strlen((const char *) str2) + 1))
+            continue;
 
         ret_val = xmlStrncatNew((const xmlChar *)str1, (const xmlChar *)str2, len);
         desret_xmlChar_ptr(ret_val);
@@ -36835,6 +37009,9 @@
         str1 = gen_const_xmlChar_ptr(n_str1, 0);
         str2 = gen_const_xmlChar_ptr(n_str2, 1);
         len = gen_int(n_len, 2);
+        if ((str2 != NULL) &&
+            (len > (int) strlen((const char *) str2) + 1))
+            continue;
 
         ret_val = xmlStrncmp((const xmlChar *)str1, (const xmlChar *)str2, len);
         desret_int(ret_val);
@@ -36877,6 +37054,9 @@
         mem_base = xmlMemBlocks();
         cur = gen_const_xmlChar_ptr(n_cur, 0);
         len = gen_int(n_len, 1);
+        if ((cur != NULL) &&
+            (len > (int) strlen((const char *) cur) + 1))
+            continue;
 
         ret_val = xmlStrndup((const xmlChar *)cur, len);
         desret_xmlChar_ptr(ret_val);
@@ -36959,6 +37139,12 @@
         str = gen_const_xmlChar_ptr(n_str, 0);
         start = gen_int(n_start, 1);
         len = gen_int(n_len, 2);
+        if ((str != NULL) &&
+            (start > (int) strlen((const char *) str) + 1))
+            continue;
+        if ((str != NULL) &&
+            (len > (int) strlen((const char *) str) + 1))
+            continue;
 
         ret_val = xmlStrsub((const xmlChar *)str, start, len);
         desret_xmlChar_ptr(ret_val);
@@ -37143,6 +37329,9 @@
         mem_base = xmlMemBlocks();
         utf = gen_const_xmlChar_ptr(n_utf, 0);
         len = gen_int(n_len, 1);
+        if ((utf != NULL) &&
+            (len > (int) strlen((const char *) utf) + 1))
+            continue;
 
         ret_val = xmlUTF8Strndup((const xmlChar *)utf, len);
         desret_xmlChar_ptr(ret_val);
@@ -37221,6 +37410,9 @@
         mem_base = xmlMemBlocks();
         utf = gen_const_xmlChar_ptr(n_utf, 0);
         len = gen_int(n_len, 1);
+        if ((utf != NULL) &&
+            (len > (int) strlen((const char *) utf) + 1))
+            continue;
 
         ret_val = xmlUTF8Strsize((const xmlChar *)utf, len);
         desret_int(ret_val);
@@ -37264,6 +37456,12 @@
         utf = gen_const_xmlChar_ptr(n_utf, 0);
         start = gen_int(n_start, 1);
         len = gen_int(n_len, 2);
+        if ((utf != NULL) &&
+            (start > (int) strlen((const char *) utf) + 1))
+            continue;
+        if ((utf != NULL) &&
+            (len > (int) strlen((const char *) utf) + 1))
+            continue;
 
         ret_val = xmlUTF8Strsub((const xmlChar *)utf, start, len);
         desret_xmlChar_ptr(ret_val);
@@ -44576,6 +44774,12 @@
         data = gen_const_char_ptr(n_data, 1);
         start = gen_int(n_start, 2);
         len = gen_int(n_len, 3);
+        if ((data != NULL) &&
+            (start > (int) strlen((const char *) data) + 1))
+            continue;
+        if ((data != NULL) &&
+            (len > (int) strlen((const char *) data) + 1))
+            continue;
 
         ret_val = xmlTextWriterWriteBase64(writer, (const char *)data, start, len);
         desret_int(ret_val);
@@ -44631,6 +44835,12 @@
         data = gen_const_char_ptr(n_data, 1);
         start = gen_int(n_start, 2);
         len = gen_int(n_len, 3);
+        if ((data != NULL) &&
+            (start > (int) strlen((const char *) data) + 1))
+            continue;
+        if ((data != NULL) &&
+            (len > (int) strlen((const char *) data) + 1))
+            continue;
 
         ret_val = xmlTextWriterWriteBinHex(writer, (const char *)data, start, len);
         desret_int(ret_val);
@@ -45561,6 +45771,9 @@
         writer = gen_xmlTextWriterPtr(n_writer, 0);
         content = gen_const_xmlChar_ptr(n_content, 1);
         len = gen_int(n_len, 2);
+        if ((content != NULL) &&
+            (len > (int) strlen((const char *) content) + 1))
+            continue;
 
         ret_val = xmlTextWriterWriteRawLen(writer, (const xmlChar *)content, len);
         desret_int(ret_val);
diff --git a/testlimits.c b/testlimits.c
index 577f593..68c94db 100644
--- a/testlimits.c
+++ b/testlimits.c
@@ -1284,13 +1284,14 @@
         if (fail)
             res = 0;
         else {
-            fprintf(stderr, "Failed to parse '%s' %lu\n", filename, limit);
+            fprintf(stderr, "Failed to parse '%s' %lu\n", filename,
+                    (unsigned long) limit);
             res = 1;
         }
     } else {
         if (fail) {
             fprintf(stderr, "Failed to get failure for '%s' %lu\n",
-                    filename, limit);
+                    filename, (unsigned long) limit);
             res = 1;
         } else
             res = 0;
@@ -1339,7 +1340,7 @@
                         filename, crazy_indx);
             else
                 fprintf(stderr, "Failed to parse '%s' %lu\n",
-                        filename, limit);
+                        filename, (unsigned long) limit);
             res = 1;
         }
     } else {
@@ -1349,7 +1350,7 @@
                         filename, crazy_indx);
             else
                 fprintf(stderr, "Failed to get failure for '%s' %lu\n",
-                        filename, limit);
+                        filename, (unsigned long) limit);
             res = 1;
         } else
             res = 0;
diff --git a/testrecurse.c b/testrecurse.c
index e5d5d1b..f95ae1c 100644
--- a/testrecurse.c
+++ b/testrecurse.c
@@ -69,8 +69,8 @@
 } glob_t;
 
 #define GLOB_DOOFFS 0
-static int glob(const char *pattern, int flags,
-                int errfunc(const char *epath, int eerrno),
+static int glob(const char *pattern, ATTRIBUTE_UNUSED int flags,
+                ATTRIBUTE_UNUSED int errfunc(const char *epath, int eerrno),
                 glob_t *pglob) {
     glob_t *ret;
     WIN32_FIND_DATA FindFileData;
diff --git a/threads.c b/threads.c
index b9d6cae..0433ac0 100644
--- a/threads.c
+++ b/threads.c
@@ -27,6 +27,7 @@
 #ifdef HAVE_PTHREAD_H
 #include <pthread.h>
 #elif defined HAVE_WIN32_THREADS
+#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #ifndef HAVE_COMPILER_TLS
 #include <process.h>
@@ -46,50 +47,37 @@
 
 #ifdef HAVE_PTHREAD_H
 
+#if defined(__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 303) && \
+    defined(__GLIBC__) && defined(__linux__)
+
 static int libxml_is_threaded = -1;
-#if defined(__GNUC__) && defined(__GLIBC__)
-#ifdef linux
-#if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || (__GNUC__ > 3)
-extern int pthread_once (pthread_once_t *__once_control,
-                         void (*__init_routine) (void))
-	   __attribute((weak));
-extern void *pthread_getspecific (pthread_key_t __key)
-	   __attribute((weak));
-extern int pthread_setspecific (pthread_key_t __key,
-                                __const void *__pointer)
-	   __attribute((weak));
-extern int pthread_key_create (pthread_key_t *__key,
-                               void (*__destr_function) (void *))
-	   __attribute((weak));
-extern int pthread_key_delete (pthread_key_t __key)
-	   __attribute((weak));
-extern int pthread_mutex_init ()
-	   __attribute((weak));
-extern int pthread_mutex_destroy ()
-	   __attribute((weak));
-extern int pthread_mutex_lock ()
-	   __attribute((weak));
-extern int pthread_mutex_unlock ()
-	   __attribute((weak));
-extern int pthread_cond_init ()
-	   __attribute((weak));
-extern int pthread_cond_destroy ()
-	   __attribute((weak));
-extern int pthread_cond_wait ()
-	   __attribute((weak));
-extern int pthread_equal ()
-	   __attribute((weak));
-extern pthread_t pthread_self ()
-	   __attribute((weak));
-extern int pthread_key_create ()
-	   __attribute((weak));
-extern int pthread_key_delete ()
-	   __attribute((weak));
-extern int pthread_cond_signal ()
-	   __attribute((weak));
-#endif
-#endif /* linux */
-#endif /* defined(__GNUC__) && defined(__GLIBC__) */
+
+#define XML_PTHREAD_WEAK
+
+#pragma weak pthread_once
+#pragma weak pthread_getspecific
+#pragma weak pthread_setspecific
+#pragma weak pthread_key_create
+#pragma weak pthread_key_delete
+#pragma weak pthread_mutex_init
+#pragma weak pthread_mutex_destroy
+#pragma weak pthread_mutex_lock
+#pragma weak pthread_mutex_unlock
+#pragma weak pthread_cond_init
+#pragma weak pthread_cond_destroy
+#pragma weak pthread_cond_wait
+#pragma weak pthread_equal
+#pragma weak pthread_self
+#pragma weak pthread_key_create
+#pragma weak pthread_key_delete
+#pragma weak pthread_cond_signal
+
+#else /* __GNUC__, __GLIBC__, __linux__ */
+
+static int libxml_is_threaded = 1;
+
+#endif /* __GNUC__, __GLIBC__, __linux__ */
+
 #endif /* HAVE_PTHREAD_H */
 
 /*
@@ -158,7 +146,7 @@
 static DWORD mainthread;
 static struct {
     DWORD done;
-    DWORD control;
+    LONG control;
 } run_once = { 0, 0};
 static volatile LPCRITICAL_SECTION global_init_lock = NULL;
 
@@ -441,8 +429,11 @@
     /* Make sure the global init lock is initialized and then lock it. */
 #ifdef HAVE_PTHREAD_H
     /* The mutex is statically initialized, so we just lock it. */
-    if (pthread_mutex_lock != NULL)
-        pthread_mutex_lock(&global_init_lock);
+#ifdef XML_PTHREAD_WEAK
+    if (pthread_mutex_lock == NULL)
+        return;
+#endif /* XML_PTHREAD_WEAK */
+    pthread_mutex_lock(&global_init_lock);
 #elif defined HAVE_WIN32_THREADS
     LPCRITICAL_SECTION cs;
 
@@ -458,7 +449,8 @@
 
         /* Swap it into the global_init_lock */
 #ifdef InterlockedCompareExchangePointer
-        InterlockedCompareExchangePointer(&global_init_lock, cs, NULL);
+        InterlockedCompareExchangePointer((void **) &global_init_lock,
+                                          cs, NULL);
 #else /* Use older void* version */
         InterlockedCompareExchange((void **) &global_init_lock,
                                    (void *) cs, NULL);
@@ -510,8 +502,11 @@
 __xmlGlobalInitMutexUnlock(void)
 {
 #ifdef HAVE_PTHREAD_H
-    if (pthread_mutex_unlock != NULL)
-        pthread_mutex_unlock(&global_init_lock);
+#ifdef XML_PTHREAD_WEAK
+    if (pthread_mutex_unlock == NULL)
+        return;
+#endif /* XML_PTHREAD_WEAK */
+    pthread_mutex_unlock(&global_init_lock);
 #elif defined HAVE_WIN32_THREADS
     if (global_init_lock != NULL) {
 	LeaveCriticalSection(global_init_lock);
@@ -863,6 +858,7 @@
 xmlInitThreads(void)
 {
 #ifdef HAVE_PTHREAD_H
+#ifdef XML_PTHREAD_WEAK
     if (libxml_is_threaded == -1) {
         if ((pthread_once != NULL) &&
             (pthread_getspecific != NULL) &&
@@ -888,6 +884,7 @@
             libxml_is_threaded = 0;
         }
     }
+#endif /* XML_PTHREAD_WEAK */
 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
     InitializeCriticalSection(&cleanup_helpers_cs);
 #endif
@@ -914,7 +911,7 @@
     xmlGenericError(xmlGenericErrorContext, "xmlCleanupThreads()\n");
 #endif
 #ifdef HAVE_PTHREAD_H
-    if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
+    if (libxml_is_threaded != 0)
         pthread_key_delete(globalkey);
     once_control = once_control_init;
 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
@@ -999,11 +996,23 @@
 #ifdef HAVE_PTHREAD_H
 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
 #if defined(LIBXML_STATIC_FOR_DLL)
-BOOL XMLCALL
-xmlDllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+int XMLCALL
+xmlDllMain(ATTRIBUTE_UNUSED void *hinstDLL, unsigned long fdwReason,
+           ATTRIBUTE_UNUSED void *lpvReserved)
 #else
+/* declare to avoid "no previous prototype for 'DllMain'" warning */
+/* Note that we do NOT want to include this function declaration in
+   a public header because it's meant to be called by Windows itself,
+   not a program that uses this library.  This also has to be exported. */
+
+XMLPUBFUN BOOL WINAPI
+DllMain (HINSTANCE hinstDLL,
+         DWORD     fdwReason,
+         LPVOID    lpvReserved);
+
 BOOL WINAPI
-DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+DllMain(ATTRIBUTE_UNUSED HINSTANCE hinstDLL, DWORD fdwReason,
+        ATTRIBUTE_UNUSED LPVOID lpvReserved)
 #endif
 {
     switch (fdwReason) {
diff --git a/timsort.h b/timsort.h
index 443918a..0c6346b 100644
--- a/timsort.h
+++ b/timsort.h
@@ -1,90 +1,44 @@
 /*
- * taken from https://github.com/swenson/sort
- * Kept as is for the moment to be able to apply upstream patches for that
- * code, currently used only to speed up XPath node sorting, see xpath.c
+ * Taken from https://github.com/swenson/sort
+ * Revision: 05fd77bfec049ce8b7c408c4d3dd2d51ee061a15
+ * Removed all code unrelated to Timsort and made minor adjustments for
+ * cross-platform compatibility.
  */
 
 /*
- * All code in this header, unless otherwise specified, is hereby licensed under the MIT Public License:
-
-Copyright (c) 2010 Christopher Swenson
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
+ * The MIT License (MIT)
+ *
+ * Copyright (c) 2010-2017 Christopher Swenson.
+ * Copyright (c) 2012 Vojtech Fried.
+ * Copyright (c) 2012 Google Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
 
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
 #ifdef HAVE_STDINT_H
 #include <stdint.h>
-#else
-#ifdef HAVE_INTTYPES_H
-#include <inttypes.h>
-#elif defined(WIN32)
-typedef __int64 int64_t;
+#elif defined(_WIN32)
 typedef unsigned __int64 uint64_t;
 #endif
-#endif
-
-#ifndef MK_UINT64
-#if defined(WIN32) && defined(_MSC_VER) && _MSC_VER < 1300
-#define MK_UINT64(x) ((uint64_t)(x))
-#else
-#define MK_UINT64(x) x##ULL
-#endif
-#endif
-
-#ifndef MAX
-#define MAX(x,y) (((x) > (y) ? (x) : (y)))
-#endif
-#ifndef MIN
-#define MIN(x,y) (((x) < (y) ? (x) : (y)))
-#endif
-
-int compute_minrun(uint64_t);
-
-#ifndef CLZ
-#if defined(__GNUC__) && ((__GNUC__ == 3 && __GNUC_MINOR__ >= 4) || (__GNUC__ > 3))
-#define CLZ __builtin_clzll
-#else
-
-int clzll(uint64_t);
-
-/* adapted from Hacker's Delight */
-int clzll(uint64_t x) /* {{{ */
-{
-  int n;
-
-  if (x == 0) return(64);
-  n = 0;
-  if (x <= MK_UINT64(0x00000000FFFFFFFF)) {n = n + 32; x = x << 32;}
-  if (x <= MK_UINT64(0x0000FFFFFFFFFFFF)) {n = n + 16; x = x << 16;}
-  if (x <= MK_UINT64(0x00FFFFFFFFFFFFFF)) {n = n + 8; x = x << 8;}
-  if (x <= MK_UINT64(0x0FFFFFFFFFFFFFFF)) {n = n + 4; x = x << 4;}
-  if (x <= MK_UINT64(0x3FFFFFFFFFFFFFFF)) {n = n + 2; x = x << 2;}
-  if (x <= MK_UINT64(0x7FFFFFFFFFFFFFFF)) {n = n + 1;}
-  return n;
-}
-/* }}} */
-
-#define CLZ clzll
-#endif
-#endif
-
-int compute_minrun(uint64_t size) /* {{{ */
-{
-  const int top_bit = 64 - CLZ(size);
-  const int shift = MAX(top_bit, 6) - 6;
-  const int minrun = size >> shift;
-  const uint64_t mask = (MK_UINT64(1) << shift) - 1;
-  if (mask & size) return minrun + 1;
-  return minrun;
-}
-/* }}} */
 
 #ifndef SORT_NAME
 #error "Must declare SORT_NAME"
@@ -98,215 +52,299 @@
 #define SORT_CMP(x, y)  ((x) < (y) ? -1 : ((x) == (y) ? 0 : 1))
 #endif
 
+#ifndef TIM_SORT_STACK_SIZE
+#define TIM_SORT_STACK_SIZE 128
+#endif
 
 #define SORT_SWAP(x,y) {SORT_TYPE __SORT_SWAP_t = (x); (x) = (y); (y) = __SORT_SWAP_t;}
 
+
+/* Common, type-agnosting functions and constants that we don't want to declare twice. */
+#ifndef SORT_COMMON_H
+#define SORT_COMMON_H
+
+#ifndef MAX
+#define MAX(x,y) (((x) > (y) ? (x) : (y)))
+#endif
+
+#ifndef MIN
+#define MIN(x,y) (((x) < (y) ? (x) : (y)))
+#endif
+
+static int compute_minrun(const uint64_t);
+
+#ifndef CLZ
+#ifdef __GNUC__
+#define CLZ __builtin_clzll
+#else
+
+static int clzll(uint64_t);
+
+/* adapted from Hacker's Delight */
+static int clzll(uint64_t x) {
+  int n;
+
+  if (x == 0) {
+    return 64;
+  }
+
+  n = 0;
+
+  if (x <= 0x00000000FFFFFFFFL) {
+    n = n + 32;
+    x = x << 32;
+  }
+
+  if (x <= 0x0000FFFFFFFFFFFFL) {
+    n = n + 16;
+    x = x << 16;
+  }
+
+  if (x <= 0x00FFFFFFFFFFFFFFL) {
+    n = n + 8;
+    x = x << 8;
+  }
+
+  if (x <= 0x0FFFFFFFFFFFFFFFL) {
+    n = n + 4;
+    x = x << 4;
+  }
+
+  if (x <= 0x3FFFFFFFFFFFFFFFL) {
+    n = n + 2;
+    x = x << 2;
+  }
+
+  if (x <= 0x7FFFFFFFFFFFFFFFL) {
+    n = n + 1;
+  }
+
+  return n;
+}
+
+#define CLZ clzll
+#endif
+#endif
+
+static __inline int compute_minrun(const uint64_t size) {
+  const int top_bit = 64 - CLZ(size);
+  const int shift = MAX(top_bit, 6) - 6;
+  const int minrun = size >> shift;
+  const uint64_t mask = (1ULL << shift) - 1;
+
+  if (mask & size) {
+    return minrun + 1;
+  }
+
+  return minrun;
+}
+
+#endif /* SORT_COMMON_H */
+
 #define SORT_CONCAT(x, y) x ## _ ## y
 #define SORT_MAKE_STR1(x, y) SORT_CONCAT(x,y)
 #define SORT_MAKE_STR(x) SORT_MAKE_STR1(SORT_NAME,x)
 
-#define BINARY_INSERTION_FIND  SORT_MAKE_STR(binary_insertion_find)
-#define BINARY_INSERTION_SORT_START SORT_MAKE_STR(binary_insertion_sort_start)
-#define BINARY_INSERTION_SORT  SORT_MAKE_STR(binary_insertion_sort)
-#define REVERSE_ELEMENTS       SORT_MAKE_STR(reverse_elements)
-#define COUNT_RUN              SORT_MAKE_STR(count_run)
-#define CHECK_INVARIANT        SORT_MAKE_STR(check_invariant)
-#define TIM_SORT               SORT_MAKE_STR(tim_sort)
-#define TIM_SORT_RESIZE        SORT_MAKE_STR(tim_sort_resize)
-#define TIM_SORT_MERGE         SORT_MAKE_STR(tim_sort_merge)
-#define TIM_SORT_COLLAPSE      SORT_MAKE_STR(tim_sort_collapse)
+#define BINARY_INSERTION_FIND          SORT_MAKE_STR(binary_insertion_find)
+#define BINARY_INSERTION_SORT_START    SORT_MAKE_STR(binary_insertion_sort_start)
+#define BINARY_INSERTION_SORT          SORT_MAKE_STR(binary_insertion_sort)
+#define REVERSE_ELEMENTS               SORT_MAKE_STR(reverse_elements)
+#define COUNT_RUN                      SORT_MAKE_STR(count_run)
+#define CHECK_INVARIANT                SORT_MAKE_STR(check_invariant)
+#define TIM_SORT                       SORT_MAKE_STR(tim_sort)
+#define TIM_SORT_RESIZE                SORT_MAKE_STR(tim_sort_resize)
+#define TIM_SORT_MERGE                 SORT_MAKE_STR(tim_sort_merge)
+#define TIM_SORT_COLLAPSE              SORT_MAKE_STR(tim_sort_collapse)
 
-#define TIM_SORT_RUN_T         SORT_MAKE_STR(tim_sort_run_t)
-#define TEMP_STORAGE_T         SORT_MAKE_STR(temp_storage_t)
+#ifndef MAX
+#define MAX(x,y) (((x) > (y) ? (x) : (y)))
+#endif
+#ifndef MIN
+#define MIN(x,y) (((x) < (y) ? (x) : (y)))
+#endif
 
 typedef struct {
-  int64_t start;
-  int64_t length;
+  size_t start;
+  size_t length;
 } TIM_SORT_RUN_T;
 
+
 void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size);
 void TIM_SORT(SORT_TYPE *dst, const size_t size);
 
+
 /* Function used to do a binary search for binary insertion sort */
-static int64_t BINARY_INSERTION_FIND(SORT_TYPE *dst, const SORT_TYPE x, const size_t size)
-{
-  int64_t l, c, r;
-  SORT_TYPE lx;
+static __inline size_t BINARY_INSERTION_FIND(SORT_TYPE *dst, const SORT_TYPE x,
+    const size_t size) {
+  size_t l, c, r;
   SORT_TYPE cx;
   l = 0;
   r = size - 1;
   c = r >> 1;
-  lx = dst[l];
 
-  /* check for beginning conditions */
-  if (SORT_CMP(x, lx) < 0)
+  /* check for out of bounds at the beginning. */
+  if (SORT_CMP(x, dst[0]) < 0) {
     return 0;
-  else if (SORT_CMP(x, lx) == 0)
-  {
-    int64_t i = 1;
-    while (SORT_CMP(x, dst[i]) == 0) i++;
-    return i;
+  } else if (SORT_CMP(x, dst[r]) > 0) {
+    return r;
   }
 
   cx = dst[c];
-  while (1)
-  {
+
+  while (1) {
     const int val = SORT_CMP(x, cx);
-    if (val < 0)
-    {
-      if (c - l <= 1) return c;
+
+    if (val < 0) {
+      if (c - l <= 1) {
+        return c;
+      }
+
       r = c;
-    }
-    else if (val > 0)
-    {
-      if (r - c <= 1) return c + 1;
+    } else { /* allow = for stability. The binary search favors the right. */
+      if (r - c <= 1) {
+        return c + 1;
+      }
+
       l = c;
-      lx = cx;
     }
-    else
-    {
-      do
-      {
-        cx = dst[++c];
-      } while (SORT_CMP(x, cx) == 0);
-      return c;
-    }
+
     c = l + ((r - l) >> 1);
     cx = dst[c];
   }
 }
 
 /* Binary insertion sort, but knowing that the first "start" entries are sorted.  Used in timsort. */
-static void BINARY_INSERTION_SORT_START(SORT_TYPE *dst, const size_t start, const size_t size)
-{
-  int64_t i;
-  for (i = start; i < (int64_t) size; i++)
-  {
-    int64_t j;
+static void BINARY_INSERTION_SORT_START(SORT_TYPE *dst, const size_t start, const size_t size) {
+  size_t i;
+
+  for (i = start; i < size; i++) {
+    size_t j;
     SORT_TYPE x;
-    int64_t location;
+    size_t location;
+
     /* If this entry is already correct, just move along */
-    if (SORT_CMP(dst[i - 1], dst[i]) <= 0) continue;
+    if (SORT_CMP(dst[i - 1], dst[i]) <= 0) {
+      continue;
+    }
 
     /* Else we need to find the right place, shift everything over, and squeeze in */
     x = dst[i];
     location = BINARY_INSERTION_FIND(dst, x, i);
-    for (j = i - 1; j >= location; j--)
-    {
+
+    for (j = i - 1; j >= location; j--) {
       dst[j + 1] = dst[j];
+
+      if (j == 0) { /* check edge case because j is unsigned */
+        break;
+      }
     }
+
     dst[location] = x;
   }
 }
 
 /* Binary insertion sort */
-void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size)
-{
+void BINARY_INSERTION_SORT(SORT_TYPE *dst, const size_t size) {
+  /* don't bother sorting an array of size <= 1 */
+  if (size <= 1) {
+    return;
+  }
+
   BINARY_INSERTION_SORT_START(dst, 1, size);
 }
 
 /* timsort implementation, based on timsort.txt */
 
-static void REVERSE_ELEMENTS(SORT_TYPE *dst, int64_t start, int64_t end)
-{
-  while (1)
-  {
-    if (start >= end) return;
+static __inline void REVERSE_ELEMENTS(SORT_TYPE *dst, size_t start, size_t end) {
+  while (1) {
+    if (start >= end) {
+      return;
+    }
+
     SORT_SWAP(dst[start], dst[end]);
     start++;
     end--;
   }
 }
 
-static int64_t COUNT_RUN(SORT_TYPE *dst, const int64_t start, const size_t size)
-{
-  int64_t curr;
-  if (size - start == 1) return 1;
-  if (start >= (int64_t) size - 2)
-  {
-    if (SORT_CMP(dst[size - 2], dst[size - 1]) > 0)
+static size_t COUNT_RUN(SORT_TYPE *dst, const size_t start, const size_t size) {
+  size_t curr;
+
+  if (size - start == 1) {
+    return 1;
+  }
+
+  if (start >= size - 2) {
+    if (SORT_CMP(dst[size - 2], dst[size - 1]) > 0) {
       SORT_SWAP(dst[size - 2], dst[size - 1]);
+    }
+
     return 2;
   }
 
   curr = start + 2;
 
-  if (SORT_CMP(dst[start], dst[start + 1]) <= 0)
-  {
+  if (SORT_CMP(dst[start], dst[start + 1]) <= 0) {
     /* increasing run */
-    while (1)
-    {
-      if (curr == (int64_t) size - 1) break;
-      if (SORT_CMP(dst[curr - 1], dst[curr]) > 0) break;
+    while (1) {
+      if (curr == size - 1) {
+        break;
+      }
+
+      if (SORT_CMP(dst[curr - 1], dst[curr]) > 0) {
+        break;
+      }
+
       curr++;
     }
+
     return curr - start;
-  }
-  else
-  {
+  } else {
     /* decreasing run */
-    while (1)
-    {
-      if (curr == (int64_t) size - 1) break;
-      if (SORT_CMP(dst[curr - 1], dst[curr]) <= 0) break;
+    while (1) {
+      if (curr == size - 1) {
+        break;
+      }
+
+      if (SORT_CMP(dst[curr - 1], dst[curr]) <= 0) {
+        break;
+      }
+
       curr++;
     }
+
     /* reverse in-place */
     REVERSE_ELEMENTS(dst, start, curr - 1);
     return curr - start;
   }
 }
 
-#define PUSH_NEXT() do {\
-len = COUNT_RUN(dst, curr, size);\
-run = minrun;\
-if (run < minrun) run = minrun;\
-if (run > (int64_t) size - curr) run = size - curr;\
-if (run > len)\
-{\
-  BINARY_INSERTION_SORT_START(&dst[curr], len, run);\
-  len = run;\
-}\
-{\
-run_stack[stack_curr].start = curr;\
-run_stack[stack_curr].length = len;\
-stack_curr++;\
-}\
-curr += len;\
-if (curr == (int64_t) size)\
-{\
-  /* finish up */ \
-  while (stack_curr > 1) \
-  { \
-    TIM_SORT_MERGE(dst, run_stack, stack_curr, store); \
-    run_stack[stack_curr - 2].length += run_stack[stack_curr - 1].length; \
-    stack_curr--; \
-  } \
-  if (store->storage != NULL)\
-  {\
-    free(store->storage);\
-    store->storage = NULL;\
-  }\
-  return;\
-}\
-}\
-while (0)
+static int CHECK_INVARIANT(TIM_SORT_RUN_T *stack, const int stack_curr) {
+  size_t A, B, C;
 
-static int CHECK_INVARIANT(TIM_SORT_RUN_T *stack, const int stack_curr)
-{
-  int64_t A, B, C;
-  if (stack_curr < 2) return 1;
-  if (stack_curr == 2)
-  {
-    const int64_t A1 = stack[stack_curr - 2].length;
-    const int64_t B1 = stack[stack_curr - 1].length;
-    if (A1 <= B1) return 0;
+  if (stack_curr < 2) {
     return 1;
   }
+
+  if (stack_curr == 2) {
+    const size_t A1 = stack[stack_curr - 2].length;
+    const size_t B1 = stack[stack_curr - 1].length;
+
+    if (A1 <= B1) {
+      return 0;
+    }
+
+    return 1;
+  }
+
   A = stack[stack_curr - 3].length;
   B = stack[stack_curr - 2].length;
   C = stack[stack_curr - 1].length;
-  if ((A <= B + C) || (B <= C)) return 0;
+
+  if ((A <= B + C) || (B <= C)) {
+    return 0;
+  }
+
   return 1;
 }
 
@@ -315,86 +353,78 @@
   SORT_TYPE *storage;
 } TEMP_STORAGE_T;
 
-
-static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size)
-{
-  if (store->alloc < new_size)
-  {
+static void TIM_SORT_RESIZE(TEMP_STORAGE_T *store, const size_t new_size) {
+  if (store->alloc < new_size) {
     SORT_TYPE *tempstore = (SORT_TYPE *)realloc(store->storage, new_size * sizeof(SORT_TYPE));
-    if (tempstore == NULL)
-    {
-      fprintf(stderr, "Error allocating temporary storage for tim sort: need %zu bytes", sizeof(SORT_TYPE) * new_size);
+
+    if (tempstore == NULL) {
+      fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes",
+              (unsigned long)(sizeof(SORT_TYPE) * new_size));
       exit(1);
     }
+
     store->storage = tempstore;
     store->alloc = new_size;
   }
 }
 
-static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const int stack_curr, TEMP_STORAGE_T *store)
-{
-  const int64_t A = stack[stack_curr - 2].length;
-  const int64_t B = stack[stack_curr - 1].length;
-  const int64_t curr = stack[stack_curr - 2].start;
+static void TIM_SORT_MERGE(SORT_TYPE *dst, const TIM_SORT_RUN_T *stack, const int stack_curr,
+                           TEMP_STORAGE_T *store) {
+  const size_t A = stack[stack_curr - 2].length;
+  const size_t B = stack[stack_curr - 1].length;
+  const size_t curr = stack[stack_curr - 2].start;
   SORT_TYPE *storage;
-  int64_t i, j, k;
-
+  size_t i, j, k;
   TIM_SORT_RESIZE(store, MIN(A, B));
   storage = store->storage;
 
   /* left merge */
-  if (A < B)
-  {
+  if (A < B) {
     memcpy(storage, &dst[curr], A * sizeof(SORT_TYPE));
     i = 0;
     j = curr + A;
 
-    for (k = curr; k < curr + A + B; k++)
-    {
-      if ((i < A) && (j < curr + A + B))
-      {
-        if (SORT_CMP(storage[i], dst[j]) <= 0)
+    for (k = curr; k < curr + A + B; k++) {
+      if ((i < A) && (j < curr + A + B)) {
+        if (SORT_CMP(storage[i], dst[j]) <= 0) {
           dst[k] = storage[i++];
-        else
+        } else {
           dst[k] = dst[j++];
-      }
-      else if (i < A)
-      {
+        }
+      } else if (i < A) {
         dst[k] = storage[i++];
+      } else {
+        break;
       }
-      else
-        dst[k] = dst[j++];
     }
-  }
-  /* right merge */
-  else
-  {
+  } else {
+    /* right merge */
     memcpy(storage, &dst[curr + A], B * sizeof(SORT_TYPE));
-    i = B - 1;
-    j = curr + A - 1;
+    i = B;
+    j = curr + A;
+    k = curr + A + B;
 
-    for (k = curr + A + B - 1; k >= curr; k--)
-    {
-      if ((i >= 0) && (j >= curr))
-      {
-          if (SORT_CMP(dst[j], storage[i]) > 0)
-            dst[k] = dst[j--];
-          else
-            dst[k] = storage[i--];
+    while (k-- > curr) {
+      if ((i > 0) && (j > curr)) {
+        if (SORT_CMP(dst[j - 1], storage[i - 1]) > 0) {
+          dst[k] = dst[--j];
+        } else {
+          dst[k] = storage[--i];
+        }
+      } else if (i > 0) {
+        dst[k] = storage[--i];
+      } else {
+        break;
       }
-      else if (i >= 0)
-        dst[k] = storage[i--];
-      else
-        dst[k] = dst[j--];
     }
   }
 }
 
-static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr, TEMP_STORAGE_T *store, const size_t size)
-{
+static int TIM_SORT_COLLAPSE(SORT_TYPE *dst, TIM_SORT_RUN_T *stack, int stack_curr,
+                             TEMP_STORAGE_T *store, const size_t size) {
   while (1) {
-    int64_t A, B, C, D;
-    int ABC, BCD, BD, CD;
+    size_t A, B, C, D;
+    int ABC, BCD, CD;
 
     /* if the stack only has one thing on it, we are done with the collapse */
     if (stack_curr <= 1) {
@@ -431,7 +461,6 @@
 
     BCD = (B <= C + D) || ABC;
     CD = (C <= D);
-    BD = (B < D);
 
     /* Both invariants are good */
     if (!BCD && !CD) {
@@ -455,41 +484,94 @@
   return stack_curr;
 }
 
-void TIM_SORT(SORT_TYPE *dst, const size_t size)
-{
-  int minrun;
-  TEMP_STORAGE_T _store, *store;
-  TIM_SORT_RUN_T run_stack[128];
-  int stack_curr = 0;
-  int64_t len, run;
-  int64_t curr = 0;
+static __inline int PUSH_NEXT(SORT_TYPE *dst,
+                              const size_t size,
+                              TEMP_STORAGE_T *store,
+                              const size_t minrun,
+                              TIM_SORT_RUN_T *run_stack,
+                              size_t *stack_curr,
+                              size_t *curr) {
+  size_t len = COUNT_RUN(dst, *curr, size);
+  size_t run = minrun;
 
-  if (size < 64)
-  {
+  if (run > size - *curr) {
+    run = size - *curr;
+  }
+
+  if (run > len) {
+    BINARY_INSERTION_SORT_START(&dst[*curr], len, run);
+    len = run;
+  }
+
+  run_stack[*stack_curr].start = *curr;
+  run_stack[*stack_curr].length = len;
+  (*stack_curr)++;
+  *curr += len;
+
+  if (*curr == size) {
+    /* finish up */
+    while (*stack_curr > 1) {
+      TIM_SORT_MERGE(dst, run_stack, *stack_curr, store);
+      run_stack[*stack_curr - 2].length += run_stack[*stack_curr - 1].length;
+      (*stack_curr)--;
+    }
+
+    if (store->storage != NULL) {
+      free(store->storage);
+      store->storage = NULL;
+    }
+
+    return 0;
+  }
+
+  return 1;
+}
+
+void TIM_SORT(SORT_TYPE *dst, const size_t size) {
+  size_t minrun;
+  TEMP_STORAGE_T _store, *store;
+  TIM_SORT_RUN_T run_stack[TIM_SORT_STACK_SIZE];
+  size_t stack_curr = 0;
+  size_t curr = 0;
+
+  /* don't bother sorting an array of size 1 */
+  if (size <= 1) {
+    return;
+  }
+
+  if (size < 64) {
     BINARY_INSERTION_SORT(dst, size);
     return;
   }
 
   /* compute the minimum run length */
   minrun = compute_minrun(size);
-
   /* temporary storage for merges */
   store = &_store;
   store->alloc = 0;
   store->storage = NULL;
 
-  PUSH_NEXT();
-  PUSH_NEXT();
-  PUSH_NEXT();
+  if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) {
+    return;
+  }
 
-  while (1)
-  {
-    if (!CHECK_INVARIANT(run_stack, stack_curr))
-    {
+  if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) {
+    return;
+  }
+
+  if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) {
+    return;
+  }
+
+  while (1) {
+    if (!CHECK_INVARIANT(run_stack, stack_curr)) {
       stack_curr = TIM_SORT_COLLAPSE(dst, run_stack, stack_curr, store, size);
       continue;
     }
-    PUSH_NEXT();
+
+    if (!PUSH_NEXT(dst, size, store, minrun, run_stack, &stack_curr, &curr)) {
+      return;
+    }
   }
 }
 
diff --git a/tree.c b/tree.c
index 9d330b8..959421b 100644
--- a/tree.c
+++ b/tree.c
@@ -10,10 +10,16 @@
  *
  */
 
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
 #include <string.h> /* for memset() only ! */
+#include <stddef.h>
 #include <limits.h>
 #ifdef HAVE_CTYPE_H
 #include <ctype.h>
@@ -21,7 +27,7 @@
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
 
@@ -254,10 +260,10 @@
  *
  * [NS 7] LocalPart ::= NCName
  *
- * Returns NULL if not a QName, otherwise the local part, and prefix
- *   is updated to get the Prefix if any.
+ * Returns NULL if the name doesn't have a prefix. Otherwise, returns the
+ * local part, and prefix is updated to get the Prefix. Both the return value
+ * and the prefix must be freed by the caller.
  */
-
 xmlChar *
 xmlSplitQName2(const xmlChar *name, xmlChar **prefix) {
     int len = 0;
@@ -1401,6 +1407,8 @@
 			else if ((ent != NULL) && (ent->children == NULL)) {
 			    xmlNodePtr temp;
 
+                            /* Set to non-NULL value to avoid recursion. */
+			    ent->children = (xmlNodePtr) -1;
 			    ent->children = xmlStringGetNodeList(doc,
 				    (const xmlChar*)node->content);
 			    ent->owner = 1;
@@ -1593,6 +1601,7 @@
 			else if ((ent != NULL) && (ent->children == NULL)) {
 			    xmlNodePtr temp;
 
+                            /* Set to non-NULL value to avoid recursion. */
 			    ent->children = (xmlNodePtr) -1;
 			    ent->children = xmlStringGetNodeList(doc,
 				    (const xmlChar*)node->content);
@@ -1600,6 +1609,7 @@
 			    temp = ent->children;
 			    while (temp) {
 				temp->parent = (xmlNodePtr)ent;
+				ent->last = temp;
 				temp = temp->next;
 			    }
 			}
@@ -4596,7 +4606,7 @@
 	(node->type == XML_PI_NODE)) {
 	if (node->line == 65535) {
 	    if ((node->type == XML_TEXT_NODE) && (node->psvi != NULL))
-	        result = (long) node->psvi;
+	        result = (long) (ptrdiff_t) node->psvi;
 	    else if ((node->type == XML_ELEMENT_NODE) &&
 	             (node->children != NULL))
 	        result = xmlGetLineNoInternal(node->children, depth + 1);
@@ -4755,8 +4765,8 @@
             if (occur == 0) {
                 tmp = cur->next;
                 while (tmp != NULL && occur == 0) {
-		  if (tmp->type == XML_COMMENT_NODE)
-		    occur++;
+		    if (tmp->type == XML_COMMENT_NODE)
+		        occur++;
                     tmp = tmp->next;
                 }
                 if (occur != 0)
@@ -8249,7 +8259,7 @@
 			ns = ns->next;
 		    } while (ns != NULL);
 		}
-		/* No break on purpose. */
+                /* Falls through. */
 	    case XML_ATTRIBUTE_NODE:
 		if (node->ns != NULL) {
 		    /*
@@ -8840,7 +8850,7 @@
 		}
 		if (! adoptns)
 		    goto ns_end;
-		/* No break on purpose. */
+                /* Falls through. */
 	    case XML_ATTRIBUTE_NODE:
 		/* No ns, no fun. */
 		if (cur->ns == NULL)
@@ -9121,7 +9131,7 @@
 			    goto internal_error;
 		    }
 		}
-		/* No break on purpose. */
+                /* Falls through. */
 	    case XML_ATTRIBUTE_NODE:
 		/* No namespace, no fun. */
 		if (cur->ns == NULL)
diff --git a/uri.c b/uri.c
index b32ef10..860b203 100644
--- a/uri.c
+++ b/uri.c
@@ -1962,8 +1962,9 @@
 	    res->scheme = xmlMemStrdup(bas->scheme);
 	if (bas->authority != NULL)
 	    res->authority = xmlMemStrdup(bas->authority);
-	else if (bas->server != NULL) {
-	    res->server = xmlMemStrdup(bas->server);
+	else if ((bas->server != NULL) || (bas->port == -1)) {
+	    if (bas->server != NULL)
+		res->server = xmlMemStrdup(bas->server);
 	    if (bas->user != NULL)
 		res->user = xmlMemStrdup(bas->user);
 	    res->port = bas->port;
@@ -2025,8 +2026,9 @@
     }
     if (bas->authority != NULL)
 	res->authority = xmlMemStrdup(bas->authority);
-    else if (bas->server != NULL) {
-	res->server = xmlMemStrdup(bas->server);
+    else if ((bas->server != NULL) || (bas->port == -1)) {
+	if (bas->server != NULL)
+	    res->server = xmlMemStrdup(bas->server);
 	if (bas->user != NULL)
 	    res->user = xmlMemStrdup(bas->user);
 	res->port = bas->port;
@@ -2164,7 +2166,6 @@
     xmlChar *val = NULL;
     int ret;
     int ix;
-    int pos = 0;
     int nbslash = 0;
     int len;
     xmlURIPtr ref = NULL;
@@ -2255,19 +2256,22 @@
 	uptr = NULL;
 	len = 1;	/* this is for a string terminator only */
     } else {
-    /*
-     * Next we compare the two strings and find where they first differ
-     */
-	if ((ref->path[pos] == '.') && (ref->path[pos+1] == '/'))
-            pos += 2;
+        xmlChar *rptr = (xmlChar *) ref->path;
+        int pos = 0;
+
+        /*
+         * Next we compare the two strings and find where they first differ
+         */
+	if ((*rptr == '.') && (rptr[1] == '/'))
+            rptr += 2;
 	if ((*bptr == '.') && (bptr[1] == '/'))
             bptr += 2;
-	else if ((*bptr == '/') && (ref->path[pos] != '/'))
+	else if ((*bptr == '/') && (*rptr != '/'))
 	    bptr++;
-	while ((bptr[pos] == ref->path[pos]) && (bptr[pos] != 0))
+	while ((bptr[pos] == rptr[pos]) && (bptr[pos] != 0))
 	    pos++;
 
-	if (bptr[pos] == ref->path[pos]) {
+	if (bptr[pos] == rptr[pos]) {
 	    val = xmlStrdup(BAD_CAST "");
 	    goto done;		/* (I can't imagine why anyone would do this) */
 	}
@@ -2277,25 +2281,25 @@
 	 * beginning of the "unique" suffix of URI
 	 */
 	ix = pos;
-	if ((ref->path[ix] == '/') && (ix > 0))
+	if ((rptr[ix] == '/') && (ix > 0))
 	    ix--;
-	else if ((ref->path[ix] == 0) && (ix > 1) && (ref->path[ix - 1] == '/'))
+	else if ((rptr[ix] == 0) && (ix > 1) && (rptr[ix - 1] == '/'))
 	    ix -= 2;
 	for (; ix > 0; ix--) {
-	    if (ref->path[ix] == '/')
+	    if (rptr[ix] == '/')
 		break;
 	}
 	if (ix == 0) {
-	    uptr = (xmlChar *)ref->path;
+	    uptr = (xmlChar *)rptr;
 	} else {
 	    ix++;
-	    uptr = (xmlChar *)&ref->path[ix];
+	    uptr = (xmlChar *)&rptr[ix];
 	}
 
 	/*
 	 * In base, count the number of '/' from the differing point
 	 */
-	if (bptr[pos] != ref->path[pos]) {/* check for trivial URI == base */
+	if (bptr[pos] != rptr[pos]) {/* check for trivial URI == base */
 	    for (; bptr[ix] != 0; ix++) {
 		if (bptr[ix] == '/')
 		    nbslash++;
@@ -2391,8 +2395,7 @@
  */
 #if defined(_WIN32) && !defined(__CYGWIN__)
     int len = 0;
-    int i = 0;
-    xmlChar *p = NULL;
+    char *p = NULL;
 #endif
     xmlURIPtr uri;
     xmlChar *ret;
@@ -2456,6 +2459,7 @@
 	        xmlFreeURI(uri);
 		return escURI;
 	    }
+            xmlFree(escURI);
 	}
     }
 
@@ -2473,7 +2477,7 @@
     len = xmlStrlen(path);
     if ((len > 2) && IS_WINDOWS_PATH(path)) {
         /* make the scheme 'file' */
-	uri->scheme = xmlStrdup(BAD_CAST "file");
+	uri->scheme = (char *) xmlStrdup(BAD_CAST "file");
 	/* allocate space for leading '/' + path + string terminator */
 	uri->path = xmlMallocAtomic(len + 2);
 	if (uri->path == NULL) {
@@ -2483,9 +2487,9 @@
 	/* Put in leading '/' plus path */
 	uri->path[0] = '/';
 	p = uri->path + 1;
-	strncpy(p, path, len + 1);
+	strncpy(p, (char *) path, len + 1);
     } else {
-	uri->path = xmlStrdup(path);
+	uri->path = (char *) xmlStrdup(path);
 	if (uri->path == NULL) {
 	    xmlFreeURI(uri);
 	    return(NULL);
diff --git a/valid.c b/valid.c
index aee6f40..57a1a9e 100644
--- a/valid.c
+++ b/valid.c
@@ -163,7 +163,7 @@
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
                     XML_ERR_ERROR, NULL, 0,
                     (const char *) str1,
-                    (const char *) str1,
+                    (const char *) str2,
                     (const char *) str3, 0, 0, msg, str1, str2, str3);
 }
 #endif /* LIBXML_VALID_ENABLED or LIBXML_SCHEMAS_ENABLED */
@@ -247,7 +247,7 @@
     __xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
                     XML_ERR_WARNING, NULL, 0,
                     (const char *) str1,
-                    (const char *) str1,
+                    (const char *) str2,
                     (const char *) str3, 0, 0, msg, str1, str2, str3);
 }
 
@@ -1172,29 +1172,33 @@
 	    xmlBufferWriteCHAR(buf, content->name);
 	    break;
 	case XML_ELEMENT_CONTENT_SEQ:
-	    if ((content->c1->type == XML_ELEMENT_CONTENT_OR) ||
-	        (content->c1->type == XML_ELEMENT_CONTENT_SEQ))
+	    if ((content->c1 != NULL) &&
+	        ((content->c1->type == XML_ELEMENT_CONTENT_OR) ||
+	         (content->c1->type == XML_ELEMENT_CONTENT_SEQ)))
 		xmlDumpElementContent(buf, content->c1, 1);
 	    else
 		xmlDumpElementContent(buf, content->c1, 0);
             xmlBufferWriteChar(buf, " , ");
-	    if ((content->c2->type == XML_ELEMENT_CONTENT_OR) ||
-	        ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) &&
-		 (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))
+	    if ((content->c2 != NULL) &&
+	        ((content->c2->type == XML_ELEMENT_CONTENT_OR) ||
+	         ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) &&
+		  (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE))))
 		xmlDumpElementContent(buf, content->c2, 1);
 	    else
 		xmlDumpElementContent(buf, content->c2, 0);
 	    break;
 	case XML_ELEMENT_CONTENT_OR:
-	    if ((content->c1->type == XML_ELEMENT_CONTENT_OR) ||
-	        (content->c1->type == XML_ELEMENT_CONTENT_SEQ))
+	    if ((content->c1 != NULL) &&
+	        ((content->c1->type == XML_ELEMENT_CONTENT_OR) ||
+	         (content->c1->type == XML_ELEMENT_CONTENT_SEQ)))
 		xmlDumpElementContent(buf, content->c1, 1);
 	    else
 		xmlDumpElementContent(buf, content->c1, 0);
             xmlBufferWriteChar(buf, " | ");
-	    if ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) ||
-	        ((content->c2->type == XML_ELEMENT_CONTENT_OR) &&
-		 (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE)))
+	    if ((content->c2 != NULL) &&
+	        ((content->c2->type == XML_ELEMENT_CONTENT_SEQ) ||
+	         ((content->c2->type == XML_ELEMENT_CONTENT_OR) &&
+		  (content->c2->ocur != XML_ELEMENT_CONTENT_ONCE))))
 		xmlDumpElementContent(buf, content->c2, 1);
 	    else
 		xmlDumpElementContent(buf, content->c2, 0);
@@ -1262,22 +1266,23 @@
         case XML_ELEMENT_CONTENT_PCDATA:
             strcat(buf, "#PCDATA");
 	    break;
-	case XML_ELEMENT_CONTENT_ELEMENT:
-	    if (content->prefix != NULL) {
-		if (size - len < xmlStrlen(content->prefix) + 10) {
-		    strcat(buf, " ...");
-		    return;
-		}
-		strcat(buf, (char *) content->prefix);
-		strcat(buf, ":");
-	    }
-	    if (size - len < xmlStrlen(content->name) + 10) {
+	case XML_ELEMENT_CONTENT_ELEMENT: {
+            int qnameLen = xmlStrlen(content->name);
+
+	    if (content->prefix != NULL)
+                qnameLen += xmlStrlen(content->prefix) + 1;
+	    if (size - len < qnameLen + 10) {
 		strcat(buf, " ...");
 		return;
 	    }
+	    if (content->prefix != NULL) {
+		strcat(buf, (char *) content->prefix);
+		strcat(buf, ":");
+	    }
 	    if (content->name != NULL)
 		strcat(buf, (char *) content->name);
 	    break;
+        }
 	case XML_ELEMENT_CONTENT_SEQ:
 	    if ((content->c1->type == XML_ELEMENT_CONTENT_OR) ||
 	        (content->c1->type == XML_ELEMENT_CONTENT_SEQ))
@@ -1319,6 +1324,7 @@
 		xmlSnprintfElementContent(buf, size, content->c2, 0);
 	    break;
     }
+    if (size - strlen(buf) <= 2) return;
     if (englob)
         strcat(buf, ")");
     switch (content->ocur) {
@@ -1591,6 +1597,11 @@
     return(ret);
 }
 
+static void
+xmlFreeElementTableEntry(void *elem, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlFreeElement((xmlElementPtr) elem);
+}
+
 /**
  * xmlFreeElementTable:
  * @table:  An element table
@@ -1599,7 +1610,7 @@
  */
 void
 xmlFreeElementTable(xmlElementTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeElement);
+    xmlHashFree(table, xmlFreeElementTableEntry);
 }
 
 #ifdef LIBXML_TREE_ENABLED
@@ -1611,8 +1622,9 @@
  *
  * Returns the new xmlElementPtr or NULL in case of error.
  */
-static xmlElementPtr
-xmlCopyElement(xmlElementPtr elem) {
+static void *
+xmlCopyElement(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlElementPtr elem = (xmlElementPtr) payload;
     xmlElementPtr cur;
 
     cur = (xmlElementPtr) xmlMalloc(sizeof(xmlElement));
@@ -1647,8 +1659,7 @@
  */
 xmlElementTablePtr
 xmlCopyElementTable(xmlElementTablePtr table) {
-    return((xmlElementTablePtr) xmlHashCopy(table,
-		                            (xmlHashCopier) xmlCopyElement));
+    return((xmlElementTablePtr) xmlHashCopy(table, xmlCopyElement));
 }
 #endif /* LIBXML_TREE_ENABLED */
 
@@ -1722,8 +1733,9 @@
  * the arguments.
  */
 static void
-xmlDumpElementDeclScan(xmlElementPtr elem, xmlBufferPtr buf) {
-    xmlDumpElementDecl(buf, elem);
+xmlDumpElementDeclScan(void *elem, void *buf,
+                       const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlDumpElementDecl((xmlBufferPtr) buf, (xmlElementPtr) elem);
 }
 
 /**
@@ -1737,7 +1749,7 @@
 xmlDumpElementTable(xmlBufferPtr buf, xmlElementTablePtr table) {
     if ((buf == NULL) || (table == NULL))
         return;
-    xmlHashScan(table, (xmlHashScanner) xmlDumpElementDeclScan, buf);
+    xmlHashScan(table, xmlDumpElementDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
@@ -2137,6 +2149,11 @@
     return(ret);
 }
 
+static void
+xmlFreeAttributeTableEntry(void *attr, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlFreeAttribute((xmlAttributePtr) attr);
+}
+
 /**
  * xmlFreeAttributeTable:
  * @table:  An attribute table
@@ -2145,7 +2162,7 @@
  */
 void
 xmlFreeAttributeTable(xmlAttributeTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeAttribute);
+    xmlHashFree(table, xmlFreeAttributeTableEntry);
 }
 
 #ifdef LIBXML_TREE_ENABLED
@@ -2157,8 +2174,9 @@
  *
  * Returns the new xmlAttributePtr or NULL in case of error.
  */
-static xmlAttributePtr
-xmlCopyAttribute(xmlAttributePtr attr) {
+static void *
+xmlCopyAttribute(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlAttributePtr attr = (xmlAttributePtr) payload;
     xmlAttributePtr cur;
 
     cur = (xmlAttributePtr) xmlMalloc(sizeof(xmlAttribute));
@@ -2192,8 +2210,7 @@
  */
 xmlAttributeTablePtr
 xmlCopyAttributeTable(xmlAttributeTablePtr table) {
-    return((xmlAttributeTablePtr) xmlHashCopy(table,
-				    (xmlHashCopier) xmlCopyAttribute));
+    return((xmlAttributeTablePtr) xmlHashCopy(table, xmlCopyAttribute));
 }
 #endif /* LIBXML_TREE_ENABLED */
 
@@ -2288,8 +2305,9 @@
  * This is used with the hash scan function - just reverses arguments
  */
 static void
-xmlDumpAttributeDeclScan(xmlAttributePtr attr, xmlBufferPtr buf) {
-    xmlDumpAttributeDecl(buf, attr);
+xmlDumpAttributeDeclScan(void *attr, void *buf,
+                         const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlDumpAttributeDecl((xmlBufferPtr) buf, (xmlAttributePtr) attr);
 }
 
 /**
@@ -2303,7 +2321,7 @@
 xmlDumpAttributeTable(xmlBufferPtr buf, xmlAttributeTablePtr table) {
     if ((buf == NULL) || (table == NULL))
         return;
-    xmlHashScan(table, (xmlHashScanner) xmlDumpAttributeDeclScan, buf);
+    xmlHashScan(table, xmlDumpAttributeDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
@@ -2409,6 +2427,11 @@
     return(ret);
 }
 
+static void
+xmlFreeNotationTableEntry(void *nota, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlFreeNotation((xmlNotationPtr) nota);
+}
+
 /**
  * xmlFreeNotationTable:
  * @table:  An notation table
@@ -2417,7 +2440,7 @@
  */
 void
 xmlFreeNotationTable(xmlNotationTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeNotation);
+    xmlHashFree(table, xmlFreeNotationTableEntry);
 }
 
 #ifdef LIBXML_TREE_ENABLED
@@ -2429,8 +2452,9 @@
  *
  * Returns the new xmlNotationPtr or NULL in case of error.
  */
-static xmlNotationPtr
-xmlCopyNotation(xmlNotationPtr nota) {
+static void *
+xmlCopyNotation(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlNotationPtr nota = (xmlNotationPtr) payload;
     xmlNotationPtr cur;
 
     cur = (xmlNotationPtr) xmlMalloc(sizeof(xmlNotation));
@@ -2463,8 +2487,7 @@
  */
 xmlNotationTablePtr
 xmlCopyNotationTable(xmlNotationTablePtr table) {
-    return((xmlNotationTablePtr) xmlHashCopy(table,
-				    (xmlHashCopier) xmlCopyNotation));
+    return((xmlNotationTablePtr) xmlHashCopy(table, xmlCopyNotation));
 }
 #endif /* LIBXML_TREE_ENABLED */
 
@@ -2504,8 +2527,9 @@
  * This is called with the hash scan function, and just reverses args
  */
 static void
-xmlDumpNotationDeclScan(xmlNotationPtr nota, xmlBufferPtr buf) {
-    xmlDumpNotationDecl(buf, nota);
+xmlDumpNotationDeclScan(void *nota, void *buf,
+                        const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlDumpNotationDecl((xmlBufferPtr) buf, (xmlNotationPtr) nota);
 }
 
 /**
@@ -2519,7 +2543,7 @@
 xmlDumpNotationTable(xmlBufferPtr buf, xmlNotationTablePtr table) {
     if ((buf == NULL) || (table == NULL))
         return;
-    xmlHashScan(table, (xmlHashScanner) xmlDumpNotationDeclScan, buf);
+    xmlHashScan(table, xmlDumpNotationDeclScan, buf);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
 
@@ -2647,6 +2671,11 @@
     return(ret);
 }
 
+static void
+xmlFreeIDTableEntry(void *id, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlFreeID((xmlIDPtr) id);
+}
+
 /**
  * xmlFreeIDTable:
  * @table:  An id table
@@ -2655,7 +2684,7 @@
  */
 void
 xmlFreeIDTable(xmlIDTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeID);
+    xmlHashFree(table, xmlFreeIDTableEntry);
 }
 
 /**
@@ -2755,7 +2784,7 @@
         return(-1);
     }
 
-    xmlHashRemoveEntry(table, ID, (xmlHashDeallocator) xmlFreeID);
+    xmlHashRemoveEntry(table, ID, xmlFreeIDTableEntry);
     xmlFree(ID);
     attr->atype = 0;
     return(0);
@@ -2839,13 +2868,14 @@
 }
 
 /**
- * xmlFreeRefList:
+ * xmlFreeRefTableEntry:
  * @list_ref:  A list of references.
  *
  * Deallocate the memory used by a list of references
  */
 static void
-xmlFreeRefList(xmlListPtr list_ref) {
+xmlFreeRefTableEntry(void *payload, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlListPtr list_ref = (xmlListPtr) payload;
     if (list_ref == NULL) return;
     xmlListDelete(list_ref);
 }
@@ -2858,7 +2888,7 @@
  * Returns 0 to abort the walk or 1 to continue
  */
 static int
-xmlWalkRemoveRef(const void *data, const void *user)
+xmlWalkRemoveRef(const void *data, void *user)
 {
     xmlAttrPtr attr0 = ((xmlRefPtr)data)->attr;
     xmlAttrPtr attr1 = ((xmlRemoveMemoPtr)user)->ap;
@@ -2996,7 +3026,7 @@
  */
 void
 xmlFreeRefTable(xmlRefTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeRefList);
+    xmlHashFree(table, xmlFreeRefTableEntry);
 }
 
 /**
@@ -3093,8 +3123,7 @@
 
     /*If the list is empty then remove the list entry in the hash */
     if (xmlListEmpty(ref_list))
-        xmlHashUpdateEntry(table, ID, NULL, (xmlHashDeallocator)
-        xmlFreeRefList);
+        xmlHashUpdateEntry(table, ID, NULL, xmlFreeRefTableEntry);
     xmlFree(ID);
     return(0);
 }
@@ -4090,8 +4119,10 @@
 }
 
 static void
-xmlValidateAttributeIdCallback(xmlAttributePtr attr, int *count,
-	                       const xmlChar* name ATTRIBUTE_UNUSED) {
+xmlValidateAttributeIdCallback(void *payload, void *data,
+	                       const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlAttributePtr attr = (xmlAttributePtr) payload;
+    int *count = (int *) data;
     if (attr->atype == XML_ATTRIBUTE_ID) (*count)++;
 }
 
@@ -4163,7 +4194,7 @@
 	    nbId = 0;
 	    if (doc->intSubset != NULL) {
 		table = (xmlAttributeTablePtr) doc->intSubset->attributes;
-		xmlHashScan3(table, NULL, NULL, attr->elem, (xmlHashScanner)
+		xmlHashScan3(table, NULL, NULL, attr->elem,
 			     xmlValidateAttributeIdCallback, &nbId);
 	    }
 	}
@@ -4621,6 +4652,12 @@
 	}
     }
 
+    /*
+     * Casting ns to xmlAttrPtr is wrong. We'd need separate functions
+     * xmlAddID and xmlAddRef for namespace declarations, but it makes
+     * no practical sense to use ID types anyway.
+     */
+#if 0
     /* Validity Constraint: ID uniqueness */
     if (attrDecl->atype == XML_ATTRIBUTE_ID) {
         if (xmlAddID(ctxt, doc, value, (xmlAttrPtr) attrDecl) == NULL)
@@ -4632,6 +4669,7 @@
         if (xmlAddRef(ctxt, doc, value, (xmlAttrPtr) attrDecl) == NULL)
 	    ret = 0;
     }
+#endif
 
     /* Validity Constraint: Notation Attributes */
     if (attrDecl->atype == XML_ATTRIBUTE_NOTATION) {
@@ -5177,6 +5215,7 @@
             case XML_TEXT_NODE:
 		if (xmlIsBlankNode(cur))
 		    break;
+                /* Falls through. */
             case XML_CDATA_SECTION_NODE:
             case XML_ENTITY_REF_NODE:
 	        strcat(buf, "CDATA");
@@ -5725,7 +5764,7 @@
 	xmlElementPtr elemDecl;
 
 	/*
-	 * Check the new element agaisnt the content model of the new elem.
+	 * Check the new element against the content model of the new elem.
 	 */
 	if (state->elemDecl != NULL) {
 	    elemDecl = state->elemDecl;
@@ -5817,7 +5856,7 @@
 	xmlElementPtr elemDecl;
 
 	/*
-	 * Check the new element agaisnt the content model of the new elem.
+	 * Check the new element against the content model of the new elem.
 	 */
 	if (state->elemDecl != NULL) {
 	    elemDecl = state->elemDecl;
@@ -5891,7 +5930,7 @@
 	xmlElementPtr elemDecl;
 
 	/*
-	 * Check the new element agaisnt the content model of the new elem.
+	 * Check the new element against the content model of the new elem.
 	 */
 	if (state->elemDecl != NULL) {
 	    elemDecl = state->elemDecl;
@@ -6516,7 +6555,7 @@
  * Returns 0 to abort the walk or 1 to continue
  */
 static int
-xmlWalkValidateList(const void *data, const void *user)
+xmlWalkValidateList(const void *data, void *user)
 {
 	xmlValidateMemoPtr memo = (xmlValidateMemoPtr)user;
 	xmlValidateRef((xmlRefPtr)data, memo->ctxt, memo->name);
@@ -6531,8 +6570,9 @@
  *
  */
 static void
-xmlValidateCheckRefCallback(xmlListPtr ref_list, xmlValidCtxtPtr ctxt,
-	                   const xmlChar *name) {
+xmlValidateCheckRefCallback(void *payload, void *data, const xmlChar *name) {
+    xmlListPtr ref_list = (xmlListPtr) payload;
+    xmlValidCtxtPtr ctxt = (xmlValidCtxtPtr) data;
     xmlValidateMemo memo;
 
     if (ref_list == NULL)
@@ -6588,7 +6628,7 @@
     table = (xmlRefTablePtr) doc->refs;
     ctxt->doc = doc;
     ctxt->valid = 1;
-    xmlHashScan(table, (xmlHashScanner) xmlValidateCheckRefCallback, ctxt);
+    xmlHashScan(table, xmlValidateCheckRefCallback, ctxt);
 
     ctxt->finishDtd = save;
     return(ctxt->valid);
@@ -6645,8 +6685,10 @@
 }
 
 static void
-xmlValidateNotationCallback(xmlEntityPtr cur, xmlValidCtxtPtr ctxt,
+xmlValidateNotationCallback(void *payload, void *data,
 	                    const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlEntityPtr cur = (xmlEntityPtr) payload;
+    xmlValidCtxtPtr ctxt = (xmlValidCtxtPtr) data;
     if (cur == NULL)
 	return;
     if (cur->etype == XML_EXTERNAL_GENERAL_UNPARSED_ENTITY) {
@@ -6664,8 +6706,10 @@
 }
 
 static void
-xmlValidateAttributeCallback(xmlAttributePtr cur, xmlValidCtxtPtr ctxt,
-	                    const xmlChar *name ATTRIBUTE_UNUSED) {
+xmlValidateAttributeCallback(void *payload, void *data,
+	                     const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlAttributePtr cur = (xmlAttributePtr) payload;
+    xmlValidCtxtPtr ctxt = (xmlValidCtxtPtr) data;
     int ret;
     xmlDocPtr doc;
     xmlElementPtr elem = NULL;
@@ -6764,22 +6808,20 @@
     dtd = doc->intSubset;
     if ((dtd != NULL) && (dtd->attributes != NULL)) {
 	table = (xmlAttributeTablePtr) dtd->attributes;
-	xmlHashScan(table, (xmlHashScanner) xmlValidateAttributeCallback, ctxt);
+	xmlHashScan(table, xmlValidateAttributeCallback, ctxt);
     }
     if ((dtd != NULL) && (dtd->entities != NULL)) {
 	entities = (xmlEntitiesTablePtr) dtd->entities;
-	xmlHashScan(entities, (xmlHashScanner) xmlValidateNotationCallback,
-		    ctxt);
+	xmlHashScan(entities, xmlValidateNotationCallback, ctxt);
     }
     dtd = doc->extSubset;
     if ((dtd != NULL) && (dtd->attributes != NULL)) {
 	table = (xmlAttributeTablePtr) dtd->attributes;
-	xmlHashScan(table, (xmlHashScanner) xmlValidateAttributeCallback, ctxt);
+	xmlHashScan(table, xmlValidateAttributeCallback, ctxt);
     }
     if ((dtd != NULL) && (dtd->entities != NULL)) {
 	entities = (xmlEntitiesTablePtr) dtd->entities;
-	xmlHashScan(entities, (xmlHashScanner) xmlValidateNotationCallback,
-		    ctxt);
+	xmlHashScan(entities, xmlValidateNotationCallback, ctxt);
     }
     return(ctxt->valid);
 }
diff --git a/vms/build_libxml.com b/vms/build_libxml.com
index 3a6fcc0..1f7936e 100755
--- a/vms/build_libxml.com
+++ b/vms/build_libxml.com
@@ -62,9 +62,9 @@
 $   bin_progs = "xmllint xmlcatalog"
 $!
 $!- list of test modules to compile and link.  Compare this list to the
-$!  definition of noinst_PROGRAMS in MAKEFILE.
+$!  definition of check_PROGRAMS in MAKEFILE.
 $!
-$   noinst_PROGRAMS = "testSchemas testRelax testSAX testHTML testXPath testURI " -
+$   check_PROGRAMS = "testSchemas testRelax testSAX testHTML testXPath testURI " -
                 + "testThreads testC14N testAutomata testRegexp testReader"
 $!
 $!- set up build logicals -----------------------------------------------------\
@@ -196,7 +196,7 @@
 $ write sys$output ""
 $!
 $ p_no = 0
-$ all_progs = bin_progs + " " + noinst_PROGRAMS
+$ all_progs = bin_progs + " " + check_PROGRAMS
 $ all_progs = f$edit(all_progs,"COMPRESS")
 $!
 $ prog_loop:
diff --git a/vms/config.vms b/vms/config.vms
index d1cd7f3..375406b 100755
--- a/vms/config.vms
+++ b/vms/config.vms
@@ -21,39 +21,15 @@
 
 #define ICONV_CONST
 
-/* Define if you have the class function.  */
-#undef HAVE_CLASS
-
-/* Define if you have the finite function.  */
-#undef HAVE_FINITE
-
-/* Define if you have the fp_class function.  */
-#define HAVE_FP_CLASS	1
-
-/* Define if you have the fpclass function.  */
-#undef HAVE_FPCLASS
-
-/* Define if you have the isnand function.  */
-#undef HAVE_ISNAND
-
 /* Define if you have the localtime function.  */
 #define HAVE_LOCALTIME	1
 
 /* Define if you have the snprintf function.  */
 #undef HAVE_SNPRINTF
 
-/* Define if you have the strdup function.  */
-#define HAVE_STRDUP	1
-
-/* Define if you have the strerror function.  */
-#define HAVE_STRERROR	1
-
 /* Define if you have the strftime function.  */
 #define HAVE_STRFTIME	1
 
-/* Define if you have the strndup function.  */
-#undef HAVE_STRNDUP
-
 /* Define if you have the <arpa/inet.h> header file.  */
 #undef HAVE_ARPA_INET_H
 
@@ -72,21 +48,12 @@
 /* Define if you have the <float.h> header file.  */
 #define HAVE_FLOAT_H	1
 
-/* Define if you have the <fp_class.h> header file.  */
-#define HAVE_FP_CLASS_H	1
-
-/* Define if you have the <ieeefp.h> header file.  */
-#undef HAVE_IEEEFP_H
-
 /* Define if you have the <malloc.h> header file.  */
 #undef HAVE_MALLOC_H
 
 /* Define if you have the <math.h> header file.  */
 #define HAVE_MATH_H	1
 
-/* Define if you have the <nan.h> header file.  */
-#undef HAVE_NAN_H
-
 /* Define if you have the <ndir.h> header file.  */
 #undef HAVE_NDIR_H
 
@@ -102,12 +69,6 @@
 /* Define if you have the <stdlib.h> header file.  */
 #define HAVE_STDLIB_H	1
 
-/* Define to 1 if you have the `strdup' function. */
-#define HAVE_STRDUP 1
-
-/* Define to 1 if you have the `strerror' function. */
-#define HAVE_STRERROR 1
-
 /* Define to 1 if you have the `strftime' function. */
 #define HAVE_STRFTIME 1
 
@@ -117,9 +78,6 @@
 /* Define to 1 if you have the <string.h> header file. */
 #define HAVE_STRING_H 1
 
-/* Define to 1 if you have the `strndup' function. */
-#undef HAVE_STRNDUP
-
 /* Define if you have the <sys/dir.h> header file.  */
 #undef HAVE_SYS_DIR_H
 
@@ -150,9 +108,6 @@
 /* Define if you have the <unistd.h> header file.  */
 #define HAVE_UNISTD_H	1
 
-/* Define if you have the <zlib.h> header file.  */
-#undef HAVE_ZLIB_H
-
 /* Name of package */
 #undef PACKAGE
 
diff --git a/win32/Makefile.bcb b/win32/Makefile.bcb
index 7129c61..41002da 100644
--- a/win32/Makefile.bcb
+++ b/win32/Makefile.bcb
@@ -65,12 +65,6 @@
 !else if "$(WITH_THREADS)" == "posix"
 CFLAGS = $(CFLAGS) -DHAVE_PTHREAD_H
 !endif
-!if "$(WITH_ZLIB)" == "1"
-CFLAGS = $(CFLAGS) -DHAVE_ZLIB_H
-!endif
-!if "$(WITH_LZMA)" == "1"
-CFLAGS = $(CFLAGS) -DHAVE_LZMA_H
-!endif
 
 # The linker and its options.
 LD = ilink32.exe
diff --git a/win32/Makefile.mingw b/win32/Makefile.mingw
index 1889376..3d4cb88 100644
--- a/win32/Makefile.mingw
+++ b/win32/Makefile.mingw
@@ -57,12 +57,6 @@
 ifeq ($(WITH_THREADS),posix)
 CFLAGS += -DHAVE_PTHREAD_H
 endif
-ifeq ($(WITH_ZLIB),1)
-CFLAGS += -DHAVE_ZLIB_H
-endif
-ifeq ($(WITH_LZMA),1)
-CFLAGS += -DHAVE_LZMA_H
-endif
 
 # The linker and its options.
 LD = gcc.exe
@@ -71,11 +65,9 @@
 LDFLAGS += -Wl,-L,$(BINDIR) -Wl,-L,$(LIBPREFIX)
 LIBS =
 ifeq ($(WITH_FTP),1)
-CFLAGS += -D_WINSOCKAPI_
 LIBS += -lwsock32 -lws2_32
 endif 
 ifeq ($(WITH_HTTP),1)
-CFLAGS += -D_WINSOCKAPI_
 LIBS += -lwsock32 -lws2_32
 endif 
 ifeq ($(WITH_ICONV),1)
diff --git a/win32/Makefile.msvc b/win32/Makefile.msvc
index d16c1a2..491dc88 100644
--- a/win32/Makefile.msvc
+++ b/win32/Makefile.msvc
@@ -22,6 +22,7 @@
 XML_NAME = xml2
 XML_BASENAME = lib$(XML_NAME)
 XML_SO = $(XML_BASENAME).dll
+XML_RES = $(XML_BASENAME).res
 XML_IMP = $(XML_BASENAME).lib
 XML_DEF = $(XML_BASENAME).def
 XML_A = $(XML_BASENAME)_a.lib
@@ -43,7 +44,7 @@
 
 # The compiler and its options.
 CC = cl.exe
-CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "NOLIBTOOL" /W1 $(CRUNTIME)
+CFLAGS = /nologo /D "_WINDOWS" /D "_MBCS" /D "NOLIBTOOL" /W3 /wd4244 /wd4267 $(CRUNTIME)
 CFLAGS = $(CFLAGS) /I$(XML_SRCDIR) /I$(XML_SRCDIR)\include /I$(INCPREFIX)
 !if "$(WITH_THREADS)" != "no"
 CFLAGS = $(CFLAGS) /D "_REENTRANT"
@@ -55,12 +56,6 @@
 !else if "$(WITH_THREADS)" == "posix"
 CFLAGS = $(CFLAGS) /D "HAVE_PTHREAD_H"
 !endif
-!if "$(WITH_ZLIB)" == "1"
-CFLAGS = $(CFLAGS) /D "HAVE_ZLIB_H"
-!endif
-!if "$(WITH_LZMA)" == "1"
-CFLAGS = $(CFLAGS) /D "HAVE_LZMA_H"
-!endif
 CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
 
 # The linker and its options.
@@ -75,7 +70,11 @@
 LIBS = $(LIBS) iconv.lib
 !endif 
 !if "$(WITH_ICU)" == "1"
-LIBS = $(LIBS) icu.lib
+!if "$(STATIC)" == "1"
+LIBS = $(LIBS) advapi32.lib sicuuc.lib sicuin.lib sicudt.lib
+!else
+LIBS = $(LIBS) icuuc.lib icuin.lib icudt.lib
+!endif
 !endif
 !if "$(WITH_ZLIB)" == "1"
 # could be named differently zdll or zlib
@@ -262,7 +261,10 @@
 	$(BINDIR)\testXPath.exe\
 	$(BINDIR)\runtest.exe\
 	$(BINDIR)\runsuite.exe\
+	$(BINDIR)\runxmlconf.exe\
 	$(BINDIR)\testapi.exe\
+	$(BINDIR)\testchar.exe\
+	$(BINDIR)\testdict.exe\
 	$(BINDIR)\testlimits.exe\
 	$(BINDIR)\testrecurse.exe
 	
@@ -373,11 +375,13 @@
 # Creates the export definition file (DEF) for libxml.
 $(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR) $(XML_DEF).src
 	$(CPP) $(CPPFLAGS) $(XML_DEF).src > $(XML_INTDIR)\$(XML_DEF)
+$(XML_INTDIR)\$(XML_RES) : $(XML_INTDIR) libxml2.rc
+	rc -Fo $(XML_INTDIR)\$(XML_RES) libxml2.rc
 
 # Creates the libxml shared object.
-$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
+$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF) $(XML_INTDIR)\$(XML_RES)
 	$(LD) $(LDFLAGS) /DLL \
-		/IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(LIBS)
+		/IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(XML_INTDIR)\$(XML_RES) $(LIBS)
 	@$(_VC_MANIFEST_EMBED_DLL)
 
 #$(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
diff --git a/win32/VC10/config.h b/win32/VC10/config.h
index 891b57e..c1e16f1 100644
--- a/win32/VC10/config.h
+++ b/win32/VC10/config.h
@@ -9,11 +9,9 @@
 
 #if defined(_WIN32_WCE)
 #undef HAVE_ERRNO_H
-#include <windows.h>
 #include "wincecompat.h"
 #else
 #define HAVE_SYS_STAT_H
-#define HAVE__STAT
 #define HAVE_STAT
 #define HAVE_STDLIB_H
 #define HAVE_TIME_H
@@ -28,10 +26,6 @@
 #define ICONV_CONST const
 #endif
 
-#ifdef NEED_SOCKETS
-#include <wsockcompat.h>
-#endif
-
 /*
  * Windows platforms may define except 
  */
diff --git a/win32/configure.js b/win32/configure.js
index 92b9ba0..dbf238c 100644
--- a/win32/configure.js
+++ b/win32/configure.js
@@ -280,6 +280,18 @@
 		vf.WriteLine("DYNRUNTIME=" + (dynruntime? "1" : "0"));
 	}
 	vf.Close();
+	versionFile = "rcVersion.h"
+	vf = fso.CreateTextFile(versionFile, true);
+	vf.WriteLine("/*");
+	vf.WriteLine("  " + versionFile);
+	vf.WriteLine("  This file is generated automatically by " + WScript.ScriptName + ".");
+	vf.WriteLine("*/");
+	vf.WriteBlankLines(1);
+	vf.WriteLine("#define LIBXML_MAJOR_VERSION " + verMajor);
+	vf.WriteLine("#define LIBXML_MINOR_VERSION " + verMinor);
+	vf.WriteLine("#define LIBXML_MICRO_VERSION " + verMicro);
+	vf.WriteLine("#define LIBXML_DOTTED_VERSION " + "\"" + verMajor + "." + verMinor + "." + verMicro + "\"");
+	vf.Close()
 }
 
 /* Configures libxml. This one will generate xmlversion.h from xmlversion.h.in
diff --git a/win32/libxml2.rc b/win32/libxml2.rc
new file mode 100644
index 0000000..c774a5e
--- /dev/null
+++ b/win32/libxml2.rc
@@ -0,0 +1,36 @@
+#include <winver.h>
+#include "rcVersion.h"
+
+VS_VERSION_INFO		VERSIONINFO
+  FILEVERSION		LIBXML_MAJOR_VERSION,LIBXML_MINOR_VERSION,LIBXML_MICRO_VERSION,0
+  PRODUCTVERSION	LIBXML_MAJOR_VERSION,LIBXML_MINOR_VERSION,LIBXML_MICRO_VERSION,0
+  FILEFLAGSMASK		VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+  FILEFLAGS		VS_FF_DEBUG
+#else
+  FILEFLAGS		0
+#endif
+  FILEOS		VOS__WINDOWS32
+  FILETYPE		VFT_DLL
+  FILESUBTYPE	VFT2_UNKNOWN	// not used
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "04090000"  /* Lang = US English, Charset = ASCII */
+    BEGIN
+      VALUE "FileDescription",	"libxml2 library\0"
+      VALUE "FileVersion",	LIBXML_DOTTED_VERSION "\0"
+      VALUE "InternalName",	"libxml2.dll\0"
+      VALUE "LegalCopyright",	"Copyright (C) Daniel Veillard\0"
+      VALUE "LegalTrademarks",	"\0"
+      VALUE "OriginalFilename",	"libxml2.dll\0"
+      VALUE "ProductName",	"libxml2\0"
+      VALUE "ProductVersion",	LIBXML_DOTTED_VERSION "\0"
+      VALUE "Comments",		"For more information visit http://xmlsoft.org/\0"
+    END
+  END
+  BLOCK "VarFileInfo"
+  BEGIN
+      VALUE "Translation", 0x0409, 0  /* US English, ASCII */
+  END
+END
diff --git a/xinclude.c b/xinclude.c
index e3bb43e..001e992 100644
--- a/xinclude.c
+++ b/xinclude.c
@@ -1261,8 +1261,10 @@
  * Inplements the merge of one entity
  */
 static void
-xmlXIncludeMergeEntity(xmlEntityPtr ent, xmlXIncludeMergeDataPtr data,
-	               xmlChar *name ATTRIBUTE_UNUSED) {
+xmlXIncludeMergeEntity(void *payload, void *vdata,
+	               const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlEntityPtr ent = (xmlEntityPtr) payload;
+    xmlXIncludeMergeDataPtr data = (xmlXIncludeMergeDataPtr) vdata;
     xmlEntityPtr ret, prev;
     xmlDocPtr doc;
     xmlXIncludeCtxtPtr ctxt;
@@ -1367,7 +1369,7 @@
 	data.doc = doc;
 
 	xmlHashScan((xmlHashTablePtr) source->entities,
-		    (xmlHashScanner) xmlXIncludeMergeEntity, &data);
+		    xmlXIncludeMergeEntity, &data);
     }
     source = from->extSubset;
     if ((source != NULL) && (source->entities != NULL)) {
@@ -1382,7 +1384,7 @@
 	if ((!xmlStrEqual(target->ExternalID, source->ExternalID)) &&
 	    (!xmlStrEqual(target->SystemID, source->SystemID))) {
 	    xmlHashScan((xmlHashTablePtr) source->entities,
-			(xmlHashScanner) xmlXIncludeMergeEntity, &data);
+			xmlXIncludeMergeEntity, &data);
 	}
     }
     return(0);
diff --git a/xlink.c b/xlink.c
index c0e4ff3..ecf9f96 100644
--- a/xlink.c
+++ b/xlink.c
@@ -28,7 +28,7 @@
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
 
diff --git a/xmlIO.c b/xmlIO.c
index 1a79c09..8254347 100644
--- a/xmlIO.c
+++ b/xmlIO.c
@@ -12,6 +12,7 @@
 #include "libxml.h"
 
 #include <string.h>
+#include <stddef.h>
 #ifdef HAVE_ERRNO_H
 #include <errno.h>
 #endif
@@ -32,14 +33,15 @@
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
-#ifdef HAVE_LZMA_H
+#ifdef LIBXML_LZMA_ENABLED
 #include <lzma.h>
 #endif
 
-#if defined(WIN32) || defined(_WIN32)
+#if defined(_WIN32) && !defined(__CYGWIN__)
+#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #endif
 
@@ -47,38 +49,14 @@
 #include <winnls.h> /* for CP_UTF8 */
 #endif
 
-/* Figure a portable way to know if a file is a directory. */
-#ifndef HAVE_STAT
-#  ifdef HAVE__STAT
-     /* MS C library seems to define stat and _stat. The definition
-        is identical. Still, mapping them to each other causes a warning. */
-#    ifndef _MSC_VER
-#      define stat(x,y) _stat(x,y)
-#    endif
-#    define HAVE_STAT
-#  endif
-#else
-#  ifdef HAVE__STAT
-#    if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-#      define stat _stat
-#    endif
-#  endif
-#endif
-#ifdef HAVE_STAT
-#  ifndef S_ISDIR
-#    ifdef _S_ISDIR
-#      define S_ISDIR(x) _S_ISDIR(x)
-#    else
-#      ifdef S_IFDIR
-#        ifndef S_IFMT
-#          ifdef _S_IFMT
-#            define S_IFMT _S_IFMT
-#          endif
-#        endif
-#        ifdef S_IFMT
-#          define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#        endif
-#      endif
+#ifndef S_ISDIR
+#  ifdef _S_ISDIR
+#    define S_ISDIR(x) _S_ISDIR(x)
+#  elif defined(S_IFDIR)
+#    ifdef S_IFMT
+#      define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#    elif defined(_S_IFMT)
+#      define S_ISDIR(m) (((m) & _S_IFMT) == S_IFDIR)
 #    endif
 #  endif
 #endif
@@ -619,7 +597,7 @@
     return fd;
 }
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 static gzFile
 xmlWrapGzOpenUtf8(const char *path, const char *mode)
 {
@@ -656,99 +634,19 @@
  *
  */
 static int
-xmlWrapStatUtf8(const char *path,struct stat *info)
-{
-#ifdef HAVE_STAT
+xmlWrapStatUtf8(const char *path, struct _stat *info) {
     int retval = -1;
     wchar_t *wPath;
 
     wPath = __xmlIOWin32UTF8ToWChar(path);
-    if (wPath)
-    {
-       retval = _wstat(wPath,info);
+    if (wPath) {
+       retval = _wstat(wPath, info);
        xmlFree(wPath);
     }
     /* maybe path in native encoding */
     if(retval < 0)
-       retval = stat(path,info);
+       retval = _stat(path, info);
     return retval;
-#else
-    return -1;
-#endif
-}
-
-/**
- *  xmlWrapOpenNative:
- * @path:  the path
- * @mode:  type of access (0 - read, 1 - write)
- *
- * function opens the file specified by @path
- *
- */
-static FILE*
-xmlWrapOpenNative(const char *path,int mode)
-{
-    return fopen(path,mode ? "wb" : "rb");
-}
-
-/**
- *  xmlWrapStatNative:
- * @path:  the path
- * @info:  structure that stores results
- *
- * function obtains information about the file or directory
- *
- */
-static int
-xmlWrapStatNative(const char *path,struct stat *info)
-{
-#ifdef HAVE_STAT
-    return stat(path,info);
-#else
-    return -1;
-#endif
-}
-
-typedef int (* xmlWrapStatFunc) (const char *f, struct stat *s);
-static xmlWrapStatFunc xmlWrapStat = xmlWrapStatNative;
-typedef FILE* (* xmlWrapOpenFunc)(const char *f,int mode);
-static xmlWrapOpenFunc xmlWrapOpen = xmlWrapOpenNative;
-#ifdef HAVE_ZLIB_H
-typedef gzFile (* xmlWrapGzOpenFunc) (const char *f, const char *mode);
-static xmlWrapGzOpenFunc xmlWrapGzOpen = gzopen;
-#endif
-/**
- * xmlInitPlatformSpecificIo:
- *
- * Initialize platform specific features.
- */
-static void
-xmlInitPlatformSpecificIo(void)
-{
-    static int xmlPlatformIoInitialized = 0;
-    OSVERSIONINFO osvi;
-
-    if(xmlPlatformIoInitialized)
-      return;
-
-    osvi.dwOSVersionInfoSize = sizeof(osvi);
-
-    if(GetVersionEx(&osvi) && (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)) {
-      xmlWrapStat = xmlWrapStatUtf8;
-      xmlWrapOpen = xmlWrapOpenUtf8;
-#ifdef HAVE_ZLIB_H
-      xmlWrapGzOpen = xmlWrapGzOpenUtf8;
-#endif
-    } else {
-      xmlWrapStat = xmlWrapStatNative;
-      xmlWrapOpen = xmlWrapOpenNative;
-#ifdef HAVE_ZLIB_H
-      xmlWrapGzOpen = gzopen;
-#endif
-    }
-
-    xmlPlatformIoInitialized = 1;
-    return;
 }
 
 #endif
@@ -771,8 +669,12 @@
 xmlCheckFilename (const char *path)
 {
 #ifdef HAVE_STAT
+#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
+    struct _stat stat_buffer;
+#else
     struct stat stat_buffer;
 #endif
+#endif
     if (path == NULL)
 	return(0);
 
@@ -786,7 +688,7 @@
 	(path[3] == '\\') )
 	    return 1;
 
-    if (xmlWrapStat(path, &stat_buffer) == -1)
+    if (xmlWrapStatUtf8(path, &stat_buffer) == -1)
         return 0;
 #else
     if (stat(path, &stat_buffer) == -1)
@@ -801,14 +703,16 @@
 }
 
 /**
- * xmlNop:
+ * xmlInputReadCallbackNop:
  *
- * No Operation function, does nothing, no input
+ * No Operation xmlInputReadCallback function, does nothing.
  *
  * Returns zero
  */
 int
-xmlNop(void) {
+xmlInputReadCallbackNop(void *context ATTRIBUTE_UNUSED,
+                        char *buffer ATTRIBUTE_UNUSED,
+                        int len ATTRIBUTE_UNUSED) {
     return(0);
 }
 
@@ -826,7 +730,7 @@
 xmlFdRead (void * context, char * buffer, int len) {
     int ret;
 
-    ret = read((int) (long) context, &buffer[0], len);
+    ret = read((int) (ptrdiff_t) context, &buffer[0], len);
     if (ret < 0) xmlIOErr(0, "read()");
     return(ret);
 }
@@ -847,7 +751,7 @@
     int ret = 0;
 
     if (len > 0) {
-	ret = write((int) (long) context, &buffer[0], len);
+	ret = write((int) (ptrdiff_t) context, &buffer[0], len);
 	if (ret < 0) xmlIOErr(0, "write()");
     }
     return(ret);
@@ -865,7 +769,7 @@
 static int
 xmlFdClose (void * context) {
     int ret;
-    ret = close((int) (long) context);
+    ret = close((int) (ptrdiff_t) context);
     if (ret < 0) xmlIOErr(0, "close()");
     return(ret);
 }
@@ -926,11 +830,14 @@
 #endif
     }
 
+    /* Do not check DDNAME on zOS ! */
+#if !defined(__MVS__)
     if (!xmlCheckFilename(path))
         return(NULL);
+#endif
 
 #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-    fd = xmlWrapOpen(path, 0);
+    fd = xmlWrapOpenUtf8(path, 0);
 #else
     fd = fopen(path, "r");
 #endif /* WIN32 */
@@ -1003,12 +910,14 @@
 	return(NULL);
 
 #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-    fd = xmlWrapOpen(path, 1);
+    fd = xmlWrapOpenUtf8(path, 1);
+#elif(__MVS__)
+    fd = fopen(path, "w");
 #else
-	   fd = fopen(path, "wb");
+    fd = fopen(path, "wb");
 #endif /* WIN32 */
 
-	 if (fd == NULL) xmlIOErr(0, path);
+    if (fd == NULL) xmlIOErr(0, path);
     return((void *) fd);
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
@@ -1129,7 +1038,7 @@
 }
 #endif
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 /************************************************************************
  *									*
  *		I/O for compressed file accesses			*
@@ -1193,7 +1102,7 @@
         return(NULL);
 
 #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-    fd = xmlWrapGzOpen(path, "rb");
+    fd = xmlWrapGzOpenUtf8(path, "rb");
 #else
     fd = gzopen(path, "rb");
 #endif
@@ -1270,7 +1179,7 @@
 	return(NULL);
 
 #if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-    fd = xmlWrapGzOpen(path, mode);
+    fd = xmlWrapGzOpenUtf8(path, mode);
 #else
     fd = gzopen(path, mode);
 #endif
@@ -1286,7 +1195,7 @@
  *
  * Read @len bytes to @buffer from the compressed I/O channel.
  *
- * Returns the number of bytes written
+ * Returns the number of bytes read.
  */
 static int
 xmlGzfileRead (void * context, char * buffer, int len) {
@@ -1332,7 +1241,7 @@
     if (ret < 0) xmlIOErr(0, "gzclose()");
     return(ret);
 }
-#endif /* HAVE_ZLIB_H */
+#endif /* LIBXML_ZLIB_ENABLED */
 
 #ifdef LIBXML_LZMA_ENABLED
 /************************************************************************
@@ -1471,7 +1380,7 @@
 
 } xmlIOHTTPWriteCtxt, *xmlIOHTTPWriteCtxtPtr;
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 
 #define DFLT_WBITS		( -15 )
 #define DFLT_MEM_LVL		( 8 )
@@ -1674,7 +1583,7 @@
 	xmlStrPrintf(msg, 500,
 		    "xmlZMemBuffExtend:  %s %lu bytes.\n",
 		    "Allocation failure extending output buffer to",
-		    new_size );
+		    (unsigned long) new_size );
 	xmlIOErr(XML_IO_WRITE, (const char *) msg);
     }
 
@@ -1799,7 +1708,7 @@
     return ( zlgth );
 }
 #endif /* LIBXML_OUTPUT_ENABLED */
-#endif  /*  HAVE_ZLIB_H  */
+#endif  /*  LIBXML_ZLIB_ENABLED  */
 
 #ifdef LIBXML_OUTPUT_ENABLED
 /**
@@ -1818,7 +1727,7 @@
 
     if ( ctxt->doc_buff != NULL ) {
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 	if ( ctxt->compression > 0 ) {
 	    xmlFreeZMemBuff( ctxt->doc_buff );
 	}
@@ -1876,7 +1785,7 @@
  */
 
 void *
-xmlIOHTTPOpenW(const char *post_uri, int compression)
+xmlIOHTTPOpenW(const char *post_uri, int compression ATTRIBUTE_UNUSED)
 {
 
     xmlIOHTTPWriteCtxtPtr ctxt = NULL;
@@ -1905,7 +1814,7 @@
      * **  is being used to avoid pushing the data to disk and back.
      */
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     if ((compression > 0) && (compression <= 9)) {
 
         ctxt->compression = compression;
@@ -1985,7 +1894,7 @@
 
 	/*  Use gzwrite or fwrite as previously setup in the open call  */
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 	if ( ctxt->compression > 0 )
 	    len = xmlZMemBuffAppend( ctxt->doc_buff, buffer, len );
 
@@ -2049,7 +1958,7 @@
 
     /*  Retrieve the content from the appropriate buffer  */
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 
     if ( ctxt->compression > 0 ) {
 	content_lgth = xmlZMemBuffGetContent( ctxt->doc_buff, &http_content );
@@ -2318,16 +2227,12 @@
     if (xmlInputCallbackInitialized)
 	return;
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-    xmlInitPlatformSpecificIo();
-#endif
-
     xmlRegisterInputCallbacks(xmlFileMatch, xmlFileOpen,
 	                      xmlFileRead, xmlFileClose);
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     xmlRegisterInputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
 	                      xmlGzfileRead, xmlGzfileClose);
-#endif /* HAVE_ZLIB_H */
+#endif /* LIBXML_ZLIB_ENABLED */
 #ifdef LIBXML_LZMA_ENABLED
     xmlRegisterInputCallbacks(xmlXzfileMatch, xmlXzfileOpen,
 	                      xmlXzfileRead, xmlXzfileClose);
@@ -2356,10 +2261,6 @@
     if (xmlOutputCallbackInitialized)
 	return;
 
-#if defined(_WIN32) || defined (__DJGPP__) && !defined (__CYGWIN__)
-    xmlInitPlatformSpecificIo();
-#endif
-
     xmlRegisterOutputCallbacks(xmlFileMatch, xmlFileOpenW,
 	                      xmlFileWrite, xmlFileClose);
 
@@ -2373,7 +2274,7 @@
  uncompressed ones except opening if existing then closing
  and saving with same compression ratio ... a pain.
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     xmlRegisterOutputCallbacks(xmlGzfileMatch, xmlGzfileOpen,
 	                       xmlGzfileWrite, xmlGzfileClose);
 #endif
@@ -2663,7 +2564,7 @@
 	ret->context = context;
 	ret->readcallback = xmlInputCallbackTable[i].readcallback;
 	ret->closecallback = xmlInputCallbackTable[i].closecallback;
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 	if ((xmlInputCallbackTable[i].opencallback == xmlGzfileOpen) &&
 		(strcmp(URI, "-") != 0)) {
 #if defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1230
@@ -2727,7 +2628,7 @@
     int i = 0;
     void *context = NULL;
     char *unescaped = NULL;
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     int is_file_uri = 1;
 #endif
 
@@ -2738,7 +2639,7 @@
 
     puri = xmlParseURI(URI);
     if (puri != NULL) {
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
         if ((puri->scheme != NULL) &&
 	    (!xmlStrEqual(BAD_CAST puri->scheme, BAD_CAST "file")))
 	    is_file_uri = 0;
@@ -2758,7 +2659,7 @@
      * try with an unescaped version of the URI
      */
     if (unescaped != NULL) {
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 	if ((compression > 0) && (compression <= 9) && (is_file_uri == 1)) {
 	    context = xmlGzfileOpenW(unescaped, compression);
 	    if (context != NULL) {
@@ -2776,7 +2677,7 @@
 	for (i = xmlOutputCallbackNr - 1;i >= 0;i--) {
 	    if ((xmlOutputCallbackTable[i].matchcallback != NULL) &&
 		(xmlOutputCallbackTable[i].matchcallback(unescaped) != 0)) {
-#if defined(LIBXML_HTTP_ENABLED) && defined(HAVE_ZLIB_H)
+#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_ZLIB_ENABLED)
 		/*  Need to pass compression parameter into HTTP open calls  */
 		if (xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch)
 		    context = xmlIOHTTPOpenW(unescaped, compression);
@@ -2795,7 +2696,7 @@
      * filename
      */
     if (context == NULL) {
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 	if ((compression > 0) && (compression <= 9) && (is_file_uri == 1)) {
 	    context = xmlGzfileOpenW(URI, compression);
 	    if (context != NULL) {
@@ -2812,7 +2713,7 @@
 	for (i = xmlOutputCallbackNr - 1;i >= 0;i--) {
 	    if ((xmlOutputCallbackTable[i].matchcallback != NULL) &&
 		(xmlOutputCallbackTable[i].matchcallback(URI) != 0)) {
-#if defined(LIBXML_HTTP_ENABLED) && defined(HAVE_ZLIB_H)
+#if defined(LIBXML_HTTP_ENABLED) && defined(LIBXML_ZLIB_ENABLED)
 		/*  Need to pass compression parameter into HTTP open calls  */
 		if (xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch)
 		    context = xmlIOHTTPOpenW(URI, compression);
@@ -2942,10 +2843,8 @@
 
     if (buffer == NULL) return(NULL);
 
-    ret = xmlOutputBufferCreateIO((xmlOutputWriteCallback)
-                                  xmlBufferWrite,
-                                  (xmlOutputCloseCallback)
-                                  NULL, (void *) buffer, encoder);
+    ret = xmlOutputBufferCreateIO(xmlBufferWrite, NULL, (void *) buffer,
+                                  encoder);
 
     return(ret);
 }
@@ -3003,7 +2902,7 @@
 
     ret = xmlAllocParserInputBuffer(enc);
     if (ret != NULL) {
-        ret->context = (void *) (long) fd;
+        ret->context = (void *) (ptrdiff_t) fd;
 	ret->readcallback = xmlFdRead;
 	ret->closecallback = xmlFdClose;
     }
@@ -3027,13 +2926,13 @@
     xmlParserInputBufferPtr ret;
     int errcode;
 
-    if (size <= 0) return(NULL);
+    if (size < 0) return(NULL);
     if (mem == NULL) return(NULL);
 
     ret = xmlAllocParserInputBuffer(enc);
     if (ret != NULL) {
         ret->context = (void *) mem;
-	ret->readcallback = (xmlInputReadCallback) xmlNop;
+	ret->readcallback = xmlInputReadCallbackNop;
 	ret->closecallback = NULL;
 	errcode = xmlBufAdd(ret->buffer, (const xmlChar *) mem, size);
 	if (errcode != 0) {
@@ -3063,7 +2962,7 @@
                                  xmlCharEncoding enc) {
     xmlParserInputBufferPtr ret;
 
-    if (size <= 0) return(NULL);
+    if (size < 0) return(NULL);
     if (mem == NULL) return(NULL);
 
     ret = (xmlParserInputBufferPtr) xmlMalloc(sizeof(xmlParserInputBuffer));
@@ -3109,7 +3008,7 @@
 
     ret = xmlAllocOutputBufferInternal(encoder);
     if (ret != NULL) {
-        ret->context = (void *) (long) fd;
+        ret->context = (void *) (ptrdiff_t) fd;
 	ret->writecallback = xmlFdWrite;
 	ret->closecallback = NULL;
     }
@@ -3258,7 +3157,7 @@
 	 * convert as much as possible to the parser reading buffer.
 	 */
 	use = xmlBufUse(in->raw);
-	nbchars = xmlCharEncInput(in, 1);
+	nbchars = xmlCharEncInput(in, 0);
 	if (nbchars < 0) {
 	    xmlIOErr(XML_IO_ENCODER, NULL);
 	    in->error = XML_IO_ENCODER;
@@ -3374,7 +3273,7 @@
 	 * convert as much as possible to the parser reading buffer.
 	 */
 	use = xmlBufUse(in->raw);
-	nbchars = xmlCharEncInput(in, 1);
+	nbchars = xmlCharEncInput(in, 0);
 	if (nbchars < 0) {
 	    xmlIOErr(XML_IO_ENCODER, NULL);
 	    in->error = XML_IO_ENCODER;
@@ -3823,7 +3722,7 @@
 
     if (filename == NULL) return(NULL);
 
-#if defined(WIN32) && !defined(__CYGWIN__)
+#if defined(_WIN32) && !defined(__CYGWIN__)
 #   define IS_XMLPGD_SEP(ch) ((ch=='/')||(ch=='\\'))
 #else
 #   define IS_XMLPGD_SEP(ch) (ch=='/')
diff --git a/xmlcatalog.c b/xmlcatalog.c
index 006f0cc..c02b97f 100644
--- a/xmlcatalog.c
+++ b/xmlcatalog.c
@@ -312,7 +312,8 @@
     /* split into 2 printf's to avoid overly long string (gcc warning) */
     printf("\
 Usage : %s [options] catalogfile entities...\n\
-\tParse the catalog file and query it for the entities\n\
+\tParse the catalog file (void specification possibly expressed as \"\"\n\
+\tappoints the default system one) and query it for the entities\n\
 \t--sgml : handle SGML Super catalogs for --add and --del\n\
 \t--shell : run a shell allowing interactive queries\n\
 \t--create : create a new catalog\n\
@@ -408,11 +409,18 @@
 	    continue;
 	} else if (argv[i][0] == '-')
 	    continue;
-	filename = argv[i];
+
+	if (filename == NULL && argv[i][0] == '\0') {
+	    /* Interpret empty-string catalog specification as
+	       a shortcut for a default system catalog. */
+	    xmlInitializeCatalog();
+	} else {
+	    filename = argv[i];
 	    ret = xmlLoadCatalog(argv[i]);
 	    if ((ret < 0) && (create)) {
 		xmlCatalogAdd(BAD_CAST "catalog", BAD_CAST argv[i], NULL);
 	    }
+	}
 	break;
     }
 
diff --git a/xmllint.c b/xmllint.c
index 67f7adb..6512540 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -12,14 +12,6 @@
 #include <stdarg.h>
 #include <assert.h>
 
-#if defined (_WIN32) && !defined(__CYGWIN__)
-#if defined (_MSC_VER) || defined(__BORLANDC__)
-#include <winsock2.h>
-#pragma comment(lib, "ws2_32.lib")
-#define gettimeofday(p1,p2)
-#endif /* _MSC_VER */
-#endif /* _WIN32 */
-
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif
@@ -27,14 +19,6 @@
 #include <time.h>
 #endif
 
-#ifdef __MINGW32__
-#define _WINSOCKAPI_
-#include <wsockcompat.h>
-#include <winsock2.h>
-#undef XML_SOCKLEN_T
-#define XML_SOCKLEN_T unsigned int
-#endif
-
 #ifdef HAVE_SYS_TIMEB_H
 #include <sys/timeb.h>
 #endif
@@ -830,13 +814,14 @@
  *									*
  ************************************************************************/
 
-static int myRead(FILE *f, char * buf, int len) {
-    return(fread(buf, 1, len, f));
+static int myRead(void *f, char *buf, int len) {
+    return(fread(buf, 1, len, (FILE *) f));
 }
-static void myClose(FILE *f) {
-  if (f != stdin) {
-    fclose(f);
-  }
+static int myClose(void *context) {
+    FILE *f = (FILE *) context;
+    if (f == stdin)
+        return(0);
+    return(fclose(f));
 }
 
 /************************************************************************
@@ -2319,14 +2304,11 @@
 #endif
 		if (f != NULL) {
 		    if (rectxt == NULL)
-			doc = xmlReadIO((xmlInputReadCallback) myRead,
-					(xmlInputCloseCallback) myClose, f,
-					filename, NULL, options);
+			doc = xmlReadIO(myRead, myClose, f, filename, NULL,
+                                        options);
 		    else
-			doc = xmlCtxtReadIO(rectxt,
-			                (xmlInputReadCallback) myRead,
-					(xmlInputCloseCallback) myClose, f,
-					filename, NULL, options);
+			doc = xmlCtxtReadIO(rectxt, myRead, myClose, f,
+					    filename, NULL, options);
 		} else
 		    doc = NULL;
 	    }
@@ -2991,124 +2973,124 @@
     fprintf(stderr, "\n");
 }
 
-static void usage(const char *name) {
-    printf("Usage : %s [options] XMLfiles ...\n", name);
+static void usage(FILE *f, const char *name) {
+    fprintf(f, "Usage : %s [options] XMLfiles ...\n", name);
 #ifdef LIBXML_OUTPUT_ENABLED
-    printf("\tParse the XML files and output the result of the parsing\n");
+    fprintf(f, "\tParse the XML files and output the result of the parsing\n");
 #else
-    printf("\tParse the XML files\n");
+    fprintf(f, "\tParse the XML files\n");
 #endif /* LIBXML_OUTPUT_ENABLED */
-    printf("\t--version : display the version of the XML library used\n");
+    fprintf(f, "\t--version : display the version of the XML library used\n");
 #ifdef LIBXML_DEBUG_ENABLED
-    printf("\t--debug : dump a debug tree of the in-memory document\n");
-    printf("\t--shell : run a navigating shell\n");
-    printf("\t--debugent : debug the entities defined in the document\n");
+    fprintf(f, "\t--debug : dump a debug tree of the in-memory document\n");
+    fprintf(f, "\t--shell : run a navigating shell\n");
+    fprintf(f, "\t--debugent : debug the entities defined in the document\n");
 #else
 #ifdef LIBXML_READER_ENABLED
-    printf("\t--debug : dump the nodes content when using --stream\n");
+    fprintf(f, "\t--debug : dump the nodes content when using --stream\n");
 #endif /* LIBXML_READER_ENABLED */
 #endif
 #ifdef LIBXML_TREE_ENABLED
-    printf("\t--copy : used to test the internal copy implementation\n");
+    fprintf(f, "\t--copy : used to test the internal copy implementation\n");
 #endif /* LIBXML_TREE_ENABLED */
-    printf("\t--recover : output what was parsable on broken XML documents\n");
-    printf("\t--huge : remove any internal arbitrary parser limits\n");
-    printf("\t--noent : substitute entity references by their value\n");
-    printf("\t--noenc : ignore any encoding specified inside the document\n");
-    printf("\t--noout : don't output the result tree\n");
-    printf("\t--path 'paths': provide a set of paths for resources\n");
-    printf("\t--load-trace : print trace of all external entities loaded\n");
-    printf("\t--nonet : refuse to fetch DTDs or entities over network\n");
-    printf("\t--nocompact : do not generate compact text nodes\n");
-    printf("\t--htmlout : output results as HTML\n");
-    printf("\t--nowrap : do not put HTML doc wrapper\n");
+    fprintf(f, "\t--recover : output what was parsable on broken XML documents\n");
+    fprintf(f, "\t--huge : remove any internal arbitrary parser limits\n");
+    fprintf(f, "\t--noent : substitute entity references by their value\n");
+    fprintf(f, "\t--noenc : ignore any encoding specified inside the document\n");
+    fprintf(f, "\t--noout : don't output the result tree\n");
+    fprintf(f, "\t--path 'paths': provide a set of paths for resources\n");
+    fprintf(f, "\t--load-trace : print trace of all external entities loaded\n");
+    fprintf(f, "\t--nonet : refuse to fetch DTDs or entities over network\n");
+    fprintf(f, "\t--nocompact : do not generate compact text nodes\n");
+    fprintf(f, "\t--htmlout : output results as HTML\n");
+    fprintf(f, "\t--nowrap : do not put HTML doc wrapper\n");
 #ifdef LIBXML_VALID_ENABLED
-    printf("\t--valid : validate the document in addition to std well-formed check\n");
-    printf("\t--postvalid : do a posteriori validation, i.e after parsing\n");
-    printf("\t--dtdvalid URL : do a posteriori validation against a given DTD\n");
-    printf("\t--dtdvalidfpi FPI : same but name the DTD with a Public Identifier\n");
+    fprintf(f, "\t--valid : validate the document in addition to std well-formed check\n");
+    fprintf(f, "\t--postvalid : do a posteriori validation, i.e after parsing\n");
+    fprintf(f, "\t--dtdvalid URL : do a posteriori validation against a given DTD\n");
+    fprintf(f, "\t--dtdvalidfpi FPI : same but name the DTD with a Public Identifier\n");
 #endif /* LIBXML_VALID_ENABLED */
-    printf("\t--timing : print some timings\n");
-    printf("\t--output file or -o file: save to a given file\n");
-    printf("\t--repeat : repeat 100 times, for timing or profiling\n");
-    printf("\t--insert : ad-hoc test for valid insertions\n");
+    fprintf(f, "\t--timing : print some timings\n");
+    fprintf(f, "\t--output file or -o file: save to a given file\n");
+    fprintf(f, "\t--repeat : repeat 100 times, for timing or profiling\n");
+    fprintf(f, "\t--insert : ad-hoc test for valid insertions\n");
 #ifdef LIBXML_OUTPUT_ENABLED
-#ifdef HAVE_ZLIB_H
-    printf("\t--compress : turn on gzip compression of output\n");
+#ifdef LIBXML_ZLIB_ENABLED
+    fprintf(f, "\t--compress : turn on gzip compression of output\n");
 #endif
 #endif /* LIBXML_OUTPUT_ENABLED */
 #ifdef LIBXML_HTML_ENABLED
-    printf("\t--html : use the HTML parser\n");
-    printf("\t--xmlout : force to use the XML serializer when using --html\n");
-    printf("\t--nodefdtd : do not default HTML doctype\n");
+    fprintf(f, "\t--html : use the HTML parser\n");
+    fprintf(f, "\t--xmlout : force to use the XML serializer when using --html\n");
+    fprintf(f, "\t--nodefdtd : do not default HTML doctype\n");
 #endif
 #ifdef LIBXML_PUSH_ENABLED
-    printf("\t--push : use the push mode of the parser\n");
-    printf("\t--pushsmall : use the push mode of the parser using tiny increments\n");
+    fprintf(f, "\t--push : use the push mode of the parser\n");
+    fprintf(f, "\t--pushsmall : use the push mode of the parser using tiny increments\n");
 #endif /* LIBXML_PUSH_ENABLED */
 #ifdef HAVE_MMAP
-    printf("\t--memory : parse from memory\n");
+    fprintf(f, "\t--memory : parse from memory\n");
 #endif
-    printf("\t--maxmem nbbytes : limits memory allocation to nbbytes bytes\n");
-    printf("\t--nowarning : do not emit warnings from parser/validator\n");
-    printf("\t--noblanks : drop (ignorable?) blanks spaces\n");
-    printf("\t--nocdata : replace cdata section with text nodes\n");
+    fprintf(f, "\t--maxmem nbbytes : limits memory allocation to nbbytes bytes\n");
+    fprintf(f, "\t--nowarning : do not emit warnings from parser/validator\n");
+    fprintf(f, "\t--noblanks : drop (ignorable?) blanks spaces\n");
+    fprintf(f, "\t--nocdata : replace cdata section with text nodes\n");
 #ifdef LIBXML_OUTPUT_ENABLED
-    printf("\t--format : reformat/reindent the output\n");
-    printf("\t--encode encoding : output in the given encoding\n");
-    printf("\t--dropdtd : remove the DOCTYPE of the input docs\n");
-    printf("\t--pretty STYLE : pretty-print in a particular style\n");
-    printf("\t                 0 Do not pretty print\n");
-    printf("\t                 1 Format the XML content, as --format\n");
-    printf("\t                 2 Add whitespace inside tags, preserving content\n");
+    fprintf(f, "\t--format : reformat/reindent the output\n");
+    fprintf(f, "\t--encode encoding : output in the given encoding\n");
+    fprintf(f, "\t--dropdtd : remove the DOCTYPE of the input docs\n");
+    fprintf(f, "\t--pretty STYLE : pretty-print in a particular style\n");
+    fprintf(f, "\t                 0 Do not pretty print\n");
+    fprintf(f, "\t                 1 Format the XML content, as --format\n");
+    fprintf(f, "\t                 2 Add whitespace inside tags, preserving content\n");
 #endif /* LIBXML_OUTPUT_ENABLED */
-    printf("\t--c14n : save in W3C canonical format v1.0 (with comments)\n");
-    printf("\t--c14n11 : save in W3C canonical format v1.1 (with comments)\n");
-    printf("\t--exc-c14n : save in W3C exclusive canonical format (with comments)\n");
+    fprintf(f, "\t--c14n : save in W3C canonical format v1.0 (with comments)\n");
+    fprintf(f, "\t--c14n11 : save in W3C canonical format v1.1 (with comments)\n");
+    fprintf(f, "\t--exc-c14n : save in W3C exclusive canonical format (with comments)\n");
 #ifdef LIBXML_C14N_ENABLED
 #endif /* LIBXML_C14N_ENABLED */
-    printf("\t--nsclean : remove redundant namespace declarations\n");
-    printf("\t--testIO : test user I/O support\n");
+    fprintf(f, "\t--nsclean : remove redundant namespace declarations\n");
+    fprintf(f, "\t--testIO : test user I/O support\n");
 #ifdef LIBXML_CATALOG_ENABLED
-    printf("\t--catalogs : use SGML catalogs from $SGML_CATALOG_FILES\n");
-    printf("\t             otherwise XML Catalogs starting from \n");
-    printf("\t         %s are activated by default\n", XML_XML_DEFAULT_CATALOG);
-    printf("\t--nocatalogs: deactivate all catalogs\n");
+    fprintf(f, "\t--catalogs : use SGML catalogs from $SGML_CATALOG_FILES\n");
+    fprintf(f, "\t             otherwise XML Catalogs starting from \n");
+    fprintf(f, "\t         %s are activated by default\n", XML_XML_DEFAULT_CATALOG);
+    fprintf(f, "\t--nocatalogs: deactivate all catalogs\n");
 #endif
-    printf("\t--auto : generate a small doc on the fly\n");
+    fprintf(f, "\t--auto : generate a small doc on the fly\n");
 #ifdef LIBXML_XINCLUDE_ENABLED
-    printf("\t--xinclude : do XInclude processing\n");
-    printf("\t--noxincludenode : same but do not generate XInclude nodes\n");
-    printf("\t--nofixup-base-uris : do not fixup xml:base uris\n");
+    fprintf(f, "\t--xinclude : do XInclude processing\n");
+    fprintf(f, "\t--noxincludenode : same but do not generate XInclude nodes\n");
+    fprintf(f, "\t--nofixup-base-uris : do not fixup xml:base uris\n");
 #endif
-    printf("\t--loaddtd : fetch external DTD\n");
-    printf("\t--dtdattr : loaddtd + populate the tree with inherited attributes \n");
+    fprintf(f, "\t--loaddtd : fetch external DTD\n");
+    fprintf(f, "\t--dtdattr : loaddtd + populate the tree with inherited attributes \n");
 #ifdef LIBXML_READER_ENABLED
-    printf("\t--stream : use the streaming interface to process very large files\n");
-    printf("\t--walker : create a reader and walk though the resulting doc\n");
+    fprintf(f, "\t--stream : use the streaming interface to process very large files\n");
+    fprintf(f, "\t--walker : create a reader and walk though the resulting doc\n");
 #endif /* LIBXML_READER_ENABLED */
 #ifdef LIBXML_PATTERN_ENABLED
-    printf("\t--pattern pattern_value : test the pattern support\n");
+    fprintf(f, "\t--pattern pattern_value : test the pattern support\n");
 #endif
-    printf("\t--chkregister : verify the node registration code\n");
+    fprintf(f, "\t--chkregister : verify the node registration code\n");
 #ifdef LIBXML_SCHEMAS_ENABLED
-    printf("\t--relaxng schema : do RelaxNG validation against the schema\n");
-    printf("\t--schema schema : do validation against the WXS schema\n");
+    fprintf(f, "\t--relaxng schema : do RelaxNG validation against the schema\n");
+    fprintf(f, "\t--schema schema : do validation against the WXS schema\n");
 #endif
 #ifdef LIBXML_SCHEMATRON_ENABLED
-    printf("\t--schematron schema : do validation against a schematron\n");
+    fprintf(f, "\t--schematron schema : do validation against a schematron\n");
 #endif
 #ifdef LIBXML_SAX1_ENABLED
-    printf("\t--sax1: use the old SAX1 interfaces for processing\n");
+    fprintf(f, "\t--sax1: use the old SAX1 interfaces for processing\n");
 #endif
-    printf("\t--sax: do not build a tree but work just at the SAX level\n");
-    printf("\t--oldxml10: use XML-1.0 parsing rules before the 5th edition\n");
+    fprintf(f, "\t--sax: do not build a tree but work just at the SAX level\n");
+    fprintf(f, "\t--oldxml10: use XML-1.0 parsing rules before the 5th edition\n");
 #ifdef LIBXML_XPATH_ENABLED
-    printf("\t--xpath expr: evaluate the XPath expression, imply --noout\n");
+    fprintf(f, "\t--xpath expr: evaluate the XPath expression, imply --noout\n");
 #endif
 
-    printf("\nLibxml project home page: http://xmlsoft.org/\n");
-    printf("To report bugs or get some help check: http://xmlsoft.org/bugs.html\n");
+    fprintf(f, "\nLibxml project home page: http://xmlsoft.org/\n");
+    fprintf(f, "To report bugs or get some help check: http://xmlsoft.org/bugs.html\n");
 }
 
 static void registerNode(xmlNodePtr node)
@@ -3138,7 +3120,7 @@
     const char* indent;
 
     if (argc <= 1) {
-	usage(argv[0]);
+	usage(stderr, argv[0]);
 	return(1);
     }
     LIBXML_TEST_VERSION
@@ -3313,7 +3295,7 @@
 	}
 #endif
 #ifdef LIBXML_OUTPUT_ENABLED
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 	else if ((!strcmp(argv[i], "-compress")) ||
 	         (!strcmp(argv[i], "--compress"))) {
 	    compress++;
@@ -3490,7 +3472,7 @@
 	    options |= XML_PARSE_OLD10;
 	} else {
 	    fprintf(stderr, "Unknown option %s\n", argv[i]);
-	    usage(argv[0]);
+	    usage(stderr, argv[0]);
 	    return(1);
 	}
     }
@@ -3784,7 +3766,7 @@
 	xmlGenericError(xmlGenericErrorContext, "</body></html>\n");
     }
     if ((files == 0) && (!generate) && (version == 0)) {
-	usage(argv[0]);
+	usage(stderr, argv[0]);
     }
 #ifdef LIBXML_SCHEMATRON_ENABLED
     if (wxschematron != NULL)
diff --git a/xmlmemory.c b/xmlmemory.c
index f08c8c3..6f16c4b 100644
--- a/xmlmemory.c
+++ b/xmlmemory.c
@@ -111,7 +111,7 @@
 
 #define MAX_SIZE_T ((size_t)-1)
 
-#define CLIENT_2_HDR(a) ((MEMHDR *) (((char *) (a)) - RESERVE_SIZE))
+#define CLIENT_2_HDR(a) ((void *) (((char *) (a)) - RESERVE_SIZE))
 #define HDR_2_CLIENT(a)    ((void *) (((char *) (a)) + RESERVE_SIZE))
 
 
@@ -172,6 +172,13 @@
 
     TEST_POINT
 
+    if (size > (MAX_SIZE_T - RESERVE_SIZE)) {
+	xmlGenericError(xmlGenericErrorContext,
+		"xmlMallocLoc : Unsigned overflow\n");
+	xmlMemoryDump();
+	return(NULL);
+    }
+
     p = (MEMHDR *) malloc(RESERVE_SIZE+size);
 
     if (!p) {
@@ -243,7 +250,7 @@
 
     if (size > (MAX_SIZE_T - RESERVE_SIZE)) {
 	xmlGenericError(xmlGenericErrorContext,
-		"xmlMallocAtomicLoc : Unsigned overflow prevented\n");
+		"xmlMallocAtomicLoc : Unsigned overflow\n");
 	xmlMemoryDump();
 	return(NULL);
     }
@@ -352,6 +359,13 @@
 #endif
     xmlMutexUnlock(xmlMemMutex);
 
+    if (size > (MAX_SIZE_T - RESERVE_SIZE)) {
+	xmlGenericError(xmlGenericErrorContext,
+		"xmlReallocLoc : Unsigned overflow\n");
+	xmlMemoryDump();
+	return(NULL);
+    }
+
     tmp = (MEMHDR *) realloc(p,RESERVE_SIZE+size);
     if (!tmp) {
 	 free(p);
@@ -473,7 +487,7 @@
 
 error:
     xmlGenericError(xmlGenericErrorContext,
-	    "xmlMemFree(%lX) error\n", (unsigned long) ptr);
+	    "xmlMemFree(%p) error\n", ptr);
     xmlMallocBreakpoint();
     return;
 }
@@ -499,6 +513,13 @@
     if (!xmlMemInitialized) xmlInitMemory();
     TEST_POINT
 
+    if (size > (MAX_SIZE_T - RESERVE_SIZE)) {
+	xmlGenericError(xmlGenericErrorContext,
+		"xmlMemStrdupLoc : Unsigned overflow\n");
+	xmlMemoryDump();
+	return(NULL);
+    }
+
     p = (MEMHDR *) malloc(RESERVE_SIZE+size);
     if (!p) {
       goto error;
diff --git a/xmlmodule.c b/xmlmodule.c
index 50ed666..a95ab66 100644
--- a/xmlmodule.c
+++ b/xmlmodule.c
@@ -8,6 +8,11 @@
  * http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
  */
 
+/* In order RTLD_GLOBAL and RTLD_NOW to be defined on zOS */
+#if defined(__MVS__)
+#define _UNIX03_SOURCE
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
@@ -296,8 +301,9 @@
 #endif /* HAVE_SHLLOAD */
 #endif /* ! HAVE_DLOPEN */
 
-#ifdef _WIN32
+#if defined(_WIN32) && !defined(__CYGWIN__)
 
+#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
 /*
@@ -334,6 +340,7 @@
 static int
 xmlModulePlatformSymbol(void *handle, const char *name, void **symbol)
 {
+XML_IGNORE_PEDANTIC_WARNINGS
 #ifdef _WIN32_WCE
     /*
      * GetProcAddressA seems only available on WinCE
@@ -343,6 +350,7 @@
     *symbol = GetProcAddress(handle, name);
 #endif
     return (NULL == *symbol) ? -1 : 0;
+XML_POP_WARNINGS
 }
 
 #endif /* _WIN32 */
diff --git a/xmlreader.c b/xmlreader.c
index f285790..4053269 100644
--- a/xmlreader.c
+++ b/xmlreader.c
@@ -491,6 +491,11 @@
     }
 }
 
+static void
+xmlTextReaderFreeIDTableEntry(void *id, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlFreeID((xmlIDPtr) id);
+}
+
 /**
  * xmlTextReaderFreeIDTable:
  * @table:  An id table
@@ -499,7 +504,7 @@
  */
 static void
 xmlTextReaderFreeIDTable(xmlIDTablePtr table) {
-    xmlHashFree(table, (xmlHashDeallocator) xmlFreeID);
+    xmlHashFree(table, xmlTextReaderFreeIDTableEntry);
 }
 
 /**
@@ -3982,7 +3987,7 @@
  * pattern. The caller must also use xmlTextReaderCurrentDoc() to
  * keep an handle on the resulting document once parsing has finished
  *
- * Returns a positive number in case of success and -1 in case of error
+ * Returns a non-negative number in case of success and -1 in case of error
  */
 int
 xmlTextReaderPreservePattern(xmlTextReaderPtr reader, const xmlChar *pattern,
diff --git a/xmlregexp.c b/xmlregexp.c
index ca3b4f4..d255fbf 100644
--- a/xmlregexp.c
+++ b/xmlregexp.c
@@ -2810,18 +2810,21 @@
 	    break;
         case XML_REGEXP_NOTSPACE:
 	    neg = !neg;
+            /* Falls through. */
         case XML_REGEXP_ANYSPACE:
 	    ret = ((codepoint == '\n') || (codepoint == '\r') ||
 		   (codepoint == '\t') || (codepoint == ' '));
 	    break;
         case XML_REGEXP_NOTINITNAME:
 	    neg = !neg;
+            /* Falls through. */
         case XML_REGEXP_INITNAME:
 	    ret = (IS_LETTER(codepoint) ||
 		   (codepoint == '_') || (codepoint == ':'));
 	    break;
         case XML_REGEXP_NOTNAMECHAR:
 	    neg = !neg;
+            /* Falls through. */
         case XML_REGEXP_NAMECHAR:
 	    ret = (IS_LETTER(codepoint) || IS_DIGIT(codepoint) ||
 		   (codepoint == '.') || (codepoint == '-') ||
@@ -2830,11 +2833,13 @@
 	    break;
         case XML_REGEXP_NOTDECIMAL:
 	    neg = !neg;
+            /* Falls through. */
         case XML_REGEXP_DECIMAL:
 	    ret = xmlUCSIsCatNd(codepoint);
 	    break;
         case XML_REGEXP_REALCHAR:
 	    neg = !neg;
+            /* Falls through. */
         case XML_REGEXP_NOTREALCHAR:
 	    ret = xmlUCSIsCatP(codepoint);
 	    if (ret == 0)
@@ -4089,8 +4094,9 @@
 		    xmlFree(exec->errString);
 		exec->errString = xmlStrdup(value);
 		exec->errState = exec->state;
-		memcpy(exec->errCounts, exec->counts,
-		       exec->comp->nbCounters * sizeof(int));
+                if (exec->comp->nbCounters)
+                    memcpy(exec->errCounts, exec->counts,
+                           exec->comp->nbCounters * sizeof(int));
 	    }
 
 	    /*
@@ -4880,7 +4886,8 @@
 	}
 	NEXT;
 	xmlFAParseCharProp(ctxt);
-	ctxt->atom->neg = 1;
+        if (ctxt->atom != NULL)
+	    ctxt->atom->neg = 1;
 	if (CUR != '}') {
 	    ERROR("Expecting '}'");
 	    return;
@@ -5051,7 +5058,7 @@
 		return;
 	}
         len = 1;
-    } else if ((cur != 0x5B) && (cur != 0x5D)) {
+    } else if ((cur != '\0') && (cur != 0x5B) && (cur != 0x5D)) {
         end = CUR_SCHAR(ctxt->cur, len);
     } else {
 	ERROR("Expecting the end of a char range");
diff --git a/xmlsave.c b/xmlsave.c
index 4a8e3f3..6c7418e 100644
--- a/xmlsave.c
+++ b/xmlsave.c
@@ -1595,31 +1595,31 @@
     if (cur->properties != NULL)
         xhtmlAttrListDumpOutput(ctxt, cur->properties);
 
-	if ((cur->type == XML_ELEMENT_NODE) &&
-		(cur->parent != NULL) &&
-		(cur->parent->parent == (xmlNodePtr) cur->doc) &&
-		xmlStrEqual(cur->name, BAD_CAST"head") &&
-		xmlStrEqual(cur->parent->name, BAD_CAST"html")) {
+    if ((cur->type == XML_ELEMENT_NODE) &&
+        (cur->parent != NULL) &&
+        (cur->parent->parent == (xmlNodePtr) cur->doc) &&
+        xmlStrEqual(cur->name, BAD_CAST"head") &&
+        xmlStrEqual(cur->parent->name, BAD_CAST"html")) {
 
-		tmp = cur->children;
-		while (tmp != NULL) {
-			if (xmlStrEqual(tmp->name, BAD_CAST"meta")) {
-				xmlChar *httpequiv;
+        tmp = cur->children;
+        while (tmp != NULL) {
+            if (xmlStrEqual(tmp->name, BAD_CAST"meta")) {
+                xmlChar *httpequiv;
 
-				httpequiv = xmlGetProp(tmp, BAD_CAST"http-equiv");
-				if (httpequiv != NULL) {
-					if (xmlStrcasecmp(httpequiv, BAD_CAST"Content-Type") == 0) {
-						xmlFree(httpequiv);
-						break;
-					}
-					xmlFree(httpequiv);
-				}
-			}
-			tmp = tmp->next;
-		}
-		if (tmp == NULL)
-			addmeta = 1;
-	}
+                httpequiv = xmlGetProp(tmp, BAD_CAST"http-equiv");
+                if (httpequiv != NULL) {
+                    if (xmlStrcasecmp(httpequiv, BAD_CAST"Content-Type") == 0) {
+                        xmlFree(httpequiv);
+                        break;
+                    }
+                    xmlFree(httpequiv);
+                }
+            }
+            tmp = tmp->next;
+        }
+        if (tmp == NULL)
+            addmeta = 1;
+    }
 
     if ((cur->type == XML_ELEMENT_NODE) && (cur->children == NULL)) {
 	if (((cur->ns == NULL) || (cur->ns->prefix == NULL)) &&
@@ -2109,8 +2109,6 @@
                 xmlBufAdd(buf, base, cur - base);
             if (*cur < 0xC0) {
                 xmlSaveErr(XML_SAVE_NOT_UTF8, (xmlNodePtr) attr, NULL);
-                if (doc != NULL)
-                    doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
 		xmlSerializeHexCharRef(tmp, *cur);
                 xmlBufAdd(buf, (xmlChar *) tmp, -1);
                 cur++;
@@ -2140,9 +2138,6 @@
             }
             if ((l == 1) || (!IS_CHAR(val))) {
                 xmlSaveErr(XML_SAVE_CHAR_INVALID, (xmlNodePtr) attr, NULL);
-                if (doc != NULL)
-                    doc->encoding = xmlStrdup(BAD_CAST "ISO-8859-1");
-
 		xmlSerializeHexCharRef(tmp, *cur);
                 xmlBufAdd(buf, (xmlChar *) tmp, -1);
                 cur++;
@@ -2709,7 +2704,7 @@
 		return(-1);
     }
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     if (cur->compression < 0) cur->compression = xmlGetCompressMode();
 #endif
     /*
diff --git a/xmlschemas.c b/xmlschemas.c
index 7afe2eb..405f72a 100644
--- a/xmlschemas.c
+++ b/xmlschemas.c
@@ -44,6 +44,12 @@
  *     but is done here due to performance. Move it to an other layer
  *     is schema construction via an API is implemented.
  */
+
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
@@ -166,7 +172,7 @@
 /*
 * Macros for attribute uses.
 */
-#define WXS_ATTRUSE_DECL(au) WXS_ATTR_CAST (WXS_ATTR_USE_CAST (au))->attrDecl
+#define WXS_ATTRUSE_DECL(au) (WXS_ATTR_USE_CAST (au))->attrDecl
 
 #define WXS_ATTRUSE_TYPEDEF(au) WXS_ATTR_TYPEDEF(WXS_ATTRUSE_DECL( WXS_ATTR_USE_CAST au))
 
@@ -363,6 +369,7 @@
 typedef xmlSchemaAbstractCtxt *xmlSchemaAbstractCtxtPtr;
 struct _xmlSchemaAbstractCtxt {
     int type; /* E.g. XML_SCHEMA_CTXT_VALIDATOR */
+    void *dummy; /* Fix alignment issues */
 };
 
 typedef struct _xmlSchemaBucket xmlSchemaBucket;
@@ -473,6 +480,7 @@
 typedef xmlSchemaBasicItem *xmlSchemaBasicItemPtr;
 struct _xmlSchemaBasicItem {
     xmlSchemaTypeType type;
+    void *dummy; /* Fix alignment issues */
 };
 
 /**
@@ -1734,6 +1742,7 @@
 		*buf = xmlStrcat(*buf, BAD_CAST "'");
 		FREE_AND_NULL(str);
 	    }
+            /* Falls through. */
 	default:
 	    named = 0;
 	}
@@ -2833,7 +2842,7 @@
     xmlSchemaFormatItemForReport(&des, NULL, ownerItem, ownerElem);
     if (refTypeStr == NULL)
 	refTypeStr = (const char *) xmlSchemaItemTypeToStr(refType);
-	xmlSchemaPErrExt(ctxt, ownerElem, error,
+    xmlSchemaPErrExt(ctxt, ownerElem, error,
 	    NULL, NULL, NULL,
 	    "%s, attribute '%s': The QName value '%s' does not resolve to a(n) "
 	    "%s.\n", BAD_CAST des, BAD_CAST name,
@@ -3556,6 +3565,12 @@
     xmlFree(bucket);
 }
 
+static void
+xmlSchemaBucketFreeEntry(void *bucket, const xmlChar *name ATTRIBUTE_UNUSED)
+{
+    xmlSchemaBucketFree((xmlSchemaBucketPtr) bucket);
+}
+
 static xmlSchemaBucketPtr
 xmlSchemaBucketCreate(xmlSchemaParserCtxtPtr pctxt,
 			 int type, const xmlChar *targetNamespace)
@@ -4150,8 +4165,7 @@
         xmlHashFree(schema->idcDef, NULL);
 
     if (schema->schemasImports != NULL)
-	xmlHashFree(schema->schemasImports,
-		    (xmlHashDeallocator) xmlSchemaBucketFree);
+	xmlHashFree(schema->schemasImports, xmlSchemaBucketFreeEntry);
     if (schema->includes != NULL) {
 	xmlSchemaItemListPtr list = (xmlSchemaItemListPtr) schema->includes;
 	int i;
@@ -4187,11 +4201,13 @@
  * Dump the element
  */
 static void
-xmlSchemaElementDump(xmlSchemaElementPtr elem, FILE * output,
+xmlSchemaElementDump(void *payload, void *data,
                      const xmlChar * name ATTRIBUTE_UNUSED,
 		     const xmlChar * namespace ATTRIBUTE_UNUSED,
                      const xmlChar * context ATTRIBUTE_UNUSED)
 {
+    xmlSchemaElementPtr elem = (xmlSchemaElementPtr) payload;
+    FILE *output = (FILE *) data;
     if (elem == NULL)
         return;
 
@@ -4506,6 +4522,13 @@
 #endif
 }
 
+static void
+xmlSchemaTypeDumpEntry(void *type, void *output,
+                       const xmlChar *name ATTRIBUTE_UNUSED)
+{
+    xmlSchemaTypeDump((xmlSchemaTypePtr) type, (FILE *) output);
+}
+
 /**
  * xmlSchemaDump:
  * @output:  the file output
@@ -4534,10 +4557,8 @@
     fprintf(output, "\n");
     if (schema->annot != NULL)
         xmlSchemaAnnotDump(output, schema->annot);
-    xmlHashScan(schema->typeDecl, (xmlHashScanner) xmlSchemaTypeDump,
-                output);
-    xmlHashScanFull(schema->elemDecl,
-                    (xmlHashScannerFull) xmlSchemaElementDump, output);
+    xmlHashScan(schema->typeDecl, xmlSchemaTypeDumpEntry, output);
+    xmlHashScanFull(schema->elemDecl, xmlSchemaElementDump, output);
 }
 
 #ifdef DEBUG_IDC_NODE_TABLE
@@ -5697,6 +5718,12 @@
     xmlFree(group);
 }
 
+static void
+xmlSchemaSubstGroupFreeEntry(void *group, const xmlChar *name ATTRIBUTE_UNUSED)
+{
+    xmlSchemaSubstGroupFree((xmlSchemaSubstGroupPtr) group);
+}
+
 static xmlSchemaSubstGroupPtr
 xmlSchemaSubstGroupAdd(xmlSchemaParserCtxtPtr pctxt,
 		       xmlSchemaElementPtr head)
@@ -7364,8 +7391,8 @@
 	*/
 	if (defValue != NULL)
 	    use->defValue = defValue;
-	    if (defValueType == WXS_ATTR_DEF_VAL_FIXED)
-		use->flags |= XML_SCHEMA_ATTR_USE_FIXED;
+	if (defValueType == WXS_ATTR_DEF_VAL_FIXED)
+	    use->flags |= XML_SCHEMA_ATTR_USE_FIXED;
     }
 
 check_children:
@@ -9909,8 +9936,7 @@
     if (con->pending != NULL)
 	xmlSchemaItemListFree(con->pending);
     if (con->substGroups != NULL)
-	xmlHashFree(con->substGroups,
-	    (xmlHashDeallocator) xmlSchemaSubstGroupFree);
+	xmlHashFree(con->substGroups, xmlSchemaSubstGroupFreeEntry);
     if (con->redefs != NULL)
 	xmlSchemaRedefListFree(con->redefs);
     if (con->dict != NULL)
@@ -15890,7 +15916,7 @@
  * STATUS: (seems) complete
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckCTPropsCorrect(xmlSchemaParserCtxtPtr pctxt,
@@ -16137,7 +16163,7 @@
  *     (1.4.3.2.2.2) "Particle Valid (Extension)"
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckCOSCTExtends(xmlSchemaParserCtxtPtr ctxt,
@@ -16394,7 +16420,7 @@
  * Validation Rule: Checking complex type subsumption
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckDerivationOKRestriction(xmlSchemaParserCtxtPtr ctxt,
@@ -16584,7 +16610,7 @@
  * (3.4.6) Constraints on Complex Type Definition Schema Components
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckCTComponent(xmlSchemaParserCtxtPtr ctxt,
@@ -16614,7 +16640,7 @@
  * Complex Type Definition Representation OK (src-ct)
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckSRCCT(xmlSchemaParserCtxtPtr ctxt,
@@ -16783,7 +16809,7 @@
  * STATUS: complete
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckParticleRangeOK(int rmin, int rmax,
@@ -16813,7 +16839,7 @@
  *   CLARIFY: (3.2.2)
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckRCaseNameAndTypeOK(xmlSchemaParserCtxtPtr ctxt,
@@ -16918,7 +16944,7 @@
  * STATUS: complete
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckRCaseNSCompat(xmlSchemaParserCtxtPtr ctxt,
@@ -16962,7 +16988,7 @@
  * STATUS: TODO
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckRCaseRecurseAsIfGroup(xmlSchemaParserCtxtPtr ctxt,
@@ -16988,7 +17014,7 @@
  * STATUS: complete
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckRCaseNSSubset(xmlSchemaParserCtxtPtr ctxt,
@@ -17038,7 +17064,7 @@
  * STATUS: TODO
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckCOSParticleRestrict(xmlSchemaParserCtxtPtr ctxt,
@@ -17079,7 +17105,7 @@
  * STATUS: TODO: subst-groups
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckRCaseNSRecurseCheckCardinality(xmlSchemaParserCtxtPtr ctxt,
@@ -17134,7 +17160,7 @@
  * TODO: subst-groups
  *
  * Returns 0 if the constraints are satisfied, a positive
- * error code if not and -1 if an internal error occured.
+ * error code if not and -1 if an internal error occurred.
  */
 static int
 xmlSchemaCheckRCaseRecurse(xmlSchemaParserCtxtPtr ctxt,
@@ -17764,7 +17790,7 @@
     return (0);
 internal_error:
     PERROR_INT("xmlSchemaDeriveAndValidateFacets",
-	"an error occured");
+	"an error occurred");
     return (-1);
 }
 
@@ -21284,8 +21310,7 @@
     con->bucket = oldbucket;
     con->pending->nbItems = 0;
     if (con->substGroups != NULL) {
-	xmlHashFree(con->substGroups,
-	    (xmlHashDeallocator) xmlSchemaSubstGroupFree);
+	xmlHashFree(con->substGroups, xmlSchemaSubstGroupFreeEntry);
 	con->substGroups = NULL;
     }
     if (con->redefs != NULL) {
@@ -21413,7 +21438,7 @@
 	ctxt->ownsConstructor = 0;
     }
     PERROR_INT2("xmlSchemaParse",
-	"An internal error occured");
+	"An internal error occurred");
     ctxt->schema = NULL;
     return(NULL);
 }
@@ -21993,9 +22018,11 @@
  * Returns the item, or NULL on internal errors.
  */
 static void
-xmlSchemaAugmentIDC(xmlSchemaIDCPtr idcDef,
-		    xmlSchemaValidCtxtPtr vctxt)
+xmlSchemaAugmentIDC(void *payload, void *data,
+                    const xmlChar *name ATTRIBUTE_UNUSED)
 {
+    xmlSchemaIDCPtr idcDef = (xmlSchemaIDCPtr) payload;
+    xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) data;
     xmlSchemaIDCAugPtr aidc;
 
     aidc = (xmlSchemaIDCAugPtr) xmlMalloc(sizeof(xmlSchemaIDCAug));
@@ -22029,10 +22056,12 @@
  * Creates an augmented IDC definition for the imported schema.
  */
 static void
-xmlSchemaAugmentImportedIDC(xmlSchemaImportPtr imported, xmlSchemaValidCtxtPtr vctxt) {
+xmlSchemaAugmentImportedIDC(void *payload, void *data,
+                            const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlSchemaImportPtr imported = (xmlSchemaImportPtr) payload;
+    xmlSchemaValidCtxtPtr vctxt = (xmlSchemaValidCtxtPtr) data;
     if (imported->schema->idcDef != NULL) {
-	    xmlHashScan(imported->schema->idcDef ,
-	    (xmlHashScanner) xmlSchemaAugmentIDC, vctxt);
+	    xmlHashScan(imported->schema->idcDef, xmlSchemaAugmentIDC, vctxt);
     }
 }
 
@@ -25957,11 +25986,12 @@
 }
 
 static void
-xmlSchemaVContentModelCallback(xmlSchemaValidCtxtPtr vctxt ATTRIBUTE_UNUSED,
+xmlSchemaVContentModelCallback(xmlRegExecCtxtPtr exec ATTRIBUTE_UNUSED,
 			       const xmlChar * name ATTRIBUTE_UNUSED,
-			       xmlSchemaElementPtr item,
-			       xmlSchemaNodeInfoPtr inode)
+			       void *transdata, void *inputdata)
 {
+    xmlSchemaElementPtr item = (xmlSchemaElementPtr) transdata;
+    xmlSchemaNodeInfoPtr inode = (xmlSchemaNodeInfoPtr) inputdata;
     inode->decl = item;
 #ifdef DEBUG_CONTENT
     {
@@ -26066,8 +26096,7 @@
 		*/
 		inode->regexCtxt =
 		    xmlRegNewExecCtxt(inode->typeDef->contModel,
-		    (xmlRegExecCallbacks) xmlSchemaVContentModelCallback,
-		    vctxt);
+		    xmlSchemaVContentModelCallback, vctxt);
 		if (inode->regexCtxt == NULL) {
 		    VERROR_INT("xmlSchemaValidatorPopElem",
 			"failed to create a regex context");
@@ -26094,7 +26123,7 @@
 
 	    /*
 	    * Get hold of the still expected content, since a further
-	    * call to xmlRegExecPushString() will loose this information.
+	    * call to xmlRegExecPushString() will lose this information.
 	    */
 	    xmlRegExecNextValues(inode->regexCtxt,
 		&nbval, &nbneg, &values[0], &terminal);
@@ -26615,8 +26644,7 @@
 		* Create the regex context.
 		*/
 		regexCtxt = xmlRegNewExecCtxt(ptype->contModel,
-		    (xmlRegExecCallbacks) xmlSchemaVContentModelCallback,
-		    vctxt);
+		    xmlSchemaVContentModelCallback, vctxt);
 		if (regexCtxt == NULL) {
 		    VERROR_INT("xmlSchemaValidateChildElem",
 			"failed to create a regex context");
@@ -26876,7 +26904,8 @@
          * Augment the IDC definitions for the main schema and all imported ones
          * NOTE: main schema is the first in the imported list
          */
-        xmlHashScan(vctxt->schema->schemasImports,(xmlHashScanner)xmlSchemaAugmentImportedIDC, vctxt);
+        xmlHashScan(vctxt->schema->schemasImports, xmlSchemaAugmentImportedIDC,
+                    vctxt);
     }
     if (vctxt->depth > 0) {
 	/*
@@ -27150,7 +27179,7 @@
 		    }
 		    if (ret < 0) {
 			/*
-			* VAL TODO: A reader error occured; what to do here?
+			* VAL TODO: A reader error occurred; what to do here?
 			*/
 			ret = 1;
 			goto exit;
@@ -27391,6 +27420,7 @@
     * attributes yet.
     */
     if (nb_attributes != 0) {
+	int valueLen, k, l;
 	xmlChar *value;
 
         for (j = 0, i = 0; i < nb_attributes; i++, j += 5) {
@@ -27400,12 +27430,31 @@
 	    * libxml2 differs from normal SAX here in that it escapes all ampersands
 	    * as &#38; instead of delivering the raw converted string. Changing the
 	    * behavior at this point would break applications that use this API, so
-	    * we are forced to work around it. There is no danger of accidentally
-	    * decoding some entity other than &#38; in this step because without
-	    * unescaped ampersands there can be no other entities in the string.
+	    * we are forced to work around it.
 	    */
-	    value = xmlStringLenDecodeEntities(vctxt->parserCtxt, attributes[j+3],
-		attributes[j+4] - attributes[j+3], XML_SUBSTITUTE_REF, 0, 0, 0);
+	    valueLen = attributes[j+4] - attributes[j+3];
+	    value = xmlMallocAtomic(valueLen + 1);
+	    if (value == NULL) {
+		xmlSchemaVErrMemory(vctxt,
+		    "allocating string for decoded attribute",
+		    NULL);
+		goto internal_error;
+	    }
+	    for (k = 0, l = 0; k < valueLen; l++) {
+		if (k < valueLen - 4 &&
+		    attributes[j+3][k+0] == '&' &&
+		    attributes[j+3][k+1] == '#' &&
+		    attributes[j+3][k+2] == '3' &&
+		    attributes[j+3][k+3] == '8' &&
+		    attributes[j+3][k+4] == ';') {
+		    value[l] = '&';
+		    k += 5;
+		} else {
+		    value[l] = attributes[j+3][k];
+		    k++;
+		}
+	    }
+	    value[l] = '\0';
 	    /*
 	    * TODO: Set the node line.
 	    */
@@ -27788,7 +27837,7 @@
 {
     if (ctxt == NULL)
         return;
-	ctxt->serror = serror;
+    ctxt->serror = serror;
     ctxt->error = NULL;
     ctxt->warning = NULL;
     ctxt->errCtxt = ctx;
@@ -28098,7 +28147,8 @@
     * Augment the IDC definitions for the main schema and all imported ones
     * NOTE: main schema if the first in the imported list
     */
-    xmlHashScan(vctxt->schema->schemasImports,(xmlHashScanner)xmlSchemaAugmentImportedIDC, vctxt);
+    xmlHashScan(vctxt->schema->schemasImports, xmlSchemaAugmentImportedIDC,
+                vctxt);
 
     return(0);
 }
diff --git a/xmlschemastypes.c b/xmlschemastypes.c
index 5f38599..ca381d3 100644
--- a/xmlschemastypes.c
+++ b/xmlschemastypes.c
@@ -7,6 +7,11 @@
  * Daniel Veillard <veillard@redhat.com>
  */
 
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
@@ -614,6 +619,11 @@
     xmlSchemaTypesInitialized = 1;
 }
 
+static void
+xmlSchemaFreeTypeEntry(void *type, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlSchemaFreeType((xmlSchemaTypePtr) type);
+}
+
 /**
  * xmlSchemaCleanupTypes:
  *
@@ -641,7 +651,7 @@
 	xmlFree((xmlSchemaParticlePtr) particle);
 	xmlSchemaTypeAnyTypeDef->subtypes = NULL;
     }
-    xmlHashFree(xmlSchemaTypesBank, (xmlHashDeallocator) xmlSchemaFreeType);
+    xmlHashFree(xmlSchemaTypesBank, xmlSchemaFreeTypeEntry);
     xmlSchemaTypesInitialized = 0;
 }
 
@@ -5398,7 +5408,7 @@
 	    if ((valType == XML_SCHEMAS_QNAME) ||
 		(valType == XML_SCHEMAS_NOTATION))
 		return (0);
-	    /* No break on purpose. */
+            /* Falls through. */
 	case XML_SCHEMA_FACET_MAXLENGTH:
 	case XML_SCHEMA_FACET_MINLENGTH: {
 	    unsigned int len = 0;
diff --git a/xmlstring.c b/xmlstring.c
index cc85777..8d2e06f 100644
--- a/xmlstring.c
+++ b/xmlstring.c
@@ -440,8 +440,8 @@
  * first bytes of @add. Note that if @len < 0 then this is an API error
  * and NULL will be returned.
  *
- * Returns a new xmlChar *, the original @cur is reallocated if needed
- * and should not be freed
+ * Returns a new xmlChar *, the original @cur is reallocated and should
+ * not be freed.
  */
 
 xmlChar *
@@ -519,7 +519,8 @@
  * encoded in UTF-8 or an encoding with 8bit based chars, we assume
  * a termination mark of '0'.
  *
- * Returns a new xmlChar * containing the concatenated string.
+ * Returns a new xmlChar * containing the concatenated string. The original
+ * @cur is reallocated and should not be freed.
  */
 xmlChar *
 xmlStrcat(xmlChar *cur, const xmlChar *add) {
@@ -822,7 +823,7 @@
  * @len:  the number of characters in the array
  *
  * storage size of an UTF8 string
- * the behaviour is not garanteed if the input string is not UTF-8
+ * the behaviour is not guaranteed if the input string is not UTF-8
  *
  * Returns the storage size of
  * the first 'len' characters of ARRAY
diff --git a/xmlunicode.c b/xmlunicode.c
index ce6e9a4..6d0a96a 100644
--- a/xmlunicode.c
+++ b/xmlunicode.c
@@ -29,14 +29,14 @@
 } xmlUnicodeRange;
 
 typedef struct {
-    xmlUnicodeRange *table;
+    const xmlUnicodeRange *table;
     int		    numentries;
 } xmlUnicodeNameTable;
 
 
 static xmlIntFunc *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname);
 
-static xmlUnicodeRange xmlUnicodeBlocks[] = {
+static const xmlUnicodeRange xmlUnicodeBlocks[] = {
   {"AegeanNumbers", xmlUCSIsAegeanNumbers},
   {"AlphabeticPresentationForms", xmlUCSIsAlphabeticPresentationForms},
   {"Arabic", xmlUCSIsArabic},
@@ -945,7 +945,7 @@
 static xmlIntFunc
 *xmlUnicodeLookup(xmlUnicodeNameTable *tptr, const char *tname) {
     int low, high, mid, cmp;
-    xmlUnicodeRange *sptr;
+    const xmlUnicodeRange *sptr;
 
     if ((tptr == NULL) || (tname == NULL)) return(NULL);
 
diff --git a/xmlwriter.c b/xmlwriter.c
index 69541b8..b5cd171 100644
--- a/xmlwriter.c
+++ b/xmlwriter.c
@@ -110,7 +110,7 @@
 static int xmlCmpTextWriterNsStackEntry(const void *data0,
                                         const void *data1);
 static int xmlTextWriterWriteDocCallback(void *context,
-                                         const xmlChar * str, int len);
+                                         const char *str, int len);
 static int xmlTextWriterCloseDocCallback(void *context);
 
 static xmlChar *xmlTextWriterVSprintf(const char *format, va_list argptr) LIBXML_ATTR_FORMAT(1,0);
@@ -190,9 +190,7 @@
     }
     memset(ret, 0, (size_t) sizeof(xmlTextWriter));
 
-    ret->nodes = xmlListCreate((xmlListDeallocator)
-                               xmlFreeTextWriterStackEntry,
-                               (xmlListDataCompare)
+    ret->nodes = xmlListCreate(xmlFreeTextWriterStackEntry,
                                xmlCmpTextWriterStackEntry);
     if (ret->nodes == NULL) {
         xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
@@ -201,9 +199,7 @@
         return NULL;
     }
 
-    ret->nsstack = xmlListCreate((xmlListDeallocator)
-                                 xmlFreeTextWriterNsStackEntry,
-                                 (xmlListDataCompare)
+    ret->nsstack = xmlListCreate(xmlFreeTextWriterNsStackEntry,
                                  xmlCmpTextWriterNsStackEntry);
     if (ret->nsstack == NULL) {
         xmlWriterErrMsg(NULL, XML_ERR_NO_MEMORY,
@@ -329,9 +325,7 @@
         return NULL;
     }
 
-    out = xmlOutputBufferCreateIO((xmlOutputWriteCallback)
-                                  xmlTextWriterWriteDocCallback,
-                                  (xmlOutputCloseCallback)
+    out = xmlOutputBufferCreateIO(xmlTextWriterWriteDocCallback,
                                   xmlTextWriterCloseDocCallback,
                                   (void *) ctxt, NULL);
     if (out == NULL) {
@@ -3754,6 +3748,7 @@
             if (count < 0)
                 return -1;
             sum += count;
+            /* Falls through. */
         case XML_TEXTWRITER_DTD_ENTY:
         case XML_TEXTWRITER_DTD_PENT:
             count = xmlOutputBufferWriteString(writer->out, ">");
@@ -4421,12 +4416,12 @@
  * Returns -1, 0, 1
  */
 static int
-xmlTextWriterWriteDocCallback(void *context, const xmlChar * str, int len)
+xmlTextWriterWriteDocCallback(void *context, const char *str, int len)
 {
     xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) context;
     int rc;
 
-    if ((rc = xmlParseChunk(ctxt, (const char *) str, len, 0)) != 0) {
+    if ((rc = xmlParseChunk(ctxt, str, len, 0)) != 0) {
         xmlWriterErrMsgInt(NULL, XML_ERR_INTERNAL_ERROR,
                         "xmlTextWriterWriteDocCallback : XML error %d !\n",
                         rc);
@@ -4452,7 +4447,7 @@
 
     if ((rc = xmlParseChunk(ctxt, NULL, 0, 1)) != 0) {
         xmlWriterErrMsgInt(NULL, XML_ERR_INTERNAL_ERROR,
-                        "xmlTextWriterWriteDocCallback : XML error %d !\n",
+                        "xmlTextWriterCloseDocCallback : XML error %d !\n",
                         rc);
         return -1;
     }
diff --git a/xpath.c b/xpath.c
index 3472ff0..d134025 100644
--- a/xpath.c
+++ b/xpath.c
@@ -14,10 +14,17 @@
  *
  */
 
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
+#include <limits.h>
 #include <string.h>
+#include <stddef.h>
 
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
@@ -153,7 +160,7 @@
     int misc = 0, precedence1 = 0, precedence2 = 0;
     xmlNodePtr miscNode1 = NULL, miscNode2 = NULL;
     xmlNodePtr cur, root;
-    long l1, l2;
+    ptrdiff_t l1, l2;
 
     if ((node1 == NULL) || (node2 == NULL))
 	return(-2);
@@ -167,12 +174,12 @@
     switch (node1->type) {
 	case XML_ELEMENT_NODE:
 	    if (node2->type == XML_ELEMENT_NODE) {
-		if ((0 > (long) node1->content) && /* TODO: Would a != 0 suffice here? */
-		    (0 > (long) node2->content) &&
+		if ((0 > (ptrdiff_t) node1->content) &&
+		    (0 > (ptrdiff_t) node2->content) &&
 		    (node1->doc == node2->doc))
 		{
-		    l1 = -((long) node1->content);
-		    l2 = -((long) node2->content);
+		    l1 = -((ptrdiff_t) node1->content);
+		    l2 = -((ptrdiff_t) node2->content);
 		    if (l1 < l2)
 			return(1);
 		    if (l1 > l2)
@@ -217,7 +224,7 @@
 		node1 = node1->parent;
 	    }
 	    if ((node1 == NULL) || (node1->type != XML_ELEMENT_NODE) ||
-		(0 <= (long) node1->content)) {
+		(0 <= (ptrdiff_t) node1->content)) {
 		/*
 		* Fallback for whatever case.
 		*/
@@ -267,7 +274,7 @@
 		node2 = node2->parent;
 	    }
 	    if ((node2 == NULL) || (node2->type != XML_ELEMENT_NODE) ||
-		(0 <= (long) node2->content))
+		(0 <= (ptrdiff_t) node2->content))
 	    {
 		node2 = miscNode2;
 		precedence2 = 0;
@@ -340,12 +347,12 @@
      */
     if ((node1->type == XML_ELEMENT_NODE) &&
 	(node2->type == XML_ELEMENT_NODE) &&
-	(0 > (long) node1->content) &&
-	(0 > (long) node2->content) &&
+	(0 > (ptrdiff_t) node1->content) &&
+	(0 > (ptrdiff_t) node2->content) &&
 	(node1->doc == node2->doc)) {
 
-	l1 = -((long) node1->content);
-	l2 = -((long) node2->content);
+	l1 = -((ptrdiff_t) node1->content);
+	l2 = -((ptrdiff_t) node2->content);
 	if (l1 < l2)
 	    return(1);
 	if (l1 > l2)
@@ -408,12 +415,12 @@
      */
     if ((node1->type == XML_ELEMENT_NODE) &&
 	(node2->type == XML_ELEMENT_NODE) &&
-	(0 > (long) node1->content) &&
-	(0 > (long) node2->content) &&
+	(0 > (ptrdiff_t) node1->content) &&
+	(0 > (ptrdiff_t) node2->content) &&
 	(node1->doc == node2->doc)) {
 
-	l1 = -((long) node1->content);
-	l2 = -((long) node2->content);
+	l1 = -((ptrdiff_t) node1->content);
+	l2 = -((ptrdiff_t) node2->content);
 	if (l1 < l2)
 	    return(1);
 	if (l1 > l2)
@@ -470,84 +477,66 @@
  *									*
  ************************************************************************/
 
-#ifndef TRIO_REPLACE_STDIO
-#define TRIO_PUBLIC static
+#ifndef NAN
+#define NAN (0.0 / 0.0)
 #endif
-#include "trionan.c"
 
-/*
- * The lack of portability of this section of the libc is annoying !
- */
-double xmlXPathNAN = 0;
-double xmlXPathPINF = 1;
-double xmlXPathNINF = -1;
-static double xmlXPathNZERO = 0; /* not exported from headers */
-static int xmlXPathInitialized = 0;
+#ifndef INFINITY
+#define INFINITY HUGE_VAL
+#endif
+
+double xmlXPathNAN = NAN;
+double xmlXPathPINF = INFINITY;
+double xmlXPathNINF = -INFINITY;
 
 /**
  * xmlXPathInit:
  *
  * Initialize the XPath environment
+ *
+ * Does nothing but must be kept as public function.
  */
 void
 xmlXPathInit(void) {
-    if (xmlXPathInitialized) return;
-
-    xmlXPathPINF = trio_pinf();
-    xmlXPathNINF = trio_ninf();
-    xmlXPathNAN = trio_nan();
-    xmlXPathNZERO = trio_nzero();
-
-    xmlXPathInitialized = 1;
 }
 
 /**
  * xmlXPathIsNaN:
  * @val:  a double value
  *
- * Provides a portable isnan() function to detect whether a double
- * is a NotaNumber. Based on trio code
- * http://sourceforge.net/projects/ctrio/
- *
  * Returns 1 if the value is a NaN, 0 otherwise
  */
 int
 xmlXPathIsNaN(double val) {
-    return(trio_isnan(val));
+#ifdef isnan
+    return isnan(val);
+#else
+    return !(val == val);
+#endif
 }
 
 /**
  * xmlXPathIsInf:
  * @val:  a double value
  *
- * Provides a portable isinf() function to detect whether a double
- * is a +Infinite or -Infinite. Based on trio code
- * http://sourceforge.net/projects/ctrio/
- *
- * Returns 1 vi the value is +Infinite, -1 if -Infinite, 0 otherwise
+ * Returns 1 if the value is +Infinite, -1 if -Infinite, 0 otherwise
  */
 int
 xmlXPathIsInf(double val) {
-    return(trio_isinf(val));
+#ifdef isinf
+    return isinf(val) ? (val > 0 ? 1 : -1) : 0;
+#else
+    if (val >= HUGE_VAL)
+        return 1;
+    if (val <= -HUGE_VAL)
+        return -1;
+    return 0;
+#endif
 }
 
 #endif /* SCHEMAS or XPATH */
-#ifdef LIBXML_XPATH_ENABLED
-/**
- * xmlXPathGetSign:
- * @val:  a double value
- *
- * Provides a portable function to detect the sign of a double
- * Modified from trio code
- * http://sourceforge.net/projects/ctrio/
- *
- * Returns 1 if the value is Negative, 0 if positive
- */
-static int
-xmlXPathGetSign(double val) {
-    return(trio_signbit(val));
-}
 
+#ifdef LIBXML_XPATH_ENABLED
 
 /*
  * TODO: when compatibility allows remove all "fake node libxslt" strings
@@ -935,7 +924,7 @@
     int value3;
     void *value4;
     void *value5;
-    void *cache;
+    xmlXPathFunction cache;
     void *cacheURI;
 };
 
@@ -971,6 +960,8 @@
 xmlXPathCompOpEvalToBoolean(xmlXPathParserContextPtr ctxt,
 			    xmlXPathStepOpPtr op,
 			    int isPredicate);
+static void
+xmlXPathFreeObjectEntry(void *obj, const xmlChar *name);
 
 /************************************************************************
  *									*
@@ -1414,7 +1405,8 @@
 	    default:
 		if (xmlXPathIsNaN(cur->floatval)) {
 		    fprintf(output, "Object is a number : NaN\n");
-		} else if (cur->floatval == 0 && xmlXPathGetSign(cur->floatval) != 0) {
+		} else if (cur->floatval == 0) {
+                    /* Omit sign for negative zero. */
 		    fprintf(output, "Object is a number : 0\n");
 		} else {
 		    fprintf(output, "Object is a number : %0g\n", cur->floatval);
@@ -1672,10 +1664,17 @@
 
     fprintf(output, "%s", shift);
 
-    fprintf(output, "Compiled Expression : %d elements\n",
-	    comp->nbStep);
-    i = comp->last;
-    xmlXPathDebugDumpStepOp(output, comp, &comp->steps[i], depth + 1);
+#ifdef XPATH_STREAMING
+    if (comp->stream) {
+        fprintf(output, "Streaming Expression\n");
+    } else
+#endif
+    {
+        fprintf(output, "Compiled Expression : %d elements\n",
+                comp->nbStep);
+        i = comp->last;
+        xmlXPathDebugDumpStepOp(output, comp, &comp->steps[i], depth + 1);
+    }
 }
 
 #ifdef XP_DEBUG_OBJ_USAGE
@@ -3103,9 +3102,11 @@
 	if (xmlXPathIsNaN(number)) {
 	    if (buffersize > (int)sizeof("NaN"))
 		snprintf(buffer, buffersize, "NaN");
-	} else if (number == 0 && xmlXPathGetSign(number) != 0) {
+	} else if (number == 0) {
+            /* Omit sign for negative zero. */
 	    snprintf(buffer, buffersize, "0");
-	} else if (number == ((int) number)) {
+	} else if ((number > INT_MIN) && (number < INT_MAX) &&
+                   (number == (int) number)) {
 	    char work[30];
 	    char *ptr, *cur;
 	    int value = (int) number;
@@ -3225,7 +3226,7 @@
  */
 long
 xmlXPathOrderDocElems(xmlDocPtr doc) {
-    long count = 0;
+    ptrdiff_t count = 0;
     xmlNodePtr cur;
 
     if (doc == NULL)
@@ -3257,7 +3258,7 @@
 	    }
 	} while (cur != NULL);
     }
-    return(count);
+    return((long) count);
 }
 
 /**
@@ -3325,13 +3326,13 @@
      */
     if ((node1->type == XML_ELEMENT_NODE) &&
 	(node2->type == XML_ELEMENT_NODE) &&
-	(0 > (long) node1->content) &&
-	(0 > (long) node2->content) &&
+	(0 > (ptrdiff_t) node1->content) &&
+	(0 > (ptrdiff_t) node2->content) &&
 	(node1->doc == node2->doc)) {
-	long l1, l2;
+	ptrdiff_t l1, l2;
 
-	l1 = -((long) node1->content);
-	l2 = -((long) node2->content);
+	l1 = -((ptrdiff_t) node1->content);
+	l2 = -((ptrdiff_t) node2->content);
 	if (l1 < l2)
 	    return(1);
 	if (l1 > l2)
@@ -3342,13 +3343,13 @@
      * compute depth to root
      */
     for (depth2 = 0, cur = node2;cur->parent != NULL;cur = cur->parent) {
-	if (cur == node1)
+	if (cur->parent == node1)
 	    return(1);
 	depth2++;
     }
     root = cur;
     for (depth1 = 0, cur = node1;cur->parent != NULL;cur = cur->parent) {
-	if (cur == node2)
+	if (cur->parent == node2)
 	    return(-1);
 	depth1++;
     }
@@ -3388,13 +3389,13 @@
      */
     if ((node1->type == XML_ELEMENT_NODE) &&
 	(node2->type == XML_ELEMENT_NODE) &&
-	(0 > (long) node1->content) &&
-	(0 > (long) node2->content) &&
+	(0 > (ptrdiff_t) node1->content) &&
+	(0 > (ptrdiff_t) node2->content) &&
 	(node1->doc == node2->doc)) {
-	long l1, l2;
+	ptrdiff_t l1, l2;
 
-	l1 = -((long) node1->content);
-	l2 = -((long) node2->content);
+	l1 = -((ptrdiff_t) node1->content);
+	l2 = -((ptrdiff_t) node2->content);
 	if (l1 < l2)
 	    return(1);
 	if (l1 > l2)
@@ -4021,13 +4022,7 @@
 		set1->nodeTab = temp;
 		set1->nodeMax *= 2;
 	    }
-	    if (n2->type == XML_NAMESPACE_DECL) {
-		xmlNsPtr ns = (xmlNsPtr) n2;
-
-		set1->nodeTab[set1->nodeNr++] =
-		    xmlXPathNodeSetDupNs((xmlNodePtr) ns->next, ns);
-	    } else
-		set1->nodeTab[set1->nodeNr++] = n2;
+	    set1->nodeTab[set1->nodeNr++] = n2;
 skip_node:
 	    {}
 	}
@@ -4196,33 +4191,6 @@
 }
 
 /**
- * xmlXPathNodeSetClear:
- * @set:  the node set to clear
- *
- * Clears the list from all temporary XPath objects (e.g. namespace nodes
- * are feed), but does *not* free the list itself. Sets the length of the
- * list to 0.
- */
-static void
-xmlXPathNodeSetClear(xmlNodeSetPtr set, int hasNsNodes)
-{
-    if ((set == NULL) || (set->nodeNr <= 0))
-	return;
-    else if (hasNsNodes) {
-	int i;
-	xmlNodePtr node;
-
-	for (i = 0; i < set->nodeNr; i++) {
-	    node = set->nodeTab[i];
-	    if ((node != NULL) &&
-		(node->type == XML_NAMESPACE_DECL))
-		xmlXPathNodeSetFreeNs((xmlNsPtr) node);
-	}
-    }
-    set->nodeNr = 0;
-}
-
-/**
  * xmlXPathNodeSetClearFromPos:
  * @set: the node set to be cleared
  * @pos: the start position to clear from
@@ -4234,7 +4202,7 @@
 static void
 xmlXPathNodeSetClearFromPos(xmlNodeSetPtr set, int pos, int hasNsNodes)
 {
-    if ((set == NULL) || (set->nodeNr <= 0) || (pos >= set->nodeNr))
+    if ((set == NULL) || (pos >= set->nodeNr))
 	return;
     else if ((hasNsNodes)) {
 	int i;
@@ -4251,6 +4219,46 @@
 }
 
 /**
+ * xmlXPathNodeSetClear:
+ * @set:  the node set to clear
+ *
+ * Clears the list from all temporary XPath objects (e.g. namespace nodes
+ * are feed), but does *not* free the list itself. Sets the length of the
+ * list to 0.
+ */
+static void
+xmlXPathNodeSetClear(xmlNodeSetPtr set, int hasNsNodes)
+{
+    xmlXPathNodeSetClearFromPos(set, 0, hasNsNodes);
+}
+
+/**
+ * xmlXPathNodeSetKeepLast:
+ * @set: the node set to be cleared
+ *
+ * Move the last node to the first position and clear temporary XPath objects
+ * (e.g. namespace nodes) from all other nodes. Sets the length of the list
+ * to 1.
+ */
+static void
+xmlXPathNodeSetKeepLast(xmlNodeSetPtr set)
+{
+    int i;
+    xmlNodePtr node;
+
+    if ((set == NULL) || (set->nodeNr <= 1))
+	return;
+    for (i = 0; i < set->nodeNr - 1; i++) {
+        node = set->nodeTab[i];
+        if ((node != NULL) &&
+            (node->type == XML_NAMESPACE_DECL))
+            xmlXPathNodeSetFreeNs((xmlNsPtr) node);
+    }
+    set->nodeTab[0] = set->nodeTab[set->nodeNr-1];
+    set->nodeNr = 1;
+}
+
+/**
  * xmlXPathFreeValueTree:
  * @obj:  the xmlNodeSetPtr to free
  *
@@ -4560,7 +4568,7 @@
 	    xmlFree(strval);
 	}
     }
-    xmlHashFree(hash, (xmlHashDeallocator) xmlFree);
+    xmlHashFree(hash, xmlHashDefaultDeallocator);
     return(ret);
 }
 
@@ -4872,7 +4880,9 @@
 	return(-1);
     if (f == NULL)
         return(xmlHashRemoveEntry2(ctxt->funcHash, name, ns_uri, NULL));
-    return(xmlHashAddEntry2(ctxt->funcHash, name, ns_uri, XML_CAST_FPTR(f)));
+XML_IGNORE_PEDANTIC_WARNINGS
+    return(xmlHashAddEntry2(ctxt->funcHash, name, ns_uri, (void *) f));
+XML_POP_WARNINGS
 }
 
 /**
@@ -4953,7 +4963,9 @@
     if (ctxt->funcHash == NULL)
 	return(NULL);
 
-    XML_CAST_FPTR(ret) = xmlHashLookup2(ctxt->funcHash, name, ns_uri);
+XML_IGNORE_PEDANTIC_WARNINGS
+    ret = (xmlXPathFunction) xmlHashLookup2(ctxt->funcHash, name, ns_uri);
+XML_POP_WARNINGS
     return(ret);
 }
 
@@ -5022,10 +5034,9 @@
 	return(-1);
     if (value == NULL)
         return(xmlHashRemoveEntry2(ctxt->varHash, name, ns_uri,
-	                           (xmlHashDeallocator)xmlXPathFreeObject));
+	                           xmlXPathFreeObjectEntry));
     return(xmlHashUpdateEntry2(ctxt->varHash, name, ns_uri,
-			       (void *) value,
-			       (xmlHashDeallocator)xmlXPathFreeObject));
+			       (void *) value, xmlXPathFreeObjectEntry));
 }
 
 /**
@@ -5115,7 +5126,7 @@
     if (ctxt == NULL)
 	return;
 
-    xmlHashFree(ctxt->varHash, (xmlHashDeallocator)xmlXPathFreeObject);
+    xmlHashFree(ctxt->varHash, xmlXPathFreeObjectEntry);
     ctxt->varHash = NULL;
 }
 
@@ -5146,9 +5157,9 @@
 	return(-1);
     if (ns_uri == NULL)
         return(xmlHashRemoveEntry(ctxt->nsHash, prefix,
-	                          (xmlHashDeallocator)xmlFree));
+	                          xmlHashDefaultDeallocator));
     return(xmlHashUpdateEntry(ctxt->nsHash, prefix, (void *) xmlStrdup(ns_uri),
-			      (xmlHashDeallocator)xmlFree));
+			      xmlHashDefaultDeallocator));
 }
 
 /**
@@ -5197,7 +5208,7 @@
     if (ctxt == NULL)
 	return;
 
-    xmlHashFree(ctxt->nsHash, (xmlHashDeallocator)xmlFree);
+    xmlHashFree(ctxt->nsHash, xmlHashDefaultDeallocator);
     ctxt->nsHash = NULL;
 }
 
@@ -5511,6 +5522,11 @@
     xmlFree(obj);
 }
 
+static void
+xmlXPathFreeObjectEntry(void *obj, const xmlChar *name ATTRIBUTE_UNUSED) {
+    xmlXPathFreeObject((xmlXPathObjectPtr) obj);
+}
+
 /**
  * xmlXPathReleaseObject:
  * @obj:  the xmlXPathObjectPtr to free or to cache
@@ -5700,7 +5716,8 @@
     default:
 	if (xmlXPathIsNaN(val)) {
 	    ret = xmlStrdup((const xmlChar *) "NaN");
-	} else if (val == 0 && xmlXPathGetSign(val) != 0) {
+	} else if (val == 0) {
+            /* Omit sign for negative zero. */
 	    ret = xmlStrdup((const xmlChar *) "0");
 	} else {
 	    /* could be improved */
@@ -5882,10 +5899,10 @@
     double ret;
 
     if (node == NULL)
-	return(xmlXPathNAN);
+	return(NAN);
     strval = xmlXPathCastNodeToString(node);
     if (strval == NULL)
-	return(xmlXPathNAN);
+	return(NAN);
     ret = xmlXPathCastStringToNumber(strval);
     xmlFree(strval);
 
@@ -5906,7 +5923,7 @@
     double ret;
 
     if (ns == NULL)
-	return(xmlXPathNAN);
+	return(NAN);
     str = xmlXPathCastNodeSetToString(ns);
     ret = xmlXPathCastStringToNumber(str);
     xmlFree(str);
@@ -5926,13 +5943,13 @@
     double ret = 0.0;
 
     if (val == NULL)
-	return(xmlXPathNAN);
+	return(NAN);
     switch (val->type) {
     case XPATH_UNDEFINED:
 #ifdef DEGUB_EXPR
 	xmlGenericError(xmlGenericErrorContext, "NUMBER: undefined\n");
 #endif
-	ret = xmlXPathNAN;
+	ret = NAN;
 	break;
     case XPATH_NODESET:
     case XPATH_XSLT_TREE:
@@ -5952,7 +5969,7 @@
     case XPATH_RANGE:
     case XPATH_LOCATIONSET:
 	TODO;
-	ret = xmlXPathNAN;
+	ret = NAN;
 	break;
     }
     return(ret);
@@ -6289,7 +6306,15 @@
  */
 void
 xmlXPathFreeParserContext(xmlXPathParserContextPtr ctxt) {
+    int i;
+
     if (ctxt->valueTab != NULL) {
+        for (i = 0; i < ctxt->valueNr; i++) {
+            if (ctxt->context)
+                xmlXPathReleaseObject(ctxt->context, ctxt->valueTab[i]);
+            else
+                xmlXPathFreeObject(ctxt->valueTab[i]);
+        }
         xmlFree(ctxt->valueTab);
     }
     if (ctxt->comp != NULL) {
@@ -6371,16 +6396,12 @@
     }
     while (tmp != NULL) {
 	switch (tmp->type) {
-	    case XML_COMMENT_NODE:
-	    case XML_PI_NODE:
 	    case XML_CDATA_SECTION_NODE:
 	    case XML_TEXT_NODE:
 		string = tmp->content;
 		break;
-	    case XML_NAMESPACE_DECL:
-		string = ((xmlNsPtr)tmp)->href;
-		break;
 	    default:
+                string = NULL;
 		break;
 	}
 	if ((string != NULL) && (string[0] != 0)) {
@@ -6702,7 +6723,13 @@
 	    valuePush(ctxt, val);
 	    return(xmlXPathCompareValues(ctxt, inf, strict));
 	default:
-	    TODO
+            xmlGenericError(xmlGenericErrorContext,
+                    "xmlXPathCompareNodeSetValue: Can't compare node set "
+                    "and object of type %d\n",
+                    val->type);
+            xmlXPathReleaseObject(ctxt->context, arg);
+            xmlXPathReleaseObject(ctxt->context, val);
+            XP_ERROR0(XPATH_INVALID_TYPE);
     }
     return(0);
 }
@@ -7010,7 +7037,7 @@
 		    valuePush(ctxt, arg2);
 		    xmlXPathNumberFunction(ctxt, 1);
 		    arg2 = valuePop(ctxt);
-		    /* no break on purpose */
+                    /* Falls through. */
 		case XPATH_NUMBER:
 		    /* Hand check NaN and Infinity equalities */
 		    if (xmlXPathIsNaN(arg1->floatval) ||
@@ -7446,20 +7473,7 @@
     if ((ctxt == NULL) || (ctxt->context == NULL)) return;
     CAST_TO_NUMBER;
     CHECK_TYPE(XPATH_NUMBER);
-    if (xmlXPathIsNaN(ctxt->value->floatval))
-        ctxt->value->floatval=xmlXPathNAN;
-    else if (xmlXPathIsInf(ctxt->value->floatval) == 1)
-        ctxt->value->floatval=xmlXPathNINF;
-    else if (xmlXPathIsInf(ctxt->value->floatval) == -1)
-        ctxt->value->floatval=xmlXPathPINF;
-    else if (ctxt->value->floatval == 0) {
-        if (xmlXPathGetSign(ctxt->value->floatval) == 0)
-	    ctxt->value->floatval = xmlXPathNZERO;
-	else
-	    ctxt->value->floatval = 0;
-    }
-    else
-        ctxt->value->floatval = - ctxt->value->floatval;
+    ctxt->value->floatval = -ctxt->value->floatval;
 }
 
 /**
@@ -7551,25 +7565,7 @@
     xmlXPathReleaseObject(ctxt->context, arg);
     CAST_TO_NUMBER;
     CHECK_TYPE(XPATH_NUMBER);
-    if (xmlXPathIsNaN(val) || xmlXPathIsNaN(ctxt->value->floatval))
-	ctxt->value->floatval = xmlXPathNAN;
-    else if (val == 0 && xmlXPathGetSign(val) != 0) {
-	if (ctxt->value->floatval == 0)
-	    ctxt->value->floatval = xmlXPathNAN;
-	else if (ctxt->value->floatval > 0)
-	    ctxt->value->floatval = xmlXPathNINF;
-	else if (ctxt->value->floatval < 0)
-	    ctxt->value->floatval = xmlXPathPINF;
-    }
-    else if (val == 0) {
-	if (ctxt->value->floatval == 0)
-	    ctxt->value->floatval = xmlXPathNAN;
-	else if (ctxt->value->floatval > 0)
-	    ctxt->value->floatval = xmlXPathPINF;
-	else if (ctxt->value->floatval < 0)
-	    ctxt->value->floatval = xmlXPathNINF;
-    } else
-	ctxt->value->floatval /= val;
+    ctxt->value->floatval /= val;
 }
 
 /**
@@ -7594,7 +7590,7 @@
     CHECK_TYPE(XPATH_NUMBER);
     arg1 = ctxt->value->floatval;
     if (arg2 == 0)
-	ctxt->value->floatval = xmlXPathNAN;
+	ctxt->value->floatval = NAN;
     else {
 	ctxt->value->floatval = fmod(arg1, arg2);
     }
@@ -8114,12 +8110,12 @@
 		return(NULL);
 	    return(cur->parent);
 	case XML_ATTRIBUTE_NODE: {
-	    xmlAttrPtr att = (xmlAttrPtr) ctxt->context->node;
+	    xmlAttrPtr att = (xmlAttrPtr) cur;
 
 	    return(att->parent);
 	}
 	case XML_NAMESPACE_DECL: {
-	    xmlNsPtr ns = (xmlNsPtr) ctxt->context->node;
+	    xmlNsPtr ns = (xmlNsPtr) cur;
 
 	    if ((ns->next != NULL) &&
 	        (ns->next->type != XML_NAMESPACE_DECL))
@@ -8236,10 +8232,16 @@
 
     if (cur == NULL) {
         cur = ctxt->context->node;
-        if (cur->type == XML_NAMESPACE_DECL)
-            return(NULL);
-        if (cur->type == XML_ATTRIBUTE_NODE)
+        if (cur->type == XML_ATTRIBUTE_NODE) {
             cur = cur->parent;
+        } else if (cur->type == XML_NAMESPACE_DECL) {
+            xmlNsPtr ns = (xmlNsPtr) cur;
+
+            if ((ns->next == NULL) ||
+                (ns->next->type == XML_NAMESPACE_DECL))
+                return (NULL);
+            cur = (xmlNodePtr) ns->next;
+        }
     }
     if (cur == NULL) return(NULL) ; /* ERROR */
     if (cur->next != NULL) return(cur->next) ;
@@ -8300,10 +8302,16 @@
     if ((ctxt == NULL) || (ctxt->context == NULL)) return(NULL);
     if (cur == NULL) {
         cur = ctxt->context->node;
-        if (cur->type == XML_NAMESPACE_DECL)
-            return(NULL);
-        if (cur->type == XML_ATTRIBUTE_NODE)
-            return(cur->parent);
+        if (cur->type == XML_ATTRIBUTE_NODE) {
+            cur = cur->parent;
+        } else if (cur->type == XML_NAMESPACE_DECL) {
+            xmlNsPtr ns = (xmlNsPtr) cur;
+
+            if ((ns->next == NULL) ||
+                (ns->next->type == XML_NAMESPACE_DECL))
+                return (NULL);
+            cur = (xmlNodePtr) ns->next;
+        }
     }
     if ((cur == NULL) || (cur->type == XML_NAMESPACE_DECL))
 	return (NULL);
@@ -8348,8 +8356,16 @@
         cur = ctxt->context->node;
         if (cur == NULL)
             return (NULL);
-        if (cur->type == XML_NAMESPACE_DECL)
-            return (NULL);
+        if (cur->type == XML_ATTRIBUTE_NODE) {
+            cur = cur->parent;
+        } else if (cur->type == XML_NAMESPACE_DECL) {
+            xmlNsPtr ns = (xmlNsPtr) cur;
+
+            if ((ns->next == NULL) ||
+                (ns->next->type == XML_NAMESPACE_DECL))
+                return (NULL);
+            cur = (xmlNodePtr) ns->next;
+        }
         ctxt->ancestor = cur->parent;
     }
     if (cur->type == XML_NAMESPACE_DECL)
@@ -9634,18 +9650,6 @@
     xmlXPathReleaseObject(ctxt->context, cur);
 }
 
-/*
- * To assure working code on multiple platforms, we want to only depend
- * upon the characteristic truncation of converting a floating point value
- * to an integer.  Unfortunately, because of the different storage sizes
- * of our internal floating point value (double) and integer (int), we
- * can't directly convert (see bug 301162).  This macro is a messy
- * 'workaround'
- */
-#define XTRUNC(f, v)            \
-    f = fmod((v), INT_MAX);     \
-    f = (v) - (f) + (double)((int)(f));
-
 /**
  * xmlXPathFloorFunction:
  * @ctxt:  the XPath Parser context
@@ -9658,19 +9662,11 @@
  */
 void
 xmlXPathFloorFunction(xmlXPathParserContextPtr ctxt, int nargs) {
-    double f;
-
     CHECK_ARITY(1);
     CAST_TO_NUMBER;
     CHECK_TYPE(XPATH_NUMBER);
 
-    XTRUNC(f, ctxt->value->floatval);
-    if (f != ctxt->value->floatval) {
-	if (ctxt->value->floatval > 0)
-	    ctxt->value->floatval = f;
-	else
-	    ctxt->value->floatval = f - 1;
-    }
+    ctxt->value->floatval = floor(ctxt->value->floatval);
 }
 
 /**
@@ -9685,28 +9681,11 @@
  */
 void
 xmlXPathCeilingFunction(xmlXPathParserContextPtr ctxt, int nargs) {
-    double f;
-
     CHECK_ARITY(1);
     CAST_TO_NUMBER;
     CHECK_TYPE(XPATH_NUMBER);
 
-#if 0
     ctxt->value->floatval = ceil(ctxt->value->floatval);
-#else
-    XTRUNC(f, ctxt->value->floatval);
-    if (f != ctxt->value->floatval) {
-	if (ctxt->value->floatval > 0)
-	    ctxt->value->floatval = f + 1;
-	else {
-	    if (ctxt->value->floatval < 0 && f == 0)
-	        ctxt->value->floatval = xmlXPathNZERO;
-	    else
-	        ctxt->value->floatval = f;
-	}
-
-    }
-#endif
 }
 
 /**
@@ -9718,7 +9697,7 @@
  *    number round(number)
  * The round function returns the number that is closest to the
  * argument and that is an integer. If there are two such numbers,
- * then the one that is even is returned.
+ * then the one that is closest to positive infinity is returned.
  */
 void
 xmlXPathRoundFunction(xmlXPathParserContextPtr ctxt, int nargs) {
@@ -9728,25 +9707,17 @@
     CAST_TO_NUMBER;
     CHECK_TYPE(XPATH_NUMBER);
 
-    if ((xmlXPathIsNaN(ctxt->value->floatval)) ||
-	(xmlXPathIsInf(ctxt->value->floatval) == 1) ||
-	(xmlXPathIsInf(ctxt->value->floatval) == -1) ||
-	(ctxt->value->floatval == 0.0))
-	return;
+    f = ctxt->value->floatval;
 
-    XTRUNC(f, ctxt->value->floatval);
-    if (ctxt->value->floatval < 0) {
-	if (ctxt->value->floatval < f - 0.5)
-	    ctxt->value->floatval = f - 1;
-	else
-	    ctxt->value->floatval = f;
-	if (ctxt->value->floatval == 0)
-	    ctxt->value->floatval = xmlXPathNZERO;
-    } else {
-	if (ctxt->value->floatval < f + 0.5)
-	    ctxt->value->floatval = f;
-	else
-	    ctxt->value->floatval = f + 1;
+    if ((f >= -0.5) && (f < 0.5)) {
+        /* Handles negative zero. */
+        ctxt->value->floatval *= 0.0;
+    }
+    else {
+        double rounded = floor(f);
+        if (f - rounded >= 0.5)
+            rounded += 1.0;
+        ctxt->value->floatval = rounded;
     }
 }
 
@@ -10056,20 +10027,6 @@
 
 #define MAX_FRAC 20
 
-/*
- * These are used as divisors for the fractional part of a number.
- * Since the table includes 1.0 (representing '0' fractional digits),
- * it must be dimensioned at MAX_FRAC+1 (bug 133921)
- */
-static double my_pow10[MAX_FRAC+1] = {
-    1.0, 10.0, 100.0, 1000.0, 10000.0,
-    100000.0, 1000000.0, 10000000.0, 100000000.0, 1000000000.0,
-    10000000000.0, 100000000000.0, 1000000000000.0, 10000000000000.0,
-    100000000000000.0,
-    1000000000000000.0, 10000000000000000.0, 100000000000000000.0,
-    1000000000000000000.0, 10000000000000000000.0, 100000000000000000000.0
-};
-
 /**
  * xmlXPathStringEvalNumber:
  * @str:  A string to scan
@@ -10101,7 +10058,7 @@
     if (cur == NULL) return(0);
     while (IS_BLANK_CH(*cur)) cur++;
     if ((*cur != '.') && ((*cur < '0') || (*cur > '9')) && (*cur != '-')) {
-        return(xmlXPathNAN);
+        return(NAN);
     }
     if (*cur == '-') {
 	isneg = 1;
@@ -10132,20 +10089,25 @@
 #endif
 
     if (*cur == '.') {
-	int v, frac = 0;
+	int v, frac = 0, max;
 	double fraction = 0;
 
         cur++;
 	if (((*cur < '0') || (*cur > '9')) && (!ok)) {
-	    return(xmlXPathNAN);
+	    return(NAN);
 	}
-	while (((*cur >= '0') && (*cur <= '9')) && (frac < MAX_FRAC)) {
+        while (*cur == '0') {
+	    frac = frac + 1;
+	    cur++;
+        }
+        max = frac + MAX_FRAC;
+	while (((*cur >= '0') && (*cur <= '9')) && (frac < max)) {
 	    v = (*cur - '0');
 	    fraction = fraction * 10 + v;
 	    frac = frac + 1;
 	    cur++;
 	}
-	fraction /= my_pow10[frac];
+	fraction /= pow(10.0, frac);
 	ret = ret + fraction;
 	while ((*cur >= '0') && (*cur <= '9'))
 	    cur++;
@@ -10159,12 +10121,13 @@
         cur++;
       }
       while ((*cur >= '0') && (*cur <= '9')) {
-	exponent = exponent * 10 + (*cur - '0');
+        if (exponent < 1000000)
+	  exponent = exponent * 10 + (*cur - '0');
 	cur++;
       }
     }
     while (IS_BLANK_CH(*cur)) cur++;
-    if (*cur != 0) return(xmlXPathNAN);
+    if (*cur != 0) return(NAN);
     if (isneg) ret = -ret;
     if (is_exponent_negative) exponent = -exponent;
     ret *= pow(10.0, (double)exponent);
@@ -10221,20 +10184,25 @@
     }
 #endif
     if (CUR == '.') {
-	int v, frac = 0;
+	int v, frac = 0, max;
 	double fraction = 0;
 
         NEXT;
         if (((CUR < '0') || (CUR > '9')) && (!ok)) {
             XP_ERROR(XPATH_NUMBER_ERROR);
         }
-        while ((CUR >= '0') && (CUR <= '9') && (frac < MAX_FRAC)) {
+        while (CUR == '0') {
+            frac = frac + 1;
+            NEXT;
+        }
+        max = frac + MAX_FRAC;
+        while ((CUR >= '0') && (CUR <= '9') && (frac < max)) {
 	    v = (CUR - '0');
 	    fraction = fraction * 10 + v;
 	    frac = frac + 1;
             NEXT;
         }
-        fraction /= my_pow10[frac];
+        fraction /= pow(10.0, frac);
         ret = ret + fraction;
         while ((CUR >= '0') && (CUR <= '9'))
             NEXT;
@@ -10248,7 +10216,8 @@
 	    NEXT;
 	}
         while ((CUR >= '0') && (CUR <= '9')) {
-            exponent = exponent * 10 + (CUR - '0');
+            if (exponent < 1000000)
+                exponent = exponent * 10 + (CUR - '0');
             NEXT;
         }
         if (is_exponent_negative)
@@ -10379,6 +10348,7 @@
     NEXT;
     name = xmlXPathParseQName(ctxt, &prefix);
     if (name == NULL) {
+        xmlFree(prefix);
 	XP_ERROR(XPATH_VARIABLE_REF_ERROR);
     }
     ctxt->comp->last = -1;
@@ -10452,6 +10422,8 @@
 #endif
 
     if (CUR != '(') {
+	xmlFree(name);
+	xmlFree(prefix);
 	XP_ERROR(XPATH_EXPR_ERROR);
     }
     NEXT;
@@ -10480,6 +10452,8 @@
 	    nbargs++;
 	    if (CUR == ')') break;
 	    if (CUR != ',') {
+		xmlFree(name);
+		xmlFree(prefix);
 		XP_ERROR(XPATH_EXPR_ERROR);
 	    }
 	    NEXT;
@@ -11915,11 +11889,11 @@
 		}
 	    }
 
-            frame = xmlXPathSetFrame(ctxt);
 	    valuePush(ctxt, contextObj);
+            frame = xmlXPathSetFrame(ctxt);
 	    res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
-            tmp = valuePop(ctxt);
             xmlXPathPopFrame(ctxt, frame);
+            tmp = valuePop(ctxt);
 
 	    if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
                 while (tmp != contextObj) {
@@ -12054,6 +12028,8 @@
 	(exprOp->value4 != NULL) &&
 	(((xmlXPathObjectPtr) exprOp->value4)->type == XPATH_NUMBER))
     {
+        double floatval = ((xmlXPathObjectPtr) exprOp->value4)->floatval;
+
 	/*
 	* We have a "[n]" predicate here.
 	* TODO: Unfortunately this simplistic test here is not
@@ -12064,13 +12040,12 @@
 	* like it "[position() < 5]", is also not detected.
 	* Maybe we could rewrite the AST to ease the optimization.
 	*/
-	*maxPos = (int) ((xmlXPathObjectPtr) exprOp->value4)->floatval;
 
-	if (((xmlXPathObjectPtr) exprOp->value4)->floatval ==
-	    (float) *maxPos)
-	{
-	    return(1);
-	}
+        if ((floatval > INT_MIN) && (floatval < INT_MAX)) {
+	    *maxPos = (int) floatval;
+            if (floatval == (double) *maxPos)
+                return(1);
+        }
     }
     return(0);
 }
@@ -12411,7 +12386,7 @@
 			    default:
 				break;
 			}
-		    } else if (cur->type == type) {
+		    } else if (cur->type == (xmlElementType) type) {
 			if (cur->type == XML_NAMESPACE_DECL)
 			    XP_TEST_HIT_NS
 			else
@@ -12772,11 +12747,15 @@
                 xmlXPathCompOpEvalFirst(ctxt, &comp->steps[op->ch2],
                                         first);
 	    CHECK_ERROR0;
-            CHECK_TYPE0(XPATH_NODESET);
-            arg2 = valuePop(ctxt);
 
-            CHECK_TYPE0(XPATH_NODESET);
+            arg2 = valuePop(ctxt);
             arg1 = valuePop(ctxt);
+            if ((arg1 == NULL) || (arg1->type != XPATH_NODESET) ||
+                (arg2 == NULL) || (arg2->type != XPATH_NODESET)) {
+	        xmlXPathReleaseObject(ctxt->context, arg1);
+	        xmlXPathReleaseObject(ctxt->context, arg2);
+                XP_ERROR0(XPATH_INVALID_TYPE);
+            }
 
             arg1->nodesetval = xmlXPathNodeSetMerge(arg1->nodesetval,
                                                     arg2->nodesetval);
@@ -12907,11 +12886,15 @@
                 && (ctxt->value->nodesetval != NULL)
                 && (ctxt->value->nodesetval->nodeNr >= 1)) { /* TODO: NOP ? */
             }
-            CHECK_TYPE0(XPATH_NODESET);
-            arg2 = valuePop(ctxt);
 
-            CHECK_TYPE0(XPATH_NODESET);
+            arg2 = valuePop(ctxt);
             arg1 = valuePop(ctxt);
+            if ((arg1 == NULL) || (arg1->type != XPATH_NODESET) ||
+                (arg2 == NULL) || (arg2->type != XPATH_NODESET)) {
+	        xmlXPathReleaseObject(ctxt->context, arg1);
+	        xmlXPathReleaseObject(ctxt->context, arg2);
+                XP_ERROR0(XPATH_INVALID_TYPE);
+            }
 
             arg1->nodesetval = xmlXPathNodeSetMerge(arg1->nodesetval,
                                                     arg2->nodesetval);
@@ -13022,13 +13005,7 @@
 		(ctxt->value->nodesetval != NULL) &&
 		(ctxt->value->nodesetval->nodeTab != NULL) &&
 		(ctxt->value->nodesetval->nodeNr > 1)) {
-		ctxt->value->nodesetval->nodeTab[0] =
-		    ctxt->value->nodesetval->nodeTab[ctxt->
-		    value->
-		    nodesetval->
-		    nodeNr -
-		    1];
-		ctxt->value->nodesetval->nodeNr = 1;
+                xmlXPathNodeSetKeepLast(ctxt->value->nodesetval);
 		*first = *(ctxt->value->nodesetval->nodeTab);
 	    }
 	    return (total);
@@ -13445,11 +13422,15 @@
 	    ctxt->context->contextSize = cs;
             total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]);
 	    CHECK_ERROR0;
-            CHECK_TYPE0(XPATH_NODESET);
-            arg2 = valuePop(ctxt);
 
-            CHECK_TYPE0(XPATH_NODESET);
+            arg2 = valuePop(ctxt);
             arg1 = valuePop(ctxt);
+            if ((arg1 == NULL) || (arg1->type != XPATH_NODESET) ||
+                (arg2 == NULL) || (arg2->type != XPATH_NODESET)) {
+	        xmlXPathReleaseObject(ctxt->context, arg1);
+	        xmlXPathReleaseObject(ctxt->context, arg2);
+                XP_ERROR0(XPATH_INVALID_TYPE);
+            }
 
 	    if ((arg1->nodesetval == NULL) ||
 		((arg2->nodesetval != NULL) &&
@@ -13507,10 +13488,8 @@
                         xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
                 if (op->value5 == NULL) {
 		    val = xmlXPathVariableLookup(ctxt->context, op->value4);
-		    if (val == NULL) {
-			ctxt->error = XPATH_UNDEF_VARIABLE_ERROR;
-			return(0);
-		    }
+		    if (val == NULL)
+			XP_ERROR0(XPATH_UNDEF_VARIABLE_ERROR);
                     valuePush(ctxt, val);
 		} else {
                     const xmlChar *URI;
@@ -13525,10 +13504,8 @@
                     }
 		    val = xmlXPathVariableLookupNS(ctxt->context,
                                                        op->value4, URI);
-		    if (val == NULL) {
-			ctxt->error = XPATH_UNDEF_VARIABLE_ERROR;
-			return(0);
-		    }
+		    if (val == NULL)
+			XP_ERROR0(XPATH_UNDEF_VARIABLE_ERROR);
                     valuePush(ctxt, val);
                 }
                 return (total);
@@ -13565,7 +13542,7 @@
 		    }
                 }
                 if (op->cache != NULL)
-                    XML_CAST_FPTR(func) = op->cache;
+                    func = op->cache;
                 else {
                     const xmlChar *URI = NULL;
 
@@ -13592,7 +13569,7 @@
                                         (char *)op->value4);
                         XP_ERROR0(XPATH_UNKNOWN_FUNC_ERROR);
                     }
-                    op->cache = XML_CAST_FPTR(func);
+                    op->cache = func;
                     op->cacheURI = (void *) URI;
                 }
                 oldFunc = ctxt->context->function;
@@ -13677,7 +13654,8 @@
                             (ctxt->value->type == XPATH_NODESET) &&
                             (ctxt->value->nodesetval != NULL) &&
                             (ctxt->value->nodesetval->nodeNr > 1))
-                            ctxt->value->nodesetval->nodeNr = 1;
+                            xmlXPathNodeSetClearFromPos(ctxt->value->nodesetval,
+                                                        1, 1);
                         return (total);
                     }
                 }
@@ -13711,15 +13689,8 @@
                             (ctxt->value->type == XPATH_NODESET) &&
                             (ctxt->value->nodesetval != NULL) &&
                             (ctxt->value->nodesetval->nodeTab != NULL) &&
-                            (ctxt->value->nodesetval->nodeNr > 1)) {
-                            ctxt->value->nodesetval->nodeTab[0] =
-                                ctxt->value->nodesetval->nodeTab[ctxt->
-                                                                 value->
-                                                                 nodesetval->
-                                                                 nodeNr -
-                                                                 1];
-                            ctxt->value->nodesetval->nodeNr = 1;
-                        }
+                            (ctxt->value->nodesetval->nodeNr > 1))
+                            xmlXPathNodeSetKeepLast(ctxt->value->nodesetval);
                         return (total);
                     }
                 }
@@ -14908,10 +14879,11 @@
 static int
 xmlXPathCompiledEvalInternal(xmlXPathCompExprPtr comp,
 			     xmlXPathContextPtr ctxt,
-			     xmlXPathObjectPtr *resObj,
+			     xmlXPathObjectPtr *resObjPtr,
 			     int toBool)
 {
     xmlXPathParserContextPtr pctxt;
+    xmlXPathObjectPtr resObj;
 #ifndef LIBXML_THREAD_ENABLED
     static int reentance = 0;
 #endif
@@ -14939,43 +14911,26 @@
     pctxt = xmlXPathCompParserContext(comp, ctxt);
     res = xmlXPathRunEval(pctxt, toBool);
 
-    if (resObj) {
-	if (pctxt->value == NULL) {
-	    xmlGenericError(xmlGenericErrorContext,
-		"xmlXPathCompiledEval: evaluation failed\n");
-	    *resObj = NULL;
-	} else {
-	    *resObj = valuePop(pctxt);
-	}
+    if (pctxt->error != XPATH_EXPRESSION_OK) {
+        resObj = NULL;
+    } else {
+        resObj = valuePop(pctxt);
+        if (resObj == NULL) {
+            if (!toBool)
+                xmlGenericError(xmlGenericErrorContext,
+                    "xmlXPathCompiledEval: No result on the stack.\n");
+        } else if (pctxt->valueNr > 0) {
+            xmlGenericError(xmlGenericErrorContext,
+                "xmlXPathCompiledEval: %d object(s) left on the stack.\n",
+                pctxt->valueNr);
+        }
     }
 
-    /*
-    * Pop all remaining objects from the stack.
-    */
-    if (pctxt->valueNr > 0) {
-	xmlXPathObjectPtr tmp;
-	int stack = 0;
+    if (resObjPtr)
+        *resObjPtr = resObj;
+    else
+        xmlXPathReleaseObject(ctxt, resObj);
 
-	do {
-	    tmp = valuePop(pctxt);
-	    if (tmp != NULL) {
-		stack++;
-		xmlXPathReleaseObject(ctxt, tmp);
-	    }
-	} while (tmp != NULL);
-	if ((stack != 0) &&
-	    ((toBool) || ((resObj) && (*resObj))))
-	{
-	    xmlGenericError(xmlGenericErrorContext,
-		"xmlXPathCompiledEval: %d objects left on the stack.\n",
-		stack);
-	}
-    }
-
-    if ((pctxt->error != XPATH_EXPRESSION_OK) && (resObj) && (*resObj)) {
-	xmlXPathFreeObject(*resObj);
-	*resObj = NULL;
-    }
     pctxt->comp = NULL;
     xmlXPathFreeParserContext(pctxt);
 #ifndef LIBXML_THREAD_ENABLED
@@ -15043,22 +14998,21 @@
         if (ctxt->comp != NULL)
 	    xmlXPathFreeCompExpr(ctxt->comp);
         ctxt->comp = comp;
-	if (ctxt->cur != NULL)
-	    while (*ctxt->cur != 0) ctxt->cur++;
     } else
 #endif
     {
 	xmlXPathCompileExpr(ctxt, 1);
-	if ((ctxt->error == XPATH_EXPRESSION_OK) &&
-	    (ctxt->comp != NULL) &&
-	    (ctxt->comp->nbStep > 1) &&
-	    (ctxt->comp->last >= 0))
-	{
+        CHECK_ERROR;
+
+        /* Check for trailing characters. */
+        if (*ctxt->cur != 0)
+            XP_ERROR(XPATH_EXPR_ERROR);
+
+	if ((ctxt->comp->nbStep > 1) && (ctxt->comp->last >= 0))
 	    xmlXPathOptimizeExpression(ctxt->comp,
 		&ctxt->comp->steps[ctxt->comp->last]);
-	}
     }
-    CHECK_ERROR;
+
     xmlXPathRunEval(ctxt, 0);
 }
 
@@ -15075,8 +15029,7 @@
 xmlXPathObjectPtr
 xmlXPathEval(const xmlChar *str, xmlXPathContextPtr ctx) {
     xmlXPathParserContextPtr ctxt;
-    xmlXPathObjectPtr res, tmp, init = NULL;
-    int stack = 0;
+    xmlXPathObjectPtr res;
 
     CHECK_CTXT(ctx)
 
@@ -15087,37 +15040,18 @@
         return NULL;
     xmlXPathEvalExpr(ctxt);
 
-    if (ctxt->value == NULL) {
-	xmlGenericError(xmlGenericErrorContext,
-		"xmlXPathEval: evaluation failed\n");
-	res = NULL;
-    } else if ((*ctxt->cur != 0) && (ctxt->comp != NULL)
-#ifdef XPATH_STREAMING
-            && (ctxt->comp->stream == NULL)
-#endif
-	      ) {
-	xmlXPatherror(ctxt, __FILE__, __LINE__, XPATH_EXPR_ERROR);
+    if (ctxt->error != XPATH_EXPRESSION_OK) {
 	res = NULL;
     } else {
 	res = valuePop(ctxt);
-    }
-
-    do {
-        tmp = valuePop(ctxt);
-	if (tmp != NULL) {
-	    if (tmp != init)
-		stack++;
-	    xmlXPathReleaseObject(ctx, tmp);
+        if (res == NULL) {
+            xmlGenericError(xmlGenericErrorContext,
+                "xmlXPathCompiledEval: No result on the stack.\n");
+        } else if (ctxt->valueNr > 0) {
+            xmlGenericError(xmlGenericErrorContext,
+                "xmlXPathCompiledEval: %d object(s) left on the stack.\n",
+                ctxt->valueNr);
         }
-    } while (tmp != NULL);
-    if ((stack != 0) && (res != NULL)) {
-	xmlGenericError(xmlGenericErrorContext,
-		"xmlXPathEval: %d object left on the stack\n",
-	        stack);
-    }
-    if (ctxt->error != XPATH_EXPRESSION_OK) {
-	xmlXPathFreeObject(res);
-	res = NULL;
     }
 
     xmlXPathFreeParserContext(ctxt);
@@ -15172,46 +15106,14 @@
  * @str:  the XPath expression
  * @ctxt:  the XPath context
  *
- * Evaluate the XPath expression in the given context.
+ * Alias for xmlXPathEval().
  *
  * Returns the xmlXPathObjectPtr resulting from the evaluation or NULL.
  *         the caller has to free the object.
  */
 xmlXPathObjectPtr
 xmlXPathEvalExpression(const xmlChar *str, xmlXPathContextPtr ctxt) {
-    xmlXPathParserContextPtr pctxt;
-    xmlXPathObjectPtr res, tmp;
-    int stack = 0;
-
-    CHECK_CTXT(ctxt)
-
-    xmlXPathInit();
-
-    pctxt = xmlXPathNewParserContext(str, ctxt);
-    if (pctxt == NULL)
-        return NULL;
-    xmlXPathEvalExpr(pctxt);
-
-    if ((*pctxt->cur != 0) || (pctxt->error != XPATH_EXPRESSION_OK)) {
-	xmlXPatherror(pctxt, __FILE__, __LINE__, XPATH_EXPR_ERROR);
-	res = NULL;
-    } else {
-	res = valuePop(pctxt);
-    }
-    do {
-        tmp = valuePop(pctxt);
-	if (tmp != NULL) {
-	    xmlXPathReleaseObject(ctxt, tmp);
-	    stack++;
-	}
-    } while (tmp != NULL);
-    if ((stack != 0) && (res != NULL)) {
-	xmlGenericError(xmlGenericErrorContext,
-		"xmlXPathEvalExpression: %d object left on the stack\n",
-	        stack);
-    }
-    xmlXPathFreeParserContext(pctxt);
-    return(res);
+    return(xmlXPathEval(str, ctxt));
 }
 
 /************************************************************************
diff --git a/xpointer.c b/xpointer.c
index d8a2e59..6a41f07 100644
--- a/xpointer.c
+++ b/xpointer.c
@@ -14,6 +14,11 @@
  * daniel@veillard.com
  */
 
+/* To avoid EBCDIC trouble when parsing on zOS */
+#if defined(__MVS__)
+#pragma convert("ISO8859-1")
+#endif
+
 #define IN_LIBXML
 #include "libxml.h"
 
@@ -99,6 +104,10 @@
 			msg, extra);
 	return;
     }
+
+    /* cleanup current last error */
+    xmlResetError(&ctxt->context->lastError);
+
     ctxt->context->lastError.domain = XML_FROM_XPOINTER;
     ctxt->context->lastError.code = error;
     ctxt->context->lastError.level = XML_ERR_ERROR;
@@ -458,8 +467,6 @@
 	return(NULL);
     if (end == NULL)
 	return(NULL);
-    if (start->type != XPATH_POINT)
-	return(NULL);
     if (end->type != XPATH_POINT)
 	return(NULL);
 
@@ -542,7 +549,7 @@
 	    /*
 	     * Empty set ...
 	     */
-	    if (end->nodesetval->nodeNr <= 0)
+	    if ((end->nodesetval == NULL) || (end->nodesetval->nodeNr <= 0))
 		return(NULL);
 	    endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
 	    endIndex = -1;
@@ -949,8 +956,10 @@
     if (name == NULL)
 	XP_ERROR(XPATH_EXPR_ERROR);
 
-    if (CUR != '(')
+    if (CUR != '(') {
+        xmlFree(name);
 	XP_ERROR(XPATH_EXPR_ERROR);
+    }
     NEXT;
     level = 1;
 
@@ -959,6 +968,7 @@
     buffer = (xmlChar *) xmlMallocAtomic(len * sizeof (xmlChar));
     if (buffer == NULL) {
         xmlXPtrErrMemory("allocating buffer");
+        xmlFree(name);
 	return;
     }
 
@@ -983,6 +993,7 @@
     *cur = 0;
 
     if ((level != 0) && (CUR == 0)) {
+        xmlFree(name);
 	xmlFree(buffer);
 	XP_ERROR(XPTR_SYNTAX_ERROR);
     }
@@ -1015,6 +1026,7 @@
 	    if (name2 == NULL) {
 		CUR_PTR = left;
 		xmlFree(buffer);
+                xmlFree(name);
 		XP_ERROR(XPATH_EXPR_ERROR);
 	    }
 	    xmlXPtrEvalChildSeq(ctxt, name2);
@@ -1361,7 +1373,7 @@
 		     */
 		    xmlNodeSetPtr set;
 		    set = tmp->nodesetval;
-		    if ((set->nodeNr != 1) ||
+		    if ((set == NULL) || (set->nodeNr != 1) ||
 			(set->nodeTab[0] != (xmlNodePtr) ctx->doc))
 			stack++;
 		} else
@@ -1796,8 +1808,8 @@
 		case XPATH_RANGE: {
 		    xmlNodePtr node = tmp->user;
 		    if (node != NULL) {
-			if (node->type == XML_ATTRIBUTE_NODE) {
-			    /* TODO: Namespace Nodes ??? */
+			if ((node->type == XML_ATTRIBUTE_NODE) ||
+                            (node->type == XML_NAMESPACE_DECL)) {
 			    xmlXPathFreeObject(obj);
 			    xmlXPtrFreeLocationSet(newset);
 			    XP_ERROR(XPTR_SYNTAX_ERROR);
@@ -1892,8 +1904,8 @@
 		case XPATH_RANGE: {
 		    xmlNodePtr node = tmp->user2;
 		    if (node != NULL) {
-			if (node->type == XML_ATTRIBUTE_NODE) {
-			    /* TODO: Namespace Nodes ??? */
+			if ((node->type == XML_ATTRIBUTE_NODE) ||
+                            (node->type == XML_NAMESPACE_DECL)) {
 			    xmlXPathFreeObject(obj);
 			    xmlXPtrFreeLocationSet(newset);
 			    XP_ERROR(XPTR_SYNTAX_ERROR);
@@ -2034,9 +2046,11 @@
 	xmlXPathFreeObject(set);
         XP_ERROR(XPATH_MEMORY_ERROR);
     }
-    for (i = 0;i < oldset->locNr;i++) {
-	xmlXPtrLocationSetAdd(newset,
-		xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
+    if (oldset != NULL) {
+        for (i = 0;i < oldset->locNr;i++) {
+            xmlXPtrLocationSetAdd(newset,
+                    xmlXPtrCoveringRange(ctxt, oldset->locTab[i]));
+        }
     }
 
     /*
diff --git a/xzlib.c b/xzlib.c
index 782957f..a839169 100644
--- a/xzlib.c
+++ b/xzlib.c
@@ -31,10 +31,10 @@
 #ifdef HAVE_STDLIB_H
 #include <stdlib.h>
 #endif
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 #include <zlib.h>
 #endif
-#ifdef HAVE_LZMA_H
+#ifdef LIBXML_LZMA_ENABLED
 #include <lzma.h>
 #endif
 
@@ -76,7 +76,7 @@
     char padding1[32];          /* padding allowing to cope with possible
                                    extensions of above structure without
 				   too much side effect */
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     /* zlib inflate or deflate stream */
     z_stream zstrm;             /* stream structure in-place (not a pointer) */
 #endif
@@ -130,7 +130,7 @@
     xz_error(state, LZMA_OK, NULL);     /* clear error */
     state->pos = 0;             /* no uncompressed data yet */
     state->strm.avail_in = 0;   /* no input data yet */
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     state->zstrm.avail_in = 0;  /* no input data yet */
 #endif
 }
@@ -272,7 +272,7 @@
     return 0;
 }
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 static int
 xz_avail_zstrm(xz_statep state)
 {
@@ -349,7 +349,7 @@
     return 1;
 }
 
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
 
 /* Get next byte from input, or -1 if end or error. */
 #define NEXT() ((strm->avail_in == 0 && xz_avail(state) == -1) ? -1 : \
@@ -408,14 +408,14 @@
         state->strm = init;
         state->strm.avail_in = 0;
         state->strm.next_in = NULL;
-        if (lzma_auto_decoder(&state->strm, UINT64_MAX, 0) != LZMA_OK) {
+        if (lzma_auto_decoder(&state->strm, 100000000, 0) != LZMA_OK) {
             xmlFree(state->out);
             xmlFree(state->in);
             state->size = 0;
             xz_error(state, LZMA_MEM_ERROR, "out of memory");
             return -1;
         }
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
         /* allocate inflate memory */
         state->zstrm.zalloc = Z_NULL;
         state->zstrm.zfree = Z_NULL;
@@ -449,7 +449,7 @@
         state->direct = 0;
         return 0;
     }
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     /* look for the gzip magic header bytes 31 and 139 */
     if (strm->next_in[0] == 31) {
         strm->avail_in--;
@@ -550,7 +550,7 @@
             action = LZMA_FINISH;
 
         /* decompress and handle errors */
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
         if (state->how == GZIP) {
             state->zstrm.avail_in = (uInt) state->strm.avail_in;
             state->zstrm.next_in = (Bytef *) state->strm.next_in;
@@ -592,13 +592,13 @@
     /* update available output and crc check value */
     state->have = had - strm->avail_out;
     state->next = strm->next_out - state->have;
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
     state->zstrm.adler =
         crc32(state->zstrm.adler, state->next, state->have);
 #endif
 
     if (ret == LZMA_STREAM_END) {
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
         if (state->how == GZIP) {
             if (gz_next4(state, &crc) == -1 || gz_next4(state, &len) == -1) {
                 xz_error(state, LZMA_DATA_ERROR, "unexpected end of file");
@@ -788,7 +788,7 @@
     /* free memory and close file */
     if (state->size) {
         lzma_end(&(state->strm));
-#ifdef HAVE_ZLIB_H
+#ifdef LIBXML_ZLIB_ENABLED
         if (state->init == 1)
             inflateEnd(&(state->zstrm));
         state->init = 0;
@@ -797,6 +797,8 @@
         xmlFree(state->in);
     }
     xmlFree(state->path);
+    if ((state->msg != NULL) && (state->err != LZMA_MEM_ERROR))
+        xmlFree(state->msg);
     ret = close(state->fd);
     xmlFree(state);
     return ret ? ret : LZMA_OK;