{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/tmp.dp8eiZ4Cpd/b1/jsjac_1.3.4+dfsg-3_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/tmp.dp8eiZ4Cpd/b2/jsjac_1.3.4+dfsg-3_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,2 +1,2 @@\n \n- 48cc442b23717bc96e48a2f44f205663 83812 javascript optional libjs-jac_1.3.4+dfsg-3_all.deb\n+ 7721d30c1d17d3f2f9252d19d0e64019 85260 javascript optional libjs-jac_1.3.4+dfsg-3_all.deb\n"}, {"source1": "libjs-jac_1.3.4+dfsg-3_all.deb", "source2": "libjs-jac_1.3.4+dfsg-3_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2021-01-04 23:02:43.000000 debian-binary\n--rw-r--r-- 0 0 0 2696 2021-01-04 23:02:43.000000 control.tar.xz\n--rw-r--r-- 0 0 0 80924 2021-01-04 23:02:43.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 2684 2021-01-04 23:02:43.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 82384 2021-01-04 23:02:43.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n drwxr-xr-x 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./\n--rw-r--r-- 0 root (0) root (0) 760 2021-01-04 23:02:43.000000 ./control\n+-rw-r--r-- 0 root (0) root (0) 761 2021-01-04 23:02:43.000000 ./control\n -rw-r--r-- 0 root (0) root (0) 6529 2021-01-04 23:02:43.000000 ./md5sums\n"}, {"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: libjs-jac\n Source: jsjac\n Version: 1.3.4+dfsg-3\n Architecture: all\n Maintainer: Debian XMPP Maintainers \n-Installed-Size: 997\n+Installed-Size: 1018\n Recommends: javascript-common\n Suggests: ejabberd\n Section: javascript\n Priority: optional\n Homepage: https://github.com/sstrigler/JSJaC\n Description: JavaScript Jabber Client Library\n JSJaC is a jabber client library written in JavaScript to ease implementation\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -76,11 +76,11 @@\n -rw-r--r-- 0 root (0) root (0) 6305 2021-01-04 23:02:43.000000 ./usr/share/doc/libjs-jac/doc/overview-tree.html\n -rw-r--r-- 0 root (0) root (0) 660 2021-01-04 23:02:43.000000 ./usr/share/doc/libjs-jac/doc/overview-xmlextras.js.html\n -rw-r--r-- 0 root (0) root (0) 1583 2021-01-04 23:02:43.000000 ./usr/share/doc/libjs-jac/doc/stylesheet.css\n drwxr-xr-x 0 root (0) root (0) 0 2011-03-14 00:20:43.000000 ./usr/share/doc/libjs-jac/examples/\n -rw-r--r-- 0 root (0) root (0) 9874 2011-03-14 00:20:43.000000 ./usr/share/doc/libjs-jac/examples/simpleclient.html\n drwxr-xr-x 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/\n drwxr-xr-x 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/\n--rw-r--r-- 0 root (0) root (0) 14691 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.min.js\n--rw-r--r-- 0 root (0) root (0) 164096 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.uncompressed.js\n+-rw-r--r-- 0 root (0) root (0) 21722 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.min.js\n+-rw-r--r-- 0 root (0) root (0) 178223 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.uncompressed.js\n lrwxrwxrwx 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.js -> jsjac.uncompressed.js\n lrwxrwxrwx 0 root (0) root (0) 0 2021-01-04 23:02:43.000000 ./usr/share/javascript/jsjac/jsjac.packed.js -> jsjac.min.js\n"}, {"source1": "./usr/share/doc/libjs-jac/doc/Date.html", "source2": "./usr/share/doc/libjs-jac/doc/Date.html", "unified_diff": "@@ -362,10 +362,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/Document.html", "source2": "./usr/share/doc/libjs-jac/doc/Document.html", "unified_diff": "@@ -200,10 +200,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/GLOBALS.html", "source2": "./usr/share/doc/libjs-jac/doc/GLOBALS.html", "unified_diff": "@@ -1609,10 +1609,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCConnection.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCConnection.html", "unified_diff": "@@ -79,15 +79,15 @@\n \n \n \n
\n
\n Direct Known Subclasses: \n
\n- JSJaCHttpPollingConnection, JSJaCHttpBindingConnection\n+ JSJaCHttpBindingConnection, JSJaCHttpPollingConnection\n
\n
\n \n \n \n
\n
\n@@ -1054,10 +1054,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCConsoleLogger.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCConsoleLogger.html", "unified_diff": "@@ -448,10 +448,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCCookie.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCCookie.html", "unified_diff": "@@ -911,10 +911,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCCookieException.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCCookieException.html", "unified_diff": "@@ -308,10 +308,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCHttpBindingConnection.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCHttpBindingConnection.html", "unified_diff": "@@ -416,10 +416,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCHttpPollingConnection.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCHttpPollingConnection.html", "unified_diff": "@@ -350,10 +350,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCIQ.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCIQ.html", "unified_diff": "@@ -542,10 +542,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCJID.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCJID.html", "unified_diff": "@@ -747,10 +747,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCJIDInvalidException.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCJIDInvalidException.html", "unified_diff": "@@ -309,10 +309,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCJSON.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCJSON.html", "unified_diff": "@@ -330,10 +330,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCKeys.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCKeys.html", "unified_diff": "@@ -444,10 +444,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCMessage.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCMessage.html", "unified_diff": "@@ -579,10 +579,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCPacket.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCPacket.html", "unified_diff": "@@ -79,15 +79,15 @@\n \n \n \n
\n
\n Direct Known Subclasses: \n
\n- JSJaCPresence, JSJaCMessage, JSJaCIQ\n+ JSJaCIQ, JSJaCPresence, JSJaCMessage\n
\n
\n \n \n \n
\n
\n@@ -1332,10 +1332,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/JSJaCPresence.html", "source2": "./usr/share/doc/libjs-jac/doc/JSJaCPresence.html", "unified_diff": "@@ -639,10 +639,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/Node.html", "source2": "./usr/share/doc/libjs-jac/doc/Node.html", "unified_diff": "@@ -200,10 +200,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/Number.html", "source2": "./usr/share/doc/libjs-jac/doc/Number.html", "unified_diff": "@@ -309,10 +309,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/STANZA_ERROR.html", "source2": "./usr/share/doc/libjs-jac/doc/STANZA_ERROR.html", "unified_diff": "@@ -314,10 +314,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/String.html", "source2": "./usr/share/doc/libjs-jac/doc/String.html", "unified_diff": "@@ -265,10 +265,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/XMLDocument.html", "source2": "./usr/share/doc/libjs-jac/doc/XMLDocument.html", "unified_diff": "@@ -200,10 +200,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/help-doc.html", "source2": "./usr/share/doc/libjs-jac/doc/help-doc.html", "unified_diff": "@@ -151,10 +151,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/index-all.html", "source2": "./usr/share/doc/libjs-jac/doc/index-all.html", "unified_diff": "@@ -1379,10 +1379,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaC.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaC.js.html", "unified_diff": "@@ -200,10 +200,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCBuilder.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCBuilder.js.html", "unified_diff": "@@ -277,10 +277,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConfig.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConfig.js.html", "unified_diff": "@@ -172,10 +172,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConnection.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConnection.js.html", "unified_diff": "@@ -76,16 +76,16 @@\n \n \n

Summary

\n

\n \t\n \t\tContains all things in common for all subtypes of connections\n supported.\n-

Author: Stefan Strigler steve@zeank.in-berlin.de\n-
Version: $Revision$

\n+

Version: $Revision$

Author: Stefan Strigler steve@zeank.in-berlin.de\n+
\n \t\n

\n \n
\n \n \n \n@@ -1454,10 +1454,10 @@\n
\n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConsoleLogger.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConsoleLogger.js.html", "unified_diff": "@@ -239,10 +239,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConstants.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCConstants.js.html", "unified_diff": "@@ -259,10 +259,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCCookie.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCCookie.js.html", "unified_diff": "@@ -392,10 +392,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCError.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCError.js.html", "unified_diff": "@@ -161,10 +161,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCHttpBindingConnection.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCHttpBindingConnection.js.html", "unified_diff": "@@ -695,10 +695,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCHttpPollingConnection.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCHttpPollingConnection.js.html", "unified_diff": "@@ -498,10 +498,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCJID.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCJID.js.html", "unified_diff": "@@ -370,10 +370,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCJSON.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCJSON.js.html", "unified_diff": "@@ -295,10 +295,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCKeys.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCKeys.js.html", "unified_diff": "@@ -229,10 +229,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCPacket.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-JSJaCPacket.js.html", "unified_diff": "@@ -908,10 +908,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-crypt.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-crypt.js.html", "unified_diff": "@@ -76,16 +76,16 @@\n \n \n

Summary

\n

\n \t\n \t\tCollection of MD5 and SHA1 hashing and encoding\n methods.\n-

Author: Stefan Strigler steve@zeank.in-berlin.de\n-
Version: $Revision$

\n+

Version: $Revision$

Author: Stefan Strigler steve@zeank.in-berlin.de\n+
\n \t\n

\n \n
\n \n \n \n@@ -1523,10 +1523,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-header.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-header.js.html", "unified_diff": "@@ -155,10 +155,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-jsextras.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-jsextras.js.html", "unified_diff": "@@ -75,16 +75,16 @@\n \t\n \n \n

Summary

\n

\n \t\n \t\tCollection of functions to make live easier\n-

Author: Stefan Strigler\n-
Version: $Revision$

\n+

Version: $Revision$

Author: Stefan Strigler\n+
\n \t\n

\n \n
\n \n \n \n@@ -239,10 +239,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary-xmlextras.js.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary-xmlextras.js.html", "unified_diff": "@@ -78,16 +78,16 @@\n

Summary

\n

\n \t\n \t\tWrapper to make working with XmlHttpRequest and the\n DOM more convenient (cross browser compliance).\n this code is taken from\n http://webfx.eae.net/dhtml/xmlextras/xmlextras.html\n-

Author: Stefan Strigler steve@zeank.in-berlin.de\n-
Version: $Revision$

\n+

Version: $Revision$

Author: Stefan Strigler steve@zeank.in-berlin.de\n+
\n \t\n

\n \n
\n \n \n \n@@ -383,10 +383,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-summary.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-summary.html", "unified_diff": "@@ -258,10 +258,10 @@\n \n \n \n
\n \n \n \n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\n \n \n"}, {"source1": "./usr/share/doc/libjs-jac/doc/overview-tree.html", "source2": "./usr/share/doc/libjs-jac/doc/overview-tree.html", "unified_diff": "@@ -133,10 +133,10 @@\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n-
Documentation generated by JSDoc on Mon Mar 14 07:40:09 2022
\r\n+
Documentation generated by JSDoc on Tue Mar 15 09:41:50 2022
\r\n \r\n \r\n"}, {"source1": "./usr/share/javascript/jsjac/jsjac.min.js", "source2": "./usr/share/javascript/jsjac/jsjac.min.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,7 +1,20 @@\n+JSJAC_HAVEKEYS = true;\n+JSJAC_NKEYS = 16;\n+JSJAC_INACTIVITY = 300;\n+JSJAC_ERR_COUNT = 10;\n+JSJAC_ALLOW_PLAIN = true;\n+JSJAC_CHECKQUEUEINTERVAL = 1;\n+JSJAC_CHECKINQUEUEINTERVAL = 1;\n+JSJAC_TIMERVAL = 2000;\n+JSJACHBC_MAX_HOLD = 1;\n+JSJACHBC_MAX_WAIT = 300;\n+JSJACHBC_BOSH_VERSION = \"1.6\";\n+JSJACHBC_USE_BOSH_VER = true;\n+JSJACHBC_MAXPAUSE = 120;\n String.prototype.htmlEnc = function() {\n var a = this.replace(/&/g, \"&\");\n a = a.replace(//g, \">\");\n a = a.replace(/\\\"/g, \""\");\n a = a.replace(/\\n/g, \"
\");\n return a\n@@ -743,8 +756,279 @@\n });\n Document.prototype.__defineGetter__(\"xml\", function() {\n return (new XMLSerializer()).serializeToString(this)\n });\n Node.prototype.__defineGetter__(\"xml\", function() {\n return (new XMLSerializer()).serializeToString(this)\n })\n+}\n+var JSJaCBuilder = {\n+ buildNode: function(d, a) {\n+ var b, c = arguments[4];\n+ if (arguments[2]) {\n+ if (JSJaCBuilder._isStringOrNumber(arguments[2]) || (arguments[2] instanceof Array)) {\n+ b = this._createElement(d, a, c);\n+ JSJaCBuilder._children(d, b, arguments[2])\n+ } else {\n+ c = arguments[2][\"xmlns\"] || c;\n+ b = this._createElement(d, a, c);\n+ for (attr in arguments[2]) {\n+ if (arguments[2].hasOwnProperty(attr) && attr != \"xmlns\") {\n+ b.setAttribute(attr, arguments[2][attr])\n+ }\n+ }\n+ }\n+ } else {\n+ b = this._createElement(d, a, c)\n+ }\n+ if (arguments[3]) {\n+ JSJaCBuilder._children(d, b, arguments[3], c)\n+ }\n+ return b\n+ },\n+ _createElement: function(e, a, d) {\n+ try {\n+ if (d) {\n+ return e.createElementNS(d, a)\n+ }\n+ } catch (b) {}\n+ var c = e.createElement(a);\n+ if (d) {\n+ c.setAttribute(\"xmlns\", d)\n+ }\n+ return c\n+ },\n+ _text: function(a, b) {\n+ return a.createTextNode(b)\n+ },\n+ _children: function(h, c, b, d) {\n+ if (typeof b == \"object\") {\n+ for (var a in b) {\n+ if (b.hasOwnProperty(a)) {\n+ var g = b[a];\n+ if (typeof g == \"object\") {\n+ if (g instanceof Array) {\n+ var f = JSJaCBuilder.buildNode(h, g[0], g[1], g[2], d);\n+ c.appendChild(f)\n+ } else {\n+ c.appendChild(g)\n+ }\n+ } else {\n+ if (JSJaCBuilder._isStringOrNumber(g)) {\n+ c.appendChild(JSJaCBuilder._text(h, g))\n+ }\n+ }\n+ }\n+ }\n+ } else {\n+ if (JSJaCBuilder._isStringOrNumber(b)) {\n+ c.appendChild(JSJaCBuilder._text(h, b))\n+ }\n+ }\n+ },\n+ _attributes: function(a) {\n+ var b = [];\n+ for (attribute in a) {\n+ if (a.hasOwnProperty(attribute)) {\n+ b.push(attribute + '=\"' + a[attribute].toString().htmlEnc() + '\"')\n+ }\n+ }\n+ return b.join(\" \")\n+ },\n+ _isStringOrNumber: function(a) {\n+ return (typeof a == \"string\" || typeof a == \"number\")\n+ }\n+};\n+var NS_DISCO_ITEMS = \"http://jabber.org/protocol/disco#items\";\n+var NS_DISCO_INFO = \"http://jabber.org/protocol/disco#info\";\n+var NS_VCARD = \"vcard-temp\";\n+var NS_AUTH = \"jabber:iq:auth\";\n+var NS_AUTH_ERROR = \"jabber:iq:auth:error\";\n+var NS_REGISTER = \"jabber:iq:register\";\n+var NS_SEARCH = \"jabber:iq:search\";\n+var NS_ROSTER = \"jabber:iq:roster\";\n+var NS_PRIVACY = \"jabber:iq:privacy\";\n+var NS_PRIVATE = \"jabber:iq:private\";\n+var NS_VERSION = \"jabber:iq:version\";\n+var NS_TIME = \"jabber:iq:time\";\n+var NS_LAST = \"jabber:iq:last\";\n+var NS_XDATA = \"jabber:x:data\";\n+var NS_IQDATA = \"jabber:iq:data\";\n+var NS_DELAY = \"jabber:x:delay\";\n+var NS_EXPIRE = \"jabber:x:expire\";\n+var NS_EVENT = \"jabber:x:event\";\n+var NS_XCONFERENCE = \"jabber:x:conference\";\n+var NS_STATS = \"http://jabber.org/protocol/stats\";\n+var NS_MUC = \"http://jabber.org/protocol/muc\";\n+var NS_MUC_USER = \"http://jabber.org/protocol/muc#user\";\n+var NS_MUC_ADMIN = \"http://jabber.org/protocol/muc#admin\";\n+var NS_MUC_OWNER = \"http://jabber.org/protocol/muc#owner\";\n+var NS_PUBSUB = \"http://jabber.org/protocol/pubsub\";\n+var NS_PUBSUB_EVENT = \"http://jabber.org/protocol/pubsub#event\";\n+var NS_PUBSUB_OWNER = \"http://jabber.org/protocol/pubsub#owner\";\n+var NS_PUBSUB_NMI = \"http://jabber.org/protocol/pubsub#node-meta-info\";\n+var NS_COMMANDS = \"http://jabber.org/protocol/commands\";\n+var NS_STREAM = \"http://etherx.jabber.org/streams\";\n+var NS_STANZAS = \"urn:ietf:params:xml:ns:xmpp-stanzas\";\n+var NS_STREAMS = \"urn:ietf:params:xml:ns:xmpp-streams\";\n+var NS_TLS = \"urn:ietf:params:xml:ns:xmpp-tls\";\n+var NS_SASL = \"urn:ietf:params:xml:ns:xmpp-sasl\";\n+var NS_SESSION = \"urn:ietf:params:xml:ns:xmpp-session\";\n+var NS_BIND = \"urn:ietf:params:xml:ns:xmpp-bind\";\n+var NS_FEATURE_IQAUTH = \"http://jabber.org/features/iq-auth\";\n+var NS_FEATURE_IQREGISTER = \"http://jabber.org/features/iq-register\";\n+var NS_FEATURE_COMPRESS = \"http://jabber.org/features/compress\";\n+var NS_COMPRESS = \"http://jabber.org/protocol/compress\";\n+\n+function STANZA_ERROR(c, b, a) {\n+ if (window == this) {\n+ return new STANZA_ERROR(c, b, a)\n+ }\n+ this.code = c;\n+ this.type = b;\n+ this.cond = a\n+}\n+var ERR_BAD_REQUEST = STANZA_ERROR(\"400\", \"modify\", \"bad-request\");\n+var ERR_CONFLICT = STANZA_ERROR(\"409\", \"cancel\", \"conflict\");\n+var ERR_FEATURE_NOT_IMPLEMENTED = STANZA_ERROR(\"501\", \"cancel\", \"feature-not-implemented\");\n+var ERR_FORBIDDEN = STANZA_ERROR(\"403\", \"auth\", \"forbidden\");\n+var ERR_GONE = STANZA_ERROR(\"302\", \"modify\", \"gone\");\n+var ERR_INTERNAL_SERVER_ERROR = STANZA_ERROR(\"500\", \"wait\", \"internal-server-error\");\n+var ERR_ITEM_NOT_FOUND = STANZA_ERROR(\"404\", \"cancel\", \"item-not-found\");\n+var ERR_JID_MALFORMED = STANZA_ERROR(\"400\", \"modify\", \"jid-malformed\");\n+var ERR_NOT_ACCEPTABLE = STANZA_ERROR(\"406\", \"modify\", \"not-acceptable\");\n+var ERR_NOT_ALLOWED = STANZA_ERROR(\"405\", \"cancel\", \"not-allowed\");\n+var ERR_NOT_AUTHORIZED = STANZA_ERROR(\"401\", \"auth\", \"not-authorized\");\n+var ERR_PAYMENT_REQUIRED = STANZA_ERROR(\"402\", \"auth\", \"payment-required\");\n+var ERR_RECIPIENT_UNAVAILABLE = STANZA_ERROR(\"404\", \"wait\", \"recipient-unavailable\");\n+var ERR_REDIRECT = STANZA_ERROR(\"302\", \"modify\", \"redirect\");\n+var ERR_REGISTRATION_REQUIRED = STANZA_ERROR(\"407\", \"auth\", \"registration-required\");\n+var ERR_REMOTE_SERVER_NOT_FOUND = STANZA_ERROR(\"404\", \"cancel\", \"remote-server-not-found\");\n+var ERR_REMOTE_SERVER_TIMEOUT = STANZA_ERROR(\"504\", \"wait\", \"remote-server-timeout\");\n+var ERR_RESOURCE_CONSTRAINT = STANZA_ERROR(\"500\", \"wait\", \"resource-constraint\");\n+var ERR_SERVICE_UNAVAILABLE = STANZA_ERROR(\"503\", \"cancel\", \"service-unavailable\");\n+var ERR_SUBSCRIPTION_REQUIRED = STANZA_ERROR(\"407\", \"auth\", \"subscription-required\");\n+var ERR_UNEXPECTED_REQUEST = STANZA_ERROR(\"400\", \"wait\", \"unexpected-request\");\n+\n+function JSJaCConsoleLogger(a) {\n+ this.level = a || 4;\n+ this.start = function() {};\n+ this.log = function(c, d) {\n+ d = d || 0;\n+ if (d > this.level) {\n+ return\n+ }\n+ if (typeof(console) == \"undefined\") {\n+ return\n+ }\n+ try {\n+ switch (d) {\n+ case 0:\n+ console.warn(c);\n+ break;\n+ case 1:\n+ console.error(c);\n+ break;\n+ case 2:\n+ console.info(c);\n+ break;\n+ case 4:\n+ console.debug(c);\n+ break;\n+ default:\n+ console.log(c);\n+ break\n+ }\n+ } catch (b) {\n+ try {\n+ console.log(c)\n+ } catch (b) {}\n+ }\n+ };\n+ this.setLevel = function(b) {\n+ this.level = b;\n+ return this\n+ };\n+ this.getLevel = function() {\n+ return this.level\n+ }\n+}\n+\n+function JSJaCCookie(a, d, b, c, e) {\n+ if (window == this) {\n+ return new JSJaCCookie(a, d, b, c, e)\n+ }\n+ this.name = a;\n+ this.value = d;\n+ this.secs = b;\n+ this.domain = c;\n+ this.path = e;\n+ this.write = function() {\n+ if (this.secs) {\n+ var g = new Date();\n+ g.setTime(g.getTime() + (this.secs * 1000));\n+ var f = \"; expires=\" + g.toGMTString()\n+ } else {\n+ var f = \"\"\n+ }\n+ var h = this.domain ? \"; domain=\" + this.domain : \"\";\n+ var i = this.path ? \"; path=\" + this.path : \"; path=/\";\n+ document.cookie = this.getName() + \"=\" + JSJaCCookie._escape(this.getValue()) + f + h + i\n+ };\n+ this.erase = function() {\n+ var f = new JSJaCCookie(this.getName(), \"\", -1);\n+ f.write()\n+ };\n+ this.getName = function() {\n+ return this.name\n+ };\n+ this.setName = function(f) {\n+ this.name = f;\n+ return this\n+ };\n+ this.getValue = function() {\n+ return this.value\n+ };\n+ this.setValue = function(f) {\n+ this.value = f;\n+ return this\n+ };\n+ this.setDomain = function(f) {\n+ this.domain = f;\n+ return this\n+ };\n+ this.setPath = function(f) {\n+ this.path = f;\n+ return this\n+ }\n+}\n+JSJaCCookie.read = function(b) {\n+ var e = b + \"=\";\n+ var a = document.cookie.split(\";\");\n+ for (var d = 0; d < a.length; d++) {\n+ var f = a[d];\n+ while (f.charAt(0) == \" \") {\n+ f = f.substring(1, f.length)\n+ }\n+ if (f.indexOf(e) == 0) {\n+ return new JSJaCCookie(b, JSJaCCookie._unescape(f.substring(e.length, f.length)))\n+ }\n+ }\n+ throw new JSJaCCookieException(\"Cookie not found\")\n+};\n+JSJaCCookie.get = function(a) {\n+ return JSJaCCookie.read(a).getValue()\n+};\n+JSJaCCookie.remove = function(a) {\n+ JSJaCCookie.read(a).erase()\n+};\n+JSJaCCookie._escape = function(a) {\n+ return a.replace(/;/g, \"%3AB\")\n+};\n+JSJaCCookie._unescape = function(a) {\n+ return a.replace(/%3AB/g, \";\")\n+};\n+\n+function JSJaCCookieException(a) {\n+ this.message = a;\n+ this.name = \"CookieException\"\n };\n"}]}, {"source1": "./usr/share/javascript/jsjac/jsjac.uncompressed.js", "source2": "./usr/share/javascript/jsjac/jsjac.uncompressed.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -5690,8 +5690,503 @@\n function cnonce(size) {\n var tab = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n var cnonce = '';\n for (var i = 0; i < size; i++) {\n cnonce += tab.charAt(Math.round(Math.random(new Date().getTime()) * (tab.length - 1)));\n }\n return cnonce;\n-}\n+}\n+/* Copyright (c) 2005-2007 Sam Stephenson\n+ *\n+ * Permission is hereby granted, free of charge, to any person\n+ * obtaining a copy of this software and associated documentation\n+ * files (the \"Software\"), to deal in the Software without\n+ * restriction, including without limitation the rights to use, copy,\n+ * modify, merge, publish, distribute, sublicense, and/or sell copies\n+ * of the Software, and to permit persons to whom the Software is\n+ * furnished to do so, subject to the following conditions:\n+ *\n+ * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n+ * SOFTWARE.\n+ */\n+\n+/*\n+ json.js\n+ taken from prototype.js, made static\n+*/\n+function JSJaCJSON() {}\n+JSJaCJSON.toString = function(obj) {\n+ var m = {\n+ '\\b': '\\\\b',\n+ '\\t': '\\\\t',\n+ '\\n': '\\\\n',\n+ '\\f': '\\\\f',\n+ '\\r': '\\\\r',\n+ '\"': '\\\\\"',\n+ '\\\\': '\\\\\\\\'\n+ },\n+ s = {\n+ array: function(x) {\n+ var a = ['['],\n+ b, f, i, l = x.length,\n+ v;\n+ for (i = 0; i < l; i += 1) {\n+ v = x[i];\n+ f = s[typeof v];\n+ if (f) {\n+ try {\n+ v = f(v);\n+ if (typeof v == 'string') {\n+ if (b) {\n+ a[a.length] = ',';\n+ }\n+ a[a.length] = v;\n+ b = true;\n+ }\n+ } catch (e) {}\n+ }\n+ }\n+ a[a.length] = ']';\n+ return a.join('');\n+ },\n+ 'boolean': function(x) {\n+ return String(x);\n+ },\n+ 'null': function(x) {\n+ return \"null\";\n+ },\n+ number: function(x) {\n+ return isFinite(x) ? String(x) : 'null';\n+ },\n+ object: function(x) {\n+ if (x) {\n+ if (x instanceof Array) {\n+ return s.array(x);\n+ }\n+ var a = ['{'],\n+ b, f, i, v;\n+ for (i in x) {\n+ if (x.hasOwnProperty(i)) {\n+ v = x[i];\n+ f = s[typeof v];\n+ if (f) {\n+ try {\n+ v = f(v);\n+ if (typeof v == 'string') {\n+ if (b) {\n+ a[a.length] = ',';\n+ }\n+ a.push(s.string(i), ':', v);\n+ b = true;\n+ }\n+ } catch (e) {}\n+ }\n+ }\n+ }\n+\n+ a[a.length] = '}';\n+ return a.join('');\n+ }\n+ return 'null';\n+ },\n+ string: function(x) {\n+ if (/[\"\\\\\\x00-\\x1f]/.test(x)) {\n+ x = x.replace(/([\\x00-\\x1f\\\\\"])/g, function(a, b) {\n+ var c = m[b];\n+ if (c) {\n+ return c;\n+ }\n+ c = b.charCodeAt();\n+ return '\\\\u00' +\n+ Math.floor(c / 16).toString(16) +\n+ (c % 16).toString(16);\n+ });\n+ }\n+ return '\"' + x + '\"';\n+ }\n+ };\n+\n+ switch (typeof(obj)) {\n+ case 'object':\n+ return s.object(obj);\n+ case 'array':\n+ return s.array(obj);\n+\n+ }\n+};\n+\n+JSJaCJSON.parse = function(str) {\n+ try {\n+ return !(/[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]/.test(\n+ str.replace(/\"(\\\\.|[^\"\\\\])*\"/g, ''))) &&\n+ eval('(' + str + ')');\n+ } catch (e) {\n+ return false;\n+ }\n+};\n+\n+/* Copyright 2006 Erik Arvidsson\n+ *\n+ * Licensed under the Apache License, Version 2.0 (the \"License\"); you\n+ * may not use this file except in compliance with the License. You\n+ * may obtain a copy of the License at\n+ *\n+ * http://www.apache.org/licenses/LICENSE-2.0\n+ *\n+ * Unless required by applicable law or agreed to in writing, software\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n+ * implied. See the License for the specific language governing\n+ * permissions and limitations under the License.\n+ */\n+\n+/**\n+ * @fileoverview Wrapper to make working with XmlHttpRequest and the\n+ * DOM more convenient (cross browser compliance).\n+ * this code is taken from\n+ * http://webfx.eae.net/dhtml/xmlextras/xmlextras.html\n+ * @author Stefan Strigler steve@zeank.in-berlin.de\n+ * @version $Revision$\n+ */\n+\n+/**\n+ * XmlHttp factory\n+ * @private\n+ */\n+function XmlHttp() {}\n+\n+/**\n+ * creates a cross browser compliant XmlHttpRequest object\n+ */\n+XmlHttp.create = function() {\n+ try {\n+ if (window.XMLHttpRequest) {\n+ var req = new XMLHttpRequest();\n+\n+ // some versions of Moz do not support the readyState property\n+ // and the onreadystate event so we patch it!\n+ if (req.readyState == null) {\n+ req.readyState = 1;\n+ req.addEventListener(\"load\", function() {\n+ req.readyState = 4;\n+ if (typeof req.onreadystatechange == \"function\")\n+ req.onreadystatechange();\n+ }, false);\n+ }\n+\n+ return req;\n+ }\n+ if (window.ActiveXObject) {\n+ return new ActiveXObject(XmlHttp.getPrefix() + \".XmlHttp\");\n+ }\n+ } catch (ex) {}\n+ // fell through\n+ throw new Error(\"Your browser does not support XmlHttp objects\");\n+};\n+\n+/**\n+ * used to find the Automation server name\n+ * @private\n+ */\n+XmlHttp.getPrefix = function() {\n+ if (XmlHttp.prefix) // I know what you did last summer\n+ return XmlHttp.prefix;\n+\n+ var prefixes = [\"MSXML2\", \"Microsoft\", \"MSXML\", \"MSXML3\"];\n+ var o;\n+ for (var i = 0; i < prefixes.length; i++) {\n+ try {\n+ // try to create the objects\n+ o = new ActiveXObject(prefixes[i] + \".XmlHttp\");\n+ return XmlHttp.prefix = prefixes[i];\n+ } catch (ex) {};\n+ }\n+\n+ throw new Error(\"Could not find an installed XML parser\");\n+};\n+\n+\n+/**\n+ * XmlDocument factory\n+ * @private\n+ */\n+function XmlDocument() {}\n+\n+XmlDocument.create = function(name, ns) {\n+ name = name || 'foo';\n+ ns = ns || '';\n+\n+ try {\n+ var doc;\n+ // DOM2\n+ if (document.implementation && document.implementation.createDocument) {\n+ doc = document.implementation.createDocument(ns, name, null);\n+ // some versions of Moz do not support the readyState property\n+ // and the onreadystate event so we patch it!\n+ if (doc.readyState == null) {\n+ doc.readyState = 1;\n+ doc.addEventListener(\"load\", function() {\n+ doc.readyState = 4;\n+ if (typeof doc.onreadystatechange == \"function\")\n+ doc.onreadystatechange();\n+ }, false);\n+ }\n+ } else if (window.ActiveXObject) {\n+ doc = new ActiveXObject(XmlDocument.getPrefix() + \".DomDocument\");\n+ }\n+\n+ if (!doc.documentElement || doc.documentElement.tagName != name ||\n+ (doc.documentElement.namespaceURI &&\n+ doc.documentElement.namespaceURI != ns)) {\n+ try {\n+ if (ns != '')\n+ doc.appendChild(doc.createElement(name)).\n+ setAttribute('xmlns', ns);\n+ else\n+ doc.appendChild(doc.createElement(name));\n+ } catch (dex) {\n+ doc = document.implementation.createDocument(ns, name, null);\n+\n+ if (doc.documentElement == null)\n+ doc.appendChild(doc.createElement(name));\n+\n+ // fix buggy opera 8.5x\n+ if (ns != '' &&\n+ doc.documentElement.getAttribute('xmlns') != ns) {\n+ doc.documentElement.setAttribute('xmlns', ns);\n+ }\n+ }\n+ }\n+\n+ return doc;\n+ } catch (ex) {}\n+ throw new Error(\"Your browser does not support XmlDocument objects\");\n+};\n+\n+/**\n+ * used to find the Automation server name\n+ * @private\n+ */\n+XmlDocument.getPrefix = function() {\n+ if (XmlDocument.prefix)\n+ return XmlDocument.prefix;\n+\n+ var prefixes = [\"MSXML2\", \"Microsoft\", \"MSXML\", \"MSXML3\"];\n+ var o;\n+ for (var i = 0; i < prefixes.length; i++) {\n+ try {\n+ // try to create the objects\n+ o = new ActiveXObject(prefixes[i] + \".DomDocument\");\n+ return XmlDocument.prefix = prefixes[i];\n+ } catch (ex) {};\n+ }\n+\n+ throw new Error(\"Could not find an installed XML parser\");\n+};\n+\n+\n+// Create the loadXML method\n+if (typeof(Document) != 'undefined' && window.DOMParser) {\n+\n+ /**\n+ * XMLDocument did not extend the Document interface in some\n+ * versions of Mozilla.\n+ * @private\n+ */\n+ Document.prototype.loadXML = function(s) {\n+\n+ // parse the string to a new doc\n+ var doc2 = (new DOMParser()).parseFromString(s, \"text/xml\");\n+\n+ // remove all initial children\n+ while (this.hasChildNodes())\n+ this.removeChild(this.lastChild);\n+\n+ // insert and import nodes\n+ for (var i = 0; i < doc2.childNodes.length; i++) {\n+ this.appendChild(this.importNode(doc2.childNodes[i], true));\n+ }\n+ };\n+}\n+\n+// Create xml getter for Mozilla\n+if (window.XMLSerializer &&\n+ window.Node && Node.prototype && Node.prototype.__defineGetter__) {\n+\n+ /**\n+ * xml getter\n+ *\n+ * This serializes the DOM tree to an XML String\n+ *\n+ * Usage: var sXml = oNode.xml\n+ * @deprecated\n+ * @private\n+ */\n+ // XMLDocument did not extend the Document interface in some versions\n+ // of Mozilla. Extend both!\n+ XMLDocument.prototype.__defineGetter__(\"xml\", function() {\n+ return (new XMLSerializer()).serializeToString(this);\n+ });\n+ /**\n+ * xml getter\n+ *\n+ * This serializes the DOM tree to an XML String\n+ *\n+ * Usage: var sXml = oNode.xml\n+ * @deprecated\n+ * @private\n+ */\n+ Document.prototype.__defineGetter__(\"xml\", function() {\n+ return (new XMLSerializer()).serializeToString(this);\n+ });\n+\n+ /**\n+ * xml getter\n+ *\n+ * This serializes the DOM tree to an XML String\n+ *\n+ * Usage: var sXml = oNode.xml\n+ * @deprecated\n+ * @private\n+ */\n+ Node.prototype.__defineGetter__(\"xml\", function() {\n+ return (new XMLSerializer()).serializeToString(this);\n+ });\n+}\n+/* Copyright (c) 2005 Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us)\n+ *\n+ * Permission is hereby granted, free of charge, to any person\n+ * obtaining a copy of this software and associated documentation\n+ * files (the \"Software\"), to deal in the Software without\n+ * restriction, including without limitation the rights to use, copy,\n+ * modify, merge, publish, distribute, sublicense, and/or sell copies\n+ * of the Software, and to permit persons to whom the Software is\n+ * furnished to do so, subject to the following conditions:\n+ *\n+ * The above copyright notice and this permission notice shall be\n+ * included in all copies or substantial portions of the Software.\n+ *\n+ * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS\n+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n+ * SOFTWARE.\n+ */\n+\n+/**\n+ * @private\n+ * This code is taken from {@link\n+ * http://wiki.script.aculo.us/scriptaculous/show/Builder\n+ * script.aculo.us' Dom Builder} and has been modified to suit our\n+ * needs.
\n+ * The original parts of the code do have the following\n+ * copyright and license notice:
\n+ * Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us,\n+ * http://mir.acu lo.us)
\n+ * script.aculo.us is freely distributable under the terms of an\n+ * MIT-style license.
\n+ * For details, see the script.aculo.us web site:\n+ * http://script.aculo.us/
\n+ */\n+var JSJaCBuilder = {\n+ /**\n+ * @private\n+ */\n+ buildNode: function(doc, elementName) {\n+\n+ var element, ns = arguments[4];\n+\n+ // attributes (or text)\n+ if (arguments[2])\n+ if (JSJaCBuilder._isStringOrNumber(arguments[2]) ||\n+ (arguments[2] instanceof Array)) {\n+ element = this._createElement(doc, elementName, ns);\n+ JSJaCBuilder._children(doc, element, arguments[2]);\n+ } else {\n+ ns = arguments[2]['xmlns'] || ns;\n+ element = this._createElement(doc, elementName, ns);\n+ for (attr in arguments[2]) {\n+ if (arguments[2].hasOwnProperty(attr) && attr != 'xmlns')\n+ element.setAttribute(attr, arguments[2][attr]);\n+ }\n+ }\n+ else\n+ element = this._createElement(doc, elementName, ns);\n+ // text, or array of children\n+ if (arguments[3])\n+ JSJaCBuilder._children(doc, element, arguments[3], ns);\n+\n+ return element;\n+ },\n+\n+ _createElement: function(doc, elementName, ns) {\n+ try {\n+ if (ns)\n+ return doc.createElementNS(ns, elementName);\n+ } catch (ex) {}\n+\n+ var el = doc.createElement(elementName);\n+\n+ if (ns)\n+ el.setAttribute(\"xmlns\", ns);\n+\n+ return el;\n+ },\n+\n+ /**\n+ * @private\n+ */\n+ _text: function(doc, text) {\n+ return doc.createTextNode(text);\n+ },\n+\n+ /**\n+ * @private\n+ */\n+ _children: function(doc, element, children, ns) {\n+ if (typeof children == 'object') { // array can hold nodes and text\n+ for (var i in children) {\n+ if (children.hasOwnProperty(i)) {\n+ var e = children[i];\n+ if (typeof e == 'object') {\n+ if (e instanceof Array) {\n+ var node = JSJaCBuilder.buildNode(doc, e[0], e[1], e[2], ns);\n+ element.appendChild(node);\n+ } else {\n+ element.appendChild(e);\n+ }\n+ } else {\n+ if (JSJaCBuilder._isStringOrNumber(e)) {\n+ element.appendChild(JSJaCBuilder._text(doc, e));\n+ }\n+ }\n+ }\n+ }\n+ } else {\n+ if (JSJaCBuilder._isStringOrNumber(children)) {\n+ element.appendChild(JSJaCBuilder._text(doc, children));\n+ }\n+ }\n+ },\n+\n+ _attributes: function(attributes) {\n+ var attrs = [];\n+ for (attribute in attributes)\n+ if (attributes.hasOwnProperty(attribute))\n+ attrs.push(attribute +\n+ '=\"' + attributes[attribute].toString().htmlEnc() + '\"');\n+ return attrs.join(\" \");\n+ },\n+\n+ _isStringOrNumber: function(param) {\n+ return (typeof param == 'string' || typeof param == 'number');\n+ }\n+};\n"}]}]}]}]}]}